“百度杯”CTF比赛 2017 二月场 _题目名称:爆破-2_WriteUp


打开网站

代码审计

<?php
include "flag.php";
$a = @$_REQUEST['hello']; //获取hello参数值
eval( "var_dump($a);"); //获取变量值
show_source(__FILE__);

解题

拼接技巧
(1)该题就是通过url的参数值来获得flag.php中的flag值。怎么获得呢?如果直接输入flag.php会被当成字符串执行,没有任何意义,我们读取需要flag.php文件里面的内容。所以可以使用file()、file_get_contents()函数,提前把flag.php读入一个数组或者字符串,然后在通过var_dump()函数把变量输出,但是输出的内容就是flag.php文件里面的内容。
(2)还有一种方法就是拼接字符串。);show_source('flag.php' 把var_dump()拆分成三个函数即可。

payload

http://xxxxx/?hello=);show_source('flag.php'