IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    万众电子期刊在线阅读系统ASP版本getshell

    没穿底裤发表于 2016-06-25 02:50:19
    love 0

    最近在看一套信息分类系统。看了好久毫无头绪,结果意外的发现了他们使用了万众电子期刊ASP版本。于是找来源码看了下。意外的发现了sql注入以及集合IIS6的getshell
    1.sql注入

    '登录验证
    sub login
    	username=request.form("username")
    	password=request.form("password")
    	
    	if username=""or password="" then
    		response.write"<script>alert('账号和密码不能为空!');</script>"
    	else
    		set rs=server.createobject("adodb.recordset")
    		sql="select * from W_user where W_user_name='"&username&"' and W_user_password='"&md5(password)&"'"
    		rs.open sql,conn,1,1
    		if rs.eof then
    		response.write"<script>alert('用户名或密码错误!');</script>"
    		else
    		Session("login_user_name")=username
    		Session("login_user_password")=md5(password)
    		response.write"<script>location.href = 'index.asp'</script>"
    		end if
    	end if	
    end sub

    很明显的

    sql="select * from W_user where W_user_name='"&username&"' and W_user_password='"&md5(password)&"'"

    直接就admin’or’=’or’就可以万能密码登录了
    1

    2.getshell 需要结合解析来进行

    <%
    	response.charset = "GBK"
    	dim picdir
    	picdir = request.querystring("picdir")
    	
    	if request.querystring("menu") = "up" then
    		
    		dim fileup,formpath,file,filename
    		
    		picdir2 = request.querystring("picdir") 
    		
    	
    		'当点击了上传之后,执行上传操作
    		set fileup=new Upload_file  '实例化一个类 fileup就是一个对象 
    		fileup.GetDate(-1)   '
    		formpath="upload/" & picdir2 & "/" '上传的路径
    		
    		Set fs = Server.CreateObject("Scripting.FileSystemObject")
    		If not fs.FolderExists(server.mappath(formpath)) Then
    			fs.CreateFolder(server.mappath(formpath))
    		End If
    		
    		set file=fileup.file("file")  '创建一个file对象,通过上面一个对象的file方法传入一个"file"参数
    		 '这个方法能够返回你上传文件的后缀
    		
    		'只允许上传指定的图片文件
    		
    		if file.fileext <> "jpg" and file.fileext <> "gif" and file.fileext <> "png" and file.fileext <> "jpeg" then
    			response.write "<script>alert('图片类型必须是jpg,gif,png这三种');window.close();</script>"	
    			response.end
    		end if 
    		
    		
    		'建立一个完整的路径  
    		filename = formpath & year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now) & "." & file.fileext 
    		file.savetofile server.mappath(filename)
    
    		set file = nothing
    		set fileup = nothing
    		
    		
    		response.write "<script>a('"&filename&"');</script>"
    		response.write "<script>alert('图片上传成功');window.close();</script>"	
    		
    	else
    %>
    <div class="upfile">
    <form enctype="multipart/form-data" method="post" action="?menu=up&amp;picdir=<%=picdir%>">
    	<input type="file" name="file" size="30">
    	<input type="submit" value="上 传 " />
    </form>
    </div>
    <%
    	end if
    %>

    很明显,我稍微处理下

    picdir = request.querystring("picdir")  获取dir
    '当点击了上传之后,执行上传操作
    set fileup=new Upload_file  '实例化一个类 fileup就是一个对象 
    fileup.GetDate(-1)   '
    formpath="upload/" & picdir2 & "/" '上传的路径
    
    Set fs = Server.CreateObject("Scripting.FileSystemObject")
    If not fs.FolderExists(server.mappath(formpath)) Then
       fs.CreateFolder(server.mappath(formpath))
    End If
    		
    set file=fileup.file("file")  '创建一个file对象,通过上面一个对象的file方法传入一个"file"参数
    '这个方法能够返回你上传文件的后缀

    如果我传入的picdir=1.ASP;.JPG那么不是就生成了这个目录。然后随便传入图片马儿就可以getshell了

    11



沪ICP备19023445号-2号
友情链接