[HDCTF 2023]SearchMaster wp
信息搜集
题目页面:
这里提到了模板,猜测是模板注入,提示 POST 发包,参数名为 data 。
测试 POST 传参 data=1 :
有返回。
模板注入
检查模板类型
这里用橙子科技的一张图,红色箭头代表失败后执行的下一步,绿色箭头代表成功后执行的下一步。
首先传入 ${7*7}
,若返回 49 ,则执行成功:
执行成功。
那么接下来传入 a{*123*}b
,若 {**}
内的内容被当成注释,仅返回 ab ,则执行成功:
执行成功,判定为 Smarty 模板。
Smarty 模板注入
Smarty 是 PHP 的一个模板。
推荐博客:Smarty模板注入&CVE-2017-1000480
查看版本号:
{$smarty.version}
返回结果,版本 4.1.0 :
直接上 payload ,个人认为最好用的是 if 语句,if 代码块内可以执行任意 PHP 命令,不要加分号:
{if system('ls /')}{/if}
返回结果:
查看 flag 文件:
{if system('cat /flag_13_searchmaster')}{/if}
这条命令用 burp 发包成功了,用 hackerbar 发包却报错,有大佬知道原因吗?
用 hackerbar 发包:
用 burp 发包:
拿到 flag 。