asp 之上傳漏洞終結篇
2024-05-04 11:01:43
供稿:網友
收藏關于上傳漏洞的文章,最近一直遇到這個麻煩,
作者: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做了很嚴格的過濾的話我們的這些理論就將宣告終結