Loading

日志包含Getshell

日志包含Getshell

题目来自CTFSHOW WEB81

简介

如果网站存在文件包含漏洞,我们可以尝试包含中间件等的日志来帮助我们getshell

日志位置

既然要包含日志,那么就必须知道一些默认的日志存放路径

系统 服务器 可能的错误日志的位置
windows apache ./Apache/logs/error.log
windows nginx ./nginx/logs/error.log
linux apache /var/log/apache2/error.log
linux apache /var/log/httpd/error.log
linux apache /etc/httpd/logs/error.log
linux nginx /var/log/nginx

web中间件默认配置

通过读取这些默认配置来获取中间件的位置

apache+linux 默认配置文件

/etc/httpd/conf/httpd.conf

或者

/etc/init.d/httpd

IIS6.0+win2003 配置文件

C:/Windows/system32/inetsrv/metabase.xml 

IIS7.0+WIN 配置文件

C:\Windows\System32\inetsrv\config\applicationHost.config

利用

日志包含的原理

那么现在我们知道这些日志路径以后,该怎么利用呢?

首先,我们来看一下日志记录了些什么东西?

可以看到,他记录了包括:IP地址、访问的url、状态码、UA等等。于是我们可以修改里面的部分东西,让他记录上我们的恶意代码,这样的话我们再文件包含他就可以实现Getshell了。
我们来看看具体利用

利用过程

这里我准备在UA中插入恶意代码来实现Getshell,Burp抓包,修改UA:

<?php system('ls');?>

第二步,包含日志


可以看到已经执行了命令。

posted @ 2022-10-29 18:40  mi2ac1e  阅读(258)  评论(0编辑  收藏  举报