当前位置:网站首页>[CISCN2019 华东南赛区]Web11
[CISCN2019 华东南赛区]Web11
2022-08-05 03:52:00 【pakho_C】
[CISCN2019 华东南赛区]Web11
头一次见smarty ssti的题
smart ssti:
smart是php的模板引擎,模板引擎的作用就是分离前端页面和数据的,题目中显示API的URL由于环境的原因无法使用,但我们的IP依旧显示在了页面的右上角,且根据它的提示XFF我们很容易想到,在X-Forwarded-For里构造ssti:payload。
又祭出这张图了:
根据页面的提示,很可能要在XFF头中构造:
测试:
确实存在smarty ssti
看了另一位师傅的wp:
Smarty支持使用{php}{/php}标签来执行被包裹其中的php指令,那么我们可以使用{php}{/php}标签来构造payload,但是本题会报错
因为现在的smart已经不用此标签了。
可以用{$smarty.version}来看一下版本。
测试了一下,的确如此

这个版本已经不支持php标签了
虽然php标签不能用,但是还有个{if}标签。 Smarty的{if}条件判断和PHP的if
非常相似,只是增加了一些特性。每个{if}必须有一个配对的{/if}. 也可以使用{else} 和 {elseif}.
全部的PHP条件表达式和函数都可以在if内使用,如*||*,or,&&,and,is_array(), 等等既然全部的PHP条件表达式和函数都可以在if内使用,那我们在里面写php代码也行。 {if phpinfo()}{/if}
执行 {if phpinfo()}{/if}尝试
成功回显
直接执行命令:{if system('cat /flag')}{/if}
原理介绍,参考另一位师傅的wp里的:
<?php
require_once('./smarty/libs/' . 'Smarty.class.php');
$smarty = new Smarty();
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
//获取XFF
$smarty->display("string:".$ip);
//此处并不是以smart模板格式,而是以字符串形式,所以会解析我们的标签,也就是if,解析后把内容回显到页面上的相应位置
}
边栏推荐
- Spark基础【介绍、入门WordCount案例】
- token、jwt、oauth2、session解析
- Package zip is not available, but is referred to by another package.
- 用CH341A烧录外挂Flash (W25Q16JV)
- Event parse tree Drain3 usage and explanation
- Use Unity to publish APP to Hololens2 without pit tutorial
- Growth-based checkerboard corner detection method
- 【背包九讲——01背包问题】
- Swing有几种常用的事件处理方式?如何监听事件?
- Kubernetes 网络入门
猜你喜欢

Open-Falcon of operation and maintenance monitoring system

2022 High-level installation, maintenance, and removal of exam questions mock exam question bank and online mock exam

Swing有几种常用的事件处理方式?如何监听事件?

Developing Hololens encountered The type or namespace name 'HandMeshVertex' could not be found..

On governance and innovation, the 2022 OpenAtom Global Open Source Summit OpenAnolis sub-forum came to a successful conclusion
![Spark Basics [Introduction, Getting Started with WordCount Cases]](/img/90/ebe887db0f8c36895691dea05f62cf.png)
Spark Basics [Introduction, Getting Started with WordCount Cases]

public static
List asList(T... a) What is the prototype? 
YYGH-13-客服中心

Qixi Festival code confession

基于生长的棋盘格角点检测方法
随机推荐
.NET Application -- Helloworld (C#)
包拉链不可用,但是是被另一个包。
Never put off till tomorrow what you can put - house lease management system based on the SSM
UE4 通过重叠事件开启门
UE4 后期处理体积 (角色受到伤害场景颜色变淡案例)
YYGH-13-Customer Service Center
[Filter tracking] based on matlab unscented Kalman filter inertial navigation + DVL combined navigation [including Matlab source code 2019]
High Item 02 Information System Project Management Fundamentals
UE4 通过与其它Actor互动开门
XMjs cross-domain problem solving
UE4 通过互动(键盘按键)开门
Fifteen. Actual combat - MySQL database building table character set and collation
Bosses, I noticed that a mysql CDC connector parameters scan. The incremental. Sna
日志导致线程Block的这些坑,你不得不防
UE4 第一人称角色模板 添加生命值和调试伤害
mutillidae下载及安装
Hard power or soft power, which is more important to testers?
结构体初解
商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险
From "useable" to "easy to use", domestic software is self-controllable and continues to advance