基本信息

机翻
<?php: 这是 PHP 脚本的开始,它告诉服务器这行后面的内容需要用 PHP 解析器处理。highlight_file('index.php');: 这行代码调用highlight_file函数,该函数通常用于在 PHP 中高亮显示源代码。它将把 'index.php' 文件的内容读取进来并高亮显示。不过,需要注意的是,这个函数在 PHP 7.0 之后的版本中已经被弃用,且在 PHP 7.2 中已经被移除。include("flag.php");: 这行代码包含并执行名为 'flag.php' 的文件。这意味着 'flag.php' 文件中的代码现在也在当前脚本中运行。$id=$_POST['id'];: 这行代码从 HTTP POST 请求中获取名为 'id' 的参数,并将其值赋给变量$id。$json=json_decode($_GET['json'],true);: 这行代码从 HTTP GET 请求中获取名为 'json' 的参数,并将其值解码为 PHP 数组赋给变量$json。第二个参数true表示将 JSON 对象解码为关联数组。if ($id=="wllmNB"&&$json['x']=="wllm"): 这是一个条件语句,检查$id是否等于 "wllmNB" 并且$json数组中的 'x' 键的值是否等于 "wllm"。{echo $flag;}: 如果上面的条件满足,这行代码将输出变量$flag的值。由于在此脚本中没有定义$flag,我猜测它可能在 'flag.php' 文件中定义。?>: 这是 PHP 脚本的结束标记。
人话
-
$id 接收post请求
-
$post 接收get请求,key为json,value为一个json数据
-
当\$id=wllmNB和json数据key : x获取到wllm时输出flag
解题思路
方法一:使用hackbar

方法二:使用Python的request模块

注意点
json数据需要使用双引号引起来
jso = '{"x":"wllm"}' # 可以解析
# jso = "{'x':'wllm'}" # 无法解析




Comments 2 条评论
这是一条评论
好好好