您的位置:首页 > 其它

检测某账户对默认权限目录是否可写的脚本

2005-04-06 18:26 246 查看
检测某账户对默认权限目录是否可写的脚本
文章作者:无敌最寂寞[E.S.T]
在web入侵后,经常会寻找一个可写目录上传webshell或者其它东西,这是一个关键的问题.大部分管理员对一些系统目录做了权限的更改设置,但是有很少管理员会对所有的目录都更改权限的(好麻烦的工作,至少我不会).那么如何确定一个账户的默认权限对哪些目录居然可以写权限呢?黑病毒兄在文章中估计是手工尝试的吧?
其实当我们装好一个系统后,系统盘下的每个文件夹都具有了默认权限.那么如何来检测哪个账户对这些文件夹具有什么样的权限呢?我们就可以尝试往系统盘下的每个目录都写入一个文件,如果成功就说明这个账户在默认权限下具有对某个目录的可写权限.手工尝试费时费力,用下面的脚本我们就可以轻松实现了:

这是个批处理文件,写得简陋了点.内容如下:
@Echo find writable diretory by 无敌最寂寞@EST
@Echo Now search root directiory is %1
@echo off
for /D %%i IN (%1/*.*) do echo aaa > %%i/superlone.txt
for /D %%j IN (%1/*.*) do if EXIST %%j/superlone.txt echo %%j is writable
for /D %%k IN (%1/*.*) do if EXIST %%k/superlone.txt del "%%k/superlone.txt"
很简单的代码,把它存成.bat或者.cmd为后缀的批处理文件,然后如下操作:

1.假设你想测试guest账户对c:/winnt目录下的所有子目录是否具有可写权限.首先用runas命令以guest账户身份启动一个cmd.命令如下:
runas /profile /user:guest cmd

2.在此cmd窗口下找到你保存的上面内容的批处理文件(我这里是scanwrite.cmd),然后这样输入:
scanwrite.cmd c:/winnt

输出结果如下:

C:/>scanwrite.cmd c:/winnt
find writable diretory by 无敌最寂寞@EST
Now search root directiory is c:/winnt
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
拒绝访问。
c:/winnt/Tasks is writable
c:/winnt/Tasks/superlone.txt
拒绝访问。

看到了吗?有一个c:/winnt/Tasks对于guest账户来说是可写的.是不是很简单?省了很大的麻烦.所以如果要测试web账户的就把guest换成IUSR_的账户,也能找到的.

就这么简单,一个小技巧而已.希望能对有些朋友有所帮助.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: