欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

简单分析一个上传漏洞的文件+修补(长葛视窗上传程序v1.0)

来源:本站转载 作者:佚名 时间:2009-09-19 TAG: 我要投稿

刚才那会无聊脑子发热竟然去弄一个XX站(别想歪了) 自己本来就菜 我找啊找啊 终于找到一个上传漏洞

心急的跑工具箱里找出放得要发霉的小马 恩 没错就上传个小马 呵呵 上传后出现的是文件类型非法

鼠标移到确定按钮上在状态栏下显示了一个2009311221027003863.asp 看文件代码也有 如下图:

不过没有路径 这个好办那 大牛的经验 开主页随便找张图片看看路径 搭配在一起访问就OK了 就这样

简单拿到WEBSHELL 好了(偶不搞破坏地) 进去WEBSHELL后把那几个上传文件下载来 写写点文章

以下代码是源文件的:

=====================================================================

<script language="Javascript">
function minipic(smileface)
{
window.opener.document.myform.pic.value=smileface;
window.close()
}

</script>
      <%
set upload=new upload_5xSoft
set file=upload.file("file1")
formPath="../UploadFiles/"
if file.filesize>1 then
if file.filesize>100000000000000000000000000000000000000 then
response.Write("上传的图片太大,请重新上传!")
else
fileExt=lcase(right(file.filename,3))
end if
if fileExt="asp" then                             '该死的傻逼写这句判断这里
Response.Write"文件类型非法"
end if                                                   '这里就结束了 根本就没什么用处
end if
randomize
ranNum=int(9000000*rnd)+10000
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
if file.FileSize>0 then                                               '这里只判断文件大于0就可以上传了
file.SaveAs Server.mappath(formPath&FileName)                
end if
response.write "<a href=Javascript:minipic('"&filename&"');>确定</a>"
%>
    </td>
</tr>
</table>
</body>

=====================================================================

很简单的分析看到 判断ASP类型的那个控制块都没什么用 就只打印出一句“文件类型非法”

真正判断是否上传文件就只是if file.FileSize>0 then这一句而已 其他的代码判断差不多都是多余的

下面附上我的修改方法 改的不好 看代码的朋友就将就了 毕竟偶也是个小菜 改法其实很多

遵循一个原则 把判断ASP文件类型的代码和执行上传文件的代码分别放在IF后面和ELSE后面就可以

=====================================================================

<body bgcolor="<%=bgcolor%>" leftmargin="0" topmargin="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
    <td align="center">
<script language="Javascript">
function minipic(smileface)
{
window.opener.document.myform.pic.value=smileface;
window.close()
}

</script>
<%
set upload=new upload_5xSoft
set file=upload.file("file1")
formPath="../UploadFiles/"
if file.filesize>1 then                  '图片大小大于1,否则不上传
if file.filesize>100000000000000000000000000000000000000 then    '图片大于100XXX不上传
response.Write("上传的图片太大,请重新上传!")
else
fileExt=lcase(right(file.filename,3))    '取要上传文件的后缀名
if fileExt="asp" then                    '判断上传文件类型是否为ASP
Response.Write"不能上传ASP类型的文件"    '上传为ASP类型提示不能上传
else                                          '否则就上传
randomize
ranNum=int(9000000*rnd)+10000
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
if file.FileSize>0 then                   '上传文件大小大于1
file.SaveAs Server.mappath(formPath&FileName)
response.write "<a href=Javascript:minipic('"&filename&"');>确定</a>"
end if                                    '图片大于1上传闭合
end if                                    '判断上传文件类型是否为ASP闭合
end if                                    '图片大于100XXX不上传闭合
end if                                    '图片大小大于1的闭合
%>
    </td>
</tr>
</table>
</body>

=====================================================================

就这么简单 搞定了 不明白的朋友看看注释就差不多明白了哈 因为IF ELSE控制结构嵌套多了谁都会晕

闪人睡觉去 汇编教程下载完了 有空又可以学习下汇编了 补充一下自己的破解基础 呵呵

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载