摘要:近日施耐德电气爆出的漏洞,首先得到了一个本地包含,在这里作为靶目标使用。配置文件中获得了错误日志的路径,且关闭了访问日志。利用思路整理那么我们可以利用错误日志来构造合法的代码,从而利用包含漏洞。了解何时会向错误日志写入内容。
0前言
在WEB渗透测试中尤其是PHP,经常会挖到LFI漏洞,想要GETSHELL,但无奈没有文件上传的途径,这里给一个思路,抛砖引玉。
近日施耐德电气爆出的漏洞,首先得到了一个本地包含,在这里作为靶目标使用。
umotion/themes/schneider/include/css.php?css=../../../../../../../etc/nginx&theme=ivory&version=110281.1 得到nginx配置
通过文件包含,枚举得到nginx的配置文件。
/etc/nginx/nginx.conf
配置文件中获得了nginx错误日志的路径,且关闭了访问日志。
error_log /var/log/nginx_error.log; access_log off;1.2 利用思路整理
那么我们可以利用错误日志来构造合法的php代码,从而利用包含漏洞。
下面可以很直观想到的几个问题:
何时才会向nginx错误日志写入错误内容。
如何控制我们写入的内容。
如果遇到转义写入如何绕过。
目前知道的情况:
目标系统为nginx + FastCGI + php架构。
2.了解何时会向nginx错误日志写入内容。通过观察日志可以很容易发现,如果请求为404/403等异常错误码,或者FastCGI返回出错信息,均会记录到nginx错误日志中,
2017/06/15 17:27:37 [error] 23229#0: *29454 open() "/web/html/favicon.ico" failed (2: No such file or directory), client:3.控制我们写入的内容
可以很容易发现,我们的请求PATH会被写入到错误日志中(请求路径不存在)。且携带我们的IP信息,以及HTTP头部的referrer。那么我们就可以利用这两点来构造。
4.绕过转义这时候写入
我们构造
host/xx/?
如果通过webkit内核浏览器访问,webkit会自动转移,直接通过curl发送。
这里使用referrer来注入代码到错误日志中。还好nginx端没有进行任何转义,如果遇到转义则需要见机行事,构造可用payload。
最后成功写入向错误日志中注入php代码。
5.总结其实没什么技术含量,只是经常会遇到这种情况,包括各种日志,apache,nginx等。这里只提供一个思路。设置站点权限的时候,这些点可以关注下,包括读取日志得到敏感信息(后台,管理员信息等)。
本文永久地址[利用nginx日志结合本地包含漏洞GetShell],转载请注明出处。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/23096.html
摘要:近日施耐德电气爆出的漏洞,首先得到了一个本地包含,在这里作为靶目标使用。配置文件中获得了错误日志的路径,且关闭了访问日志。利用思路整理那么我们可以利用错误日志来构造合法的代码,从而利用包含漏洞。了解何时会向错误日志写入内容。 0前言 在WEB渗透测试中尤其是PHP,经常会挖到LFI漏洞,想要GETSHELL,但无奈没有文件上传的途径,这里给一个思路,抛砖引玉。 近日施耐德电气爆出的漏洞...
阅读 2601·2021-11-19 09:56
阅读 849·2021-09-24 10:25
阅读 1605·2021-09-09 09:34
阅读 2167·2021-09-09 09:33
阅读 1024·2019-08-30 15:54
阅读 508·2019-08-29 18:33
阅读 1232·2019-08-29 17:19
阅读 487·2019-08-29 14:19