【MoeCTF 2022】ezphp
Contents
[MoeCTF 2022]ezphp
思路
-
源码
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 27
<?php highlight_file('source.txt'); echo "<br><br>"; $flag = 'xxxxxxxx'; $giveme = 'can can need flag!'; $getout = 'No! flag.Try again. Come on!'; if(!isset($_GET['flag']) && !isset($_POST['flag'])){ exit($giveme); } if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){ exit($getout); } foreach ($_POST as $key => $value) { $$key = $value; } foreach ($_GET as $key => $value) { $$key = $$value; } echo 'the flag is : ' . $flag; ?>
-
如果要echo,那么不能exit。但是那么必须传flag(get或者post),并且传入flag不能等于"flag"
-
如果要
$flag
的值不会被更改,那就得提前**“储存”**flag
RCE
超级二选一:GET或POST传参都可
GET
|
|
POST
|
|
总结
- 存储flag