知识点:
默认nginx日志路径:/var/log/nginx/access.log和 /var/log/nginx/error.log
默认Apache日志路径:/var/log/apache/access.log
日志文件中的代码会被执行,而不是显示。所以我们在UA里面注入一句话木马后,在日志文件中没看到有显示,是因为一句话木马被执行了。如果想要确认,可以先尝试写<?php system('ls')?>,就能看到执行的内容。
日志文件会保存网站的访问记录,比如HTTP请求行,User-Agent,Referer等客户端信息,如果在HTTP请求中插入恶意代码,那么恶意代码就会保存到日志文件中,访问日志文件的时候,日志文件中的恶意代码就会执行,从而造成任意代码执行甚至获取shell。
不过前提是服务器需要开启了记录日志的功能才可以利用这个漏洞
1.查看题目,include函数说明可能是文件包含漏洞
2.同web3一样先使用php伪协议,php://input 发现会被过滤掉,换成PHp这种不行,应该被过滤掉了,所以使用别的方法考虑。
3.抓包发现是nginx服务器,想到通过写入日志文件来得到flag。(Apache日志文件同样适用)
4.发现日志文件中会将User-Agent的内容都写入进去,于是尝试在UA段里写入一句话木马。
5.使用蚁剑工具进行连接,寻找flag