解决读取IIS服务器绝对路径错误的方法


 by:superhei

  一段时间再看了臭要饭的《划时代脚本攻击》后感觉大受启发,从此对存储扩展产生了浓厚的兴趣。但是其中读取服务器web绝对路径一点我始终测试没有成功,只有在默认安装的时候才会正确读取。也就是说注册表里面存储的只是在安装IIS时的web绝对路径,而如果用户对这个路径进行修改的话,注册表内的值仍然是不变的。因此即使你把木马按照臭要饭的那种方法上传上去也是没有办法找到并执行的。为了解决这个问题我找到了一个非常有效的方法,自然也是通过数据库的存储扩展完成的,但是这个存储扩展是xp_cmdshell,因此使用的时候要注意用户的权限和存储扩展是否存在的问题。通过我的测试发现,如果用户对web绝对路径进行修改的话再注册表内是找不到任何键值与之对应的。由于测试是在windows 2000 advanced server中完成的,所以不敢保证2003中也是适用的。既然不能读取,那么我们就转换一种思路:自己定义一个虚拟目录,让他指向指定的目录就可以了。这样不久绕过了那个读取错误的问题了吗。具体做法如下首先执行SQL语句 exec master.dbo.xp_cmdshell 'cscript C:\Inetpub\AdminScripts\mkwebdir.vbs -c localhost -w "1" -v "win","c:\winnt\"' 这样就在默认的web服务器下面建立了一个虚拟目录win并且指向物理路径为C:\winnt\ 但是这时自定义的这个虚拟目录还没有执行动态脚本的权限,为了能够正常的访问将要上传的木马文件,需要把这个权限附上,执行的SQL语句为 exec master.dbo.xp_cmdshell 'cscript C:\Inetpub\AdminScripts/adsutil.vbs set w3svc/1/root/win/AccessExecute True' 好了,现在你就可以使用备份数据库或者使用sp_makewebtask存储扩展的方法上传木马文件了。不过别忘了,使用完木马之后要把刚刚建立的虚拟目录删除了,要不然管理员发现就不好了。需要执行的SQL语句为 exec master.dbo.xp_cmdshell 'cscript C:\Inetpub\AdminScripts/adsutil.vbs delete w3svc/1/root/win/' 其它的操作就不属于本文的讨论范围了,如有需要请参见其他的相关文章。

本文作者:



相关阅读:
Windows Server 2008升级考试出炉
微软宣布Windows 7和Windows 2008 R2上市时间表
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
基于jquery的监控数据是否发生改变
Windows注册表更加安全的设置技巧
Firefox window.close()的使用注意事项
有序列表和段落设计华丽的网页列表数字
CSS布局入门
IE对CSS样式表的限制分析与解决方案
使用Struts+Hibernate上传大对象(BLOB)(三)
获取星期几的名称
ASP.Net调试之三板斧:第三招
SQL Server连接中三个常见的错误分析
CSS 清除浮动Clear
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4