一.利用前提:
(1)存在一个文件包含漏洞点
(2)我们有其他可控点可以写入到本地文件
(3)写入的本地文件路径可知或可预测
二.包含web日志
前提通过信息搜集,得到了相关的服务器信息,比如得知中间件是apache。
apache记录web日志的文件有access.log和error.log
nginx:/usr/local/nginx/logs
这时候我们访问服务器的时候,通过burp修改我们的请求,将恶意代码写在请求内,这时候web日志就会将
我们的恶意代码写入到日志文件中。由于日志文件一般来说都有默认的路径,比较容易猜测,这样就满足了
我们本地包含getshell的条件。
比如get请求 get"<?php phpinfo(); ?>".html
三.包含登录日志
如果发现一个Linux系统,开放了22端口,同时存在文件包含漏洞。那么我们可以构造恶意登录在ssh登录
日志中写入恶意代码。
Linux默认登录日志路径:/var/log/auth.log或 /var/log/secure
使用xshell或ssh命令进行ssh登录:ssh"<?php phpinfo(); ? >"@192.168.112.188,此时,登录日志中将出
现php代码。
如果MySQL开放远程登录,我们也同样可以登录MySQL并包含MySQL日志:mysql -u"<?php phpinfo(); ?>
-p -h 192.168.19.130
在Linux上开启MySQL日志:
find / -name my.cni
vim /opt/lampp/etc/my.cnf
标签:文件,15,包含,登录,漏洞,ssh,日志,log From: https://www.cnblogs.com/eveplw/p/16613007.html