当前位置:网站首页>[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,解析后把内容回显到页面上的相应位置
}
边栏推荐
- ASP.NET application--Hello World
- ffmpeg -sources分析
- Growth-based checkerboard corner detection method
- UE4 opens door via interaction (keyboard key)
- Getting Started with Kubernetes Networking
- Dive into how it works together by simulating Vite
- 运维监控系统之Open-Falcon
- How do newcomers get started and learn software testing?
- DEJA_VU3D - Cesium功能集 之 056-智图Arcgis地图纠偏
- Qixi Festival code confession
猜你喜欢
Kubernetes 网络入门
The test salary is so high?20K just graduated
UE4 第一人称角色模板 添加生命值和调试伤害
Spark基础【介绍、入门WordCount案例】
36-Jenkins-Job迁移
public static
List asList(T... a) What is the prototype? ASP.NET application--Hello World
Why is the pca component not associated
[论文笔记] MapReduce: Simplified Data Processing on Large Clusters
UE4 通过互动(键盘按键)开门
随机推荐
惨遭打脸:字节某部门竟有这么多测试员
Thinking (88): Use protobuf custom options for multi-version management of data
2022-08-04 The sixth group, hidden from spring, study notes
Qixi Festival code confession
Fifteen. Actual combat - MySQL database building table character set and collation
测试薪资这么高?刚毕业就20K
队列题目:最近的请求次数
Growth-based checkerboard corner detection method
Based on holding YOLOv5 custom implementation of FacePose YOLO structure interpretation, YOLO data format conversion, YOLO process modification"
UE4 第一人称角色模板 添加生命值和调试伤害
Why is the pca component not associated
商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险
开发Hololens遇到The type or namespace name ‘HandMeshVertex‘ could not be found..
Redis1: Introduction to Redis, basic features of Redis, relational database, non-relational database, database development stage
UE4 第一人称角色模板 添加冲刺(加速)功能
YYGH-13-客服中心
用Unity发布APP到Hololens2无坑教程
将故事写成我们
Kubernetes 网络入门
GC Gaode coordinate and Baidu coordinate conversion