ctfshow-web4(文件包含&日志注入)

像web3那样使用php伪协议,回显error

ctfshow-web4(文件包含&日志注入)_第1张图片

看了看提示:日志注入 文件包含

ctfshow-web4(文件包含&日志注入)_第2张图片

使用Wappalyzer查看一下,使用的中间件是Ngnix

ctfshow-web4(文件包含&日志注入)_第3张图片

日志包含漏洞的成因还是服务器没有进行严格的过滤 ,导致用户可以进行任意文件读取,

但是前提是服务器需要开启了记录日志的功能才可以利用这个漏洞。

对于Apache,日志存放路径:/var/log/apache/access.log

对于Ngnix,日志存放路径:/var/log/nginx/access.log 和 /var/log/nginx/error.log

中间件的日志文件会保存网站的访问记录,比如HTTP请求行,User-Agent,Referer等客户端信息,如果在HTTP请求中插入恶意代码,那么恶意代码就会保存到日志文件中,访问日志文件的时候,日志文件中的恶意代码就会执行,从而造成任意代码执行甚至获取shell。

这里是中间件是Nginx:

Nginx中的日志分两种,一种是error.log,一种是access.log。error.log可以配置成任意级别,默认级别是error,用来记录Nginx运行期间的处理流程相关的信息;access.log指的是访问日志,用来记录服务器的接入信息(包括记录用户的IP、请求处理时间、浏览器信息等)。

我们尝试读取它的日志文件:

?url=/var/log/nginx/access.log

?url=/var/log/nginx/error.log

尝试读取Linux系统下的用户信息:

?url=/etc/passwd

ctfshow-web4(文件包含&日志注入)_第4张图片

从上面的日志信息可以看出是User-Agent的内容,这里我们在User-Agent里插入一句话木马

由于访问URL时,服务器会对其进行编码,所以我们通过使用burpsuite抓包来进行来注入

ctfshow-web4(文件包含&日志注入)_第5张图片

写入一句话木马之后,使用蚁剑尝试连接

连接url即为日志的地址:http://ec78819f-174d-4e26-82be-7cce55c08b05.challenge.ctf.show/?url=/var/log/nginx/access.log

连接成功

ctfshow-web4(文件包含&日志注入)_第6张图片

进入后台,找到flag

ctfshow-web4(文件包含&日志注入)_第7张图片

ctfshow-web4(文件包含&日志注入)_第8张图片ctfshow{8df69fe0-d37b-4231-a482-c3d93c89f43c}

你可能感兴趣的:(web,CTF,一句话木马,文件包含,web安全,日志注入)