当前位置:网站首页>[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,解析后把内容回显到页面上的相应位置
}
边栏推荐
- BI业务分析思维:现金流量风控分析(二)信用、流动和投资风险
- 10 years of testing experience, worthless in the face of the biological age of 35
- Package zip is not available, but is referred to by another package.
- Android 面试题——如何徒手写一个非阻塞线程安全队列 ConcurrentLinkedQueue?
- UE4 opens door via interaction (keyboard key)
- 七夕节代码表白
- How do newcomers get started and learn software testing?
- presto启动成功后出现2022-08-04T17:50:58.296+0800 ERROR Announcer-3 io.airlift.discovery.client.Announcer
- Dive into how it works together by simulating Vite
- mutillidae下载及安装
猜你喜欢

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

银行数据采集,数据补录与指标管理3大问题如何解决?

七夕节代码表白

结构体初解

【测量学】速成汇总——摘录高数帮

Bubble Sort and Quick Sort

UE4 opens door via interaction (keyboard key)

The most effective seven performance testing techniques of software testing techniques
![Spark Basics [Introduction, Getting Started with WordCount Cases]](/img/90/ebe887db0f8c36895691dea05f62cf.png)
Spark Basics [Introduction, Getting Started with WordCount Cases]

token, jwt, oauth2, session parsing
随机推荐
2022-08-04 The sixth group, hidden from spring, study notes
日志导致线程Block的这些坑,你不得不防
ffmpeg enumeration decoders, encoders analysis
ffmpeg 枚举decoders, encoders 分析
The most effective seven performance testing techniques of software testing techniques
银行数据采集,数据补录与指标管理3大问题如何解决?
用Unity发布APP到Hololens2无坑教程
Ice Scorpion V4.0 attack, security dog products can be fully detected
Detailed and comprehensive postman interface testing practical tutorial
2022.8.4-----leetcode.1403
UE4 第一人称角色模板 添加生命值和调试伤害
Acid (ACID) Base (BASE) Principles for Database Design
DEJA_VU3D - Cesium功能集 之 058-高德地图纠偏
Redis1: Introduction to Redis, basic features of Redis, relational database, non-relational database, database development stage
BI业务分析思维:现金流量风控分析(二)信用、流动和投资风险
Industry Status?Why do Internet companies prefer to spend 20k to recruit people rather than raise their salary to retain old employees~
UE4 更改组件变量 (以修改第一人称角色模板的最大行走速度和跳跃高度为例)
rpc-remote procedure call demo
Qixi Festival code confession
Slapped in the face: there are so many testers in a certain department of byte