当前位置:网站首页>[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,解析后把内容回显到页面上的相应位置
}
边栏推荐
- Summary of common methods of arrays
- ffmpeg 像素格式基础知识
- Android Practical Development - Kotlin Tutorial (Introduction - Login Function Implementation 3.3)
- shell脚本:for循环与while循环
- ffmpeg pixel format basics
- [Filter tracking] based on matlab unscented Kalman filter inertial navigation + DVL combined navigation [including Matlab source code 2019]
- UE4 通过重叠事件开启门
- Swing有几种常用的事件处理方式?如何监听事件?
- 运维监控系统之Open-Falcon
- Web3.0 Dapps - the road to the future financial world
猜你喜欢

How to solve the three major problems of bank data collection, data supplementary recording and index management?

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

iMedicalLIS listener (2)

Use Unity to publish APP to Hololens2 without pit tutorial

阿里本地生活单季营收106亿,大文娱营收72亿,菜鸟营收121亿

MySql index learning and use; (I think it is detailed enough)

基于生长的棋盘格角点检测方法

token、jwt、oauth2、session解析

Hard power or soft power, which is more important to testers?

There are several common event handling methods in Swing?How to listen for events?
随机推荐
惨遭打脸:字节某部门竟有这么多测试员
将故事写成我们
Based on holding YOLOv5 custom implementation of FacePose YOLO structure interpretation, YOLO data format conversion, YOLO process modification"
ffmpeg 枚举decoders, encoders 分析
2022软件测试工程师最全面试题
UE4 第一人称角色模板 添加蹲伏功能
There are several common event handling methods in Swing?How to listen for events?
银行数据采集,数据补录与指标管理3大问题如何解决?
国学*周易*梅花易数 代码实现效果展示 - 梅花心易
MRTK3 develops Hololens application - gesture drag, rotate, zoom object implementation
Dameng 8 database export and import
UE4 第一人称角色模板 添加生命值和调试伤害
[Software testing] unittest framework for automated testing
Getting Started with Kubernetes Networking
AI+PROTAC | dx/tx completes $5 million seed round
iMedicalLIS监听程序(2)
This year's Qixi Festival, "love vegetables" are more loving than gifts
关于#SQL#的迭代、父子结构查询问题,如何解决?
From "useable" to "easy to use", domestic software is self-controllable and continues to advance
【测量学】速成汇总——摘录高数帮