4.php变量覆盖.2

1.题目
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
highlight_file(__FILE__);
include "flag.php";

$_403 = "拒绝访问";
$_200 = "欢迎~~~";

if ($_SERVER["REQUEST_METHOD"] != "POST")
die("sssssssspost…");

if ( !isset($_POST["flag"]) )
die($_403);

foreach ($_GET as $key => $value)
$$key = $$value;

foreach ($_POST as $key => $value)
$$key = $value;

if ( $_POST["flag"] !== $flag )
die($_403);

echo "This is your flag : ". $flag . "\n";
die($_200);

?>
2.过程

要求以POST方式访问,且要有flag输入……那最后打出的不就是我给的值?

第一个foreach遍历get提参,以键名、键值为变量名

第二个foreach遍历post提参,以键名为变量名,键值为变量值。

一开始想让$flag=$flag啥的,结果flag一定是会改变的……开始想有没有什么操作能让flag值不变

确实没想到利用_200&_403……害

image-20201127232400159

3.知识点

em,就是感觉思路开阔了

感受到自己的菜了……

作者

inanb

发布于

2020-11-27

更新于

2021-08-23

许可协议


:D 一言句子获取中...