本文主要是介绍xff注入 [CISCN2019 华东南赛区]Web111,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
打开题目
看见smarty
想到模板注入
又看见ip
想到xff注入
一般情况下输入{$smarty.version}就可以看到返回的smarty的版本号。该题目的Smarty版本是3.1.30
在Smarty3的官方手册里有以下描述:
Smarty已经废弃{php}标签,强烈建议不要使用。在Smarty 3.1,{php}仅在SmartyBC中可用。所以只能另找方法
{if}标签
官方文档中看到这样的描述:
Smarty的{if}条件判断和PHP的if 非常相似,只是增加了一些特性。每个{if}必须有一个配对的{/if}. 也可以使用{else} 和 {elseif}. 全部的PHP条件表达式和函数都可以在if内使用,如*||*,or,&&,and,is_array(), 等等
有回显
说明有这个漏洞,接着去找flag,可以用ls去查看当前目录,猜测flag在根目录,这里直接用cat了
所以也可以使用:{if show_source("/flag")}{/if} 来获得flag
知识点:
1.Smarty已经废弃{php}标签,强烈建议不要使用。在Smarty 3.1,{php}仅在SmartyBC中可用。
2.{literal}可以让一个模板区域的字符原样输出。这经常用于保护页面上的Javascript或css样式表,避免因为Smarty的定界符而错被解析
3.Smarty的{if}条件判断和PHP的if 非常相似,只是增加了一些特性。每个{if}必须有一个配对的{/if}. 也可以使用{else} 和 {elseif}. 全部的PHP条件表达式和函数都可以在if内使用,如||,or,&&,and,is_array(), 等
这篇关于xff注入 [CISCN2019 华东南赛区]Web111的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!