收藏關於上傳漏洞的文章,最近一直遇到這個麻煩,
作者: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
-------------------------------------------------------------------------
我們知道計算機裡面的數據是一"/0"為標致的用過C語言的都知道
chardata[]="bbs"
這個data數組長度是4:bbs/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做了很嚴格的過濾的話我們的這些理論就將宣告終結