LFI(本地包含)漏洞助手—Panoptic

2013-04-10 303552人围观 ,发现 12 个不明物体 工具

Panoptic是一个开源的渗透测试工具,它通过LFI漏洞自动检索内容的过程中,可以搜索常见的日志和配置文件。

渗透测试过程中,遇到一个的LFI漏洞却不能将其转换成一个像RFI这样容易利用的漏洞,当开始入侵测试时,你并不知道某大型数据库的配置文件、日志文件或其他重要文件的默认位置的。

出于这种情况Panoptic就此诞生了。以下将展示一些Panoptic的特性和功能:

依赖:

Python 2.6+(保险起见,2.6以下没试过)
Git (可选)

只需执行Panoptic.py脚本


如果你仔细看看上面的截图,您将注意到所有的基本功能展示

(GET / POST请求,socks4/5+ HTTP代理支持,随机(random-agent)、用户(user-agent)代理选择的所有基本功能,添加自定义header和cookie、etc等)。

Panoptic具有内置的启发式检测,在罕见的情况下,这可能会失败。在这种情况下,可以使用–bad-string参数来指定一个匹配HTML字符串响应文件。

如果Panoptic检测bad-string还在响应中,那么它会知道文件未找到。

被搜索到的文件路径都在cases.xml文件中每个文件的路径相关软件的软件类别、操作系统。分类取决于是否该文件是一个日志,配置文件或其他文件。

有了这些参数,可以过滤搜索,来寻找这些特定的文件: –os, –software, –category –type

./panoptic.py --url "http://localhost/lfi.php?file=x" --os "Windows" --software "WAMP" --type "log"

https://image.3001.net/uploads/image/20130410/20130410034228_62530.png

如果你想看到所有的选项,你可以使用 – list参数

./panoptic.py --list software

不仅会显示找到的文件路径,它可以对文件进行保存和写入( –write-file),每个文件的内容将被保存到output/<domain>/<file path>.txt,所以无需再次请求查看文件。

它还可以通过运行清理功能删除不需要的HTML输出。

https://image.3001.net/uploads/image/20130410/20130410034147_26118.png

有一个LFI漏洞将里面文件夹扩展名都是在最后增加。在这种情况下,我们可以使用—— –prefix –multiplier –postfix

<?php include("Library/Webserver/Documents/" . $_GET["file"] . ".php"); ?>

此漏洞的PHP代码是一个典型的例子,其中一个空字节必须终止在最后的文件扩展名包括而忽略。可以用下面的Panoptic命令满足以下要求:

./panoptic.py --url "http://localhost/lfi.php?file=x" --prefix "../" --multiplier 3 --postfix "%00"


附加功能:

一些人可能知道可以绕过过滤器,但是不能排除这种可能性,有一些请求是没有办法解除防火墙封锁。对此作者加入了–replace-slash参数

此参数可以任何你指定的文件路径替换所有的正斜杠。

./panoptic.py -u "http://localhost/lfi.php?file=x" --replace-slash "/././"

在这种情况下/etc/passwd将成为/././etc/././passwd

还可以利用包含在backtrack内的DotDotPwn工具来实现寻找绕过过滤深度确定的LFI路径遍历

它现在还可以解析* NIX passwd文件提取用户的主文件夹和搜索不同的常见文件的组合,例如:

.bash_config
.bash_history
.bash_logout
.ksh_history
.Xauthority

它还可以解析MySQL二进制日志索引(MySQL bin.index),它使用的二进制日志以获取列表。此功能在默认情况下被禁用。–skip-file-parsing


下载地址

发表评论

已有 12 条评论

取消
Loading...
css.php