赞
踩
JSON 字符串 :
JSON 中的字符串必须用双引号包围。
例如 {"ctf":"play"} 俩字符串用:隔开
JSON 数字 :
JSON 中的数字必须是整数或浮点数。
例如 {"ctf":100}
在 JSON 中,值必须是以下数据类型之一:字符串,数字,对象(json对象),数组,布尔,null
不可以为以下数据类型之一: 函数,日期,undefined
在PHP中 json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
代码
<?php` `$json = '{"ctfer":"sanmao","ctf":"misc","age":18,"bisai":14,"champion":5}';` `var_dump(json_decode($json));` `var_dump(json_decode($json, true));` `?>
实例演示
源代码
<?php highlight_file('index.php'); include("flag.php"); $id=$_POST['id']; $json=json_decode($_GET['json'],true); if ($id=="wllmNB"&&$json['x']=="wllm") {echo $flag;} ?>
本题需要进行一个post传参,一个get传参,post传参很简单,在Max HackBar或者在BP里传入 id=wllmNB
但是get传参则需要通过调用 PHP 内置函数 json_decode(),将字符串解析为一个关联数组,第二个参数 true 表示将解析结果以数组形式返回。最终将解析得到的数组赋值给变量 $json,可以在后续的代码中使用。
即构造 url+/?json={"x":"wllm"} 即上面所学json对字符串的值
即可得到flag
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。