收藏关于上传漏洞的文章,最近一直遇到这个麻烦, 
作者:szjwwwww      
出自:黑鹰基地论坛 
http://www.3800cc.com 
一、写在前面 
***这个上传漏洞利用的原理只是针对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表上传, 
用到的变量: 
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 
------------------------------------------------------------------------- 
我们知道计算机里面的数据是一"\0"为标致的用过C语言的都知道 
char data[]="bbs" 
这个data数组长度是4: b b s \0 
如果我们构造filepath如下,会怎么样呢? 
filepath="/newmm.asp\0" 
我们在2004.09.24.08.24传的文件就会发生变化 
没有改时: 
http://www.***.com/bbs/uploadface/200409240824.jpg 
用我们构造的filepath时: 
http://www.***.com/newmm.asp\0/200409240824.jpg 
这样当服务器接收filepath数据时,检测到newmm.asp后面的\0 
就理解为filepath的数据就结束了 
这样我们上传的文件,比如c:\1.asp 
就保存成: http://www.***.com/newmm.asp 
三、后期补充 
漏洞公布以后很多网站做了相应的处理,但是对于filepath的过滤和处理都不行 
有很多网站只是加了N个hiden属性的变量对付网上公布的upfile.exe就是那个 
上传漏洞利用工具或者filepath变量利用工具(老兵的)...但是最基本的没改啊。。 
而且很对网站的插件里有类似的漏洞,我要说的不要依赖哪些专门的工具  
自己改WSE抓到的包里的filepath变量,然后在用NC提交。。。 
就算他加N个hiden变量也于事无补。 
当然,如果对filepath做了很严格的过滤的话我们的这些理论就将宣告终结 
      
      
    asp 之上传漏洞终结篇
内容版权声明:除非注明,否则皆为本站原创文章。
