Cacls无需确认的正确写法

2008年8月09日 12:09 . 分类 网络相关 . 被踩 740 次 .

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

Cacls可以显示或修改任意访问控制列表 (DACL) 文件。

前几天在L.S.T的群里,有人问到这个问题,在Webshell或者注入的时候执行Cacls命令会提示“是否确定(Y/N)?”,因为我们无法输入“Y”来确认,所以我们就无法成功执行Cacls命令。记得以前有个方法是执行“echo Y|cacls C:\slyar\ /g everyone:F”这样的命令,运用管道来使得Cacls无需确认执行,但是今天试验后发现本地可以成功,而在Webshell里还是不成功。。。

在查看Cacls帮助后经过研究得出的结论是:

Cacls只加参数/G后执行会提示“是否确定(Y/N)?”, 因为我们在Webshell或者注入的时候里不能键入“Y”,因此不能成功执行。

Cacls加入参数 /E /G后不会出现提示而直接执行。所以我们直接执行带 /E /G 参数的Cacls命令就可以不经确认直接执行了。

但是这里有一个特殊情况:参数 /E 的作用是“编辑 ACL 而不替换”,而如果目标目录里已经包含了“everyone:R”的权限设置的话,那么执行命令后仍然是“everyone: R”。。。对于这种情况,我们首先要用 /D 参数把要赋权的用户拒绝访问目标目录,然后再进行赋权。

那么我们需要执行的命令依次是:

cacls C:\slyar\ /E /D everyone
cacls C:\slyar\ /E /G everyone:F

您可能还对以下内容感兴趣

收藏、分享这篇文章! 用 RSS feed 订阅本博客 什么是订阅? Trackback

评论

3 条评论 关于 “Cacls无需确认的正确写法”

  1. 由 匿名 发表于 2008年8月28日 11:18

    不知道

  2. 由 xxxx 发表于 2008年8月29日 12:07

    开玩笑。webshell用cacls

    Slyar 回复 于 08月 29th, 2008 12:50:

    很正常,有什么不对?

发表您的评论[审核后显示]




关闭
E-mail It