前言:
上传漏洞 上传漏洞的原理2010 05 01 23:11上传漏洞是一个非常恐怖的漏洞,如果你的程序里面有这种漏洞,那么恶意攻击者可以直接向你的服务器上传一个webshell 动网因为上传漏洞而成了洞网,自动网7暴出上传漏洞后,各种上传漏洞接踵而来。
二、大概步骤: 1.抓包 2.修改文件类型 3.上传路径后加上空格 4.用十六进制编辑器把空格改成00 5.用NC提交 PS:可利用工具直接提交
三、原理分析:
1. 我们对照DvBBS的UpFile.asp和Reg_upload.asp两个文件来说明(不一定要全部看懂,大概意思知道就行了)。
UpFile.asp文件为存在上传漏洞的文件。
Reg_upload.asp文件为我们在填上图工具时用到的参数,也就是说,UpFile.asp这个文件在执行时用到的参数都是来自Reg_upload.asp文件中表单所提交的内容! UpFile是通过生成一个Form表(在Reg_upload.asp文件中)来实现上传的。代码如下:
- <form name="form" method="post" action="UpFile.asp" ...> <input type="hidden" name="filepath" value="uploadFace"> <input type="hidden" name="act" value="upload"> <input type="file" name="file1"> <input type="hidden" name="fname"> <input type="submit" name="Submit" value="上传" ...></form>
PS:其中用到的变量如下:
FilePath:默认值是Uploadface,即上传后默认的存放目录,属性Hiden;
act: 默认值upload 属性hiden
File1:这就是我们要传的文件; 关键是 filepath 这个变量!
默认情况下我们的文件上传到www.exehack.net/bbs/uploadface/ 文件是用你的上传时间命名的,就是upfile里的这一句
- FileName=FormPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&FileExt
2. 我们知道计算机里面的数据是以”\0″为结束的 用过C语言的都知道 char data[]=”bbs” 这个data数组长度是4: b b s \0 如果我们构造filepath如下,会怎么样呢? filepath=”/exehack.asp\0″ 我们在2013.12.19.14.24传的文件就会发生变化
没有改时: http://www.chncto.com/bbs/uploadface/201312191424.jpg 用我们构造的filepath时: http://www.chncto.com/exehack.asp\0/201312191424.jpg 这样当服务器接收filepath数据时,检测到exehack.asp后面的\0 就理解为filepath的数据就结束了 这样我们上传的文件,比如E:\xiaoma.asp 就保存成: http://www.chncto.com/hack58.asp
3. 结合上面的代码,我们来填写上传工具:
提交地址(Action)中输入存在上传漏洞文件的URL: http://www.chncto.com/bbs/UpFile.asp
上传路径(UpPath)里第一个文本框中的FilePath即为表单中的FilePath,也就是上传路径,填上上传到对方服务器上的后门的名称/exehack.asp;
File里第一个文本框中的File1即是表单中的File1,等号后输入一个WEB程序允许上传的类型文本框中默认JPG就可以了(一般网站都允许上传JPG图片文件)
PS:不管这个文件是否存在
本地文件:后面填写所要在本机上传的木马路径
Cookies:填上我们用抓取数据包工具如WsockExpert抓取的Cookies值
PS:记住最好是你在系统中注册后的Cookies值。 |