[CTF问题] 小白 本地包含求解

[复制链接]
查看8991 | 回复5 | 2017-6-10 21:53:26 | 显示全部楼层 |阅读模式
本地包含中,读取flag.php源码,想利用“php://filter/convert.base64-encode/resource=”读取,不成功,看他人writeup使用的file(),不明白为什么php://filte不行?
谢谢~
回复

使用道具 举报

Harry | 2017-6-11 22:02:47 | 显示全部楼层
具体哪一个题
有人的地方就有江湖。
回复

使用道具 举报

phyllis725 | 2017-6-12 09:38:41 | 显示全部楼层

http://120.24.86.145:8003/
<?php
    include "flag.php";
    $a = @$_REQUEST['hello'];
    eval( "var_dump($a);");
    show_source(__FILE__);
?>
这一题
回复

使用道具 举报

Harry | 2017-6-14 16:07:58 | 显示全部楼层
有人的地方就有江湖。
回复

使用道具 举报

sccdlth | 2017-6-15 21:25:25 | 显示全部楼层
本帖最后由 sccdlth 于 2017-6-15 21:30 编辑

注意eval这一行,拆开来看:
1.eval(php代码)
2.php代码=var_dump($a)
3.$a=@$_request['hello']
4.$_request['hello']=?hello=此处是你的输入文本
简单地说,你输入的所有内容最终会被包含在var_dump()里然后被eval解析。
所以这里你可以使用php函数,你使用函数读flag.php文件到$a,然后var_dump()输出。
或者从结构上做这道题,假如$a=);xxxxxx,那么eval这一行的内容就是:
eval("var_dump();xxxxxxxxx);");
这里的xxxxxxx就可以是任意命令,比如xxx=show_source('flag.php');//
然后eval这一行就如下:
eval("var_dump();show_source('flag.php');//);");
结果就有了.

评分

参与人数 1银两 +2 收起 理由
NIceSpace + 2 赞一个!

查看全部评分

回复

使用道具 举报

phyllis725 | 2017-6-26 09:54:25 | 显示全部楼层
sccdlth 发表于 2017-6-15 21:25
注意eval这一行,拆开来看:
1.eval(php代码)
2.php代码=var_dump($a)

原来如此,谢谢解惑~
回复

使用道具 举报

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

本版积分规则

1

主题

4

帖子

33

积分

初入江湖

Rank: 2

积分
33