[CISCN 2019华东南]Web11

打开题目

看到xff就应该想到抓包

看回显也是127.0.0.1,我们盲猜是不是ssti模板注入

输入{{7*7}}显示49

可以看的出来flag在根目录下

输入{system('cat /flag')}

得到flag

知识点:

漏洞确认

一般情况下输入{$smarty.version}就可以看到返回的smarty的版本号

得到Smarty版本是3.1.30

利用方式

{php}{/php}标签

Smarty支持使用{php}{/php}标签来执行被包裹其中的php指令

这题不支持使用{php}{/php}标签,否则会报错

在Smarty3的官方手册里有以下描述:

Smarty已经废弃{php}标签,强烈建议不要使用。在Smarty 3.1,{php}仅在SmartyBC中可用。

{if}标签

Smarty的{if}条件判断和PHP的if非常相似,只是增加了一些特性。每个{if}必须有一个配对的{/if},也可以使用{else} 和 {elseif},全部的PHP条件表达式和函数都可以在if内使用,如||*, or, &&, and, is_array(), 等等,如:{if is_array($array)}{/if}*

同样也可以得到flag

参考文章:

PHP的模板注入(Smarty模板)_smarty ctf php-CSDN博客

相关推荐
ServBay17 小时前
告别面条代码,PSL 5.0 重构 PHP 性能与安全天花板
后端·php
JaguarJack3 天前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo3 天前
FrankenPHP 原生支持 Windows 了
后端·php
JaguarJack4 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo4 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack5 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay6 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954486 天前
CTF 伪协议
php
BingoGo8 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack8 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端