题目目录
[HUBUCTF 2022 新生赛]checkin
1.打开题目链接,阅读php
2.看到username和password这两个变量的变化,构造数组进行序列化,得到flag
[SWPUCTF 2021 新生赛]pop
1.打开题目链接,阅读php
2.一眼可以看出这是关于php链的,构造php链之后,用了HackerBar,没出来,怎么看都看不出来哪里错了,最后拜读了大佬的wp,发现最后的序列化字符串竟然要进行url编码。最后得到flag。
[NISACTF 2022]babyserialize
1.打开题目链接,阅读php(好长)
2.先eval反推到__invoke 这⾥先看到eval,⽽eval中的变量可控,所以肯定是代码执⾏,⽽eval⼜在__invoke魔术⽅法 中。“链接: __invoke魔术⽅法是对象被当做函数进⾏调⽤的时候所触发。”这⾥就反推看哪⾥⽤到了类似$a()这种的。__invoke反推到__toString 在Ilovetxw类的toString⽅法中,返回了return $bb; __toString⽅法,是对象被当做字符串的时候进⾏⾃动调⽤ 。__toString反推到__set 在four的__set中,调⽤了strolower⽅法。 从__set反推到__call __set:对不存在或者不可访问的变量进⾏赋值就⾃动调⽤ call:对不存在的⽅法或者不可访问的⽅法进⾏调⽤就⾃动调⽤。这⾥反推到Ilovetxw中的call⽅法,⽽call⽅法⼜可直接反推到TianXiWei中的__wakeup , 然后将 system 改成 ⼤写,绕过WAF就可以了。
[NISACTF 2022]popchains
1.打开题目链接,阅读php,一眼可以看出这是关于php链的
2.从源码可以看出来这条链的出口是include()函数,接着反向构造pop链。get传参,得到flag。