2022 DASCTF X SU 三月赛(部分WEB)
web
ezpop
因为疫情学校周末开始补课了,昨天就中午看了看题,做了一个web,挺简单的简单记录下。利用链很好找。说下坑点吧。当用hackerbar传入cmd参数时要使用raw,如下
然后导致我以为是需要原生类进行反序列化。
利用链
fin::__destruct()---->what::__toString()----->fin::run----->crow::__invoke()----->fin::world()----->fin::__call()----->mix::get_flag()
到达get_flag()后绕过#号过滤采用换行符。
exp 如下
1 |
|
成功得到flag
calc
题目给了源码,观察源码分析
在这段代码中存在一个可控点num,通过GET方式传入。waf中为过滤,在linux中
是可以执行命令的,但是在eval中会报错。
看下面的os.system(),传入的参数为log,log中存在可控num,于是可以通过上个题目中的#来绕过eval()进入os.system()。
payload
1 | 1#`ls` |
再通过curl将tmp/log.txt外带出来即可
查看flag文件即可