每日一题 —— [鹤城杯 2021]Middle magic¶
打开题目是一个 php 源代码,分为多个关卡。先看 level1。
可以看到,他把 level 给过滤成了 filter
,但是他用的是 preg_replace
,这个函数在不加入 /s
的标记符的情况下,只会匹配第一行。所以我们可以直接在开头加入一个换行符 %0a
, 注意结尾有一个 #
符号,所以也需要进行 urlencode 变成 %23
。
然后就来到了 level2, 可以看到要求两个参数不能相等,但是他们的 sha1
值是相等的,因为这玩意比起 md5 不太好碰撞,所以我们直接数组绕过:admin[]=1&root_pwd[]=2
。
最后一个 level3 要求我们进行 json_decode
之后的 result
属性为它自带的 $result
变量。但是我们并不知道他的 $result
变量。即使如此,我随便传了一个 level_3=1
也过关了,具体原因不清楚,可能和弱比较有关,也就是说,他的 $result
变量已经是一个类似于 null
这样的东西了。
最终 payload:
文章热度:0次阅读