web攻防之SSTI 注入漏洞

article/2025/6/7 23:18:22

知识简介 : 模版引擎和框架的区别

ssti的中文翻译 : 服务端的模版的注入 

模版引擎 :前端的用于装饰优化html的模版 最简单的就是在腾讯会议中的聊天功能

框架 : 这个是一套独立存在的逻辑 如TP他是一个区别于php语法的后端逻辑(框架的作用就是 优化后端的功能和安全性)

两者的共性就是为了省时

怎么发现对方的web套用了模版引擎

主要是看页面的规律性和是不是非常的板正,大部分的web都是套用的模版 手写的工程量是非常大的

漏洞的原理

这个就类似于 框架的rce 模版引擎会有独特的语法,如果对方的模版引擎中有写入的这个功能,那就会导致恶意的模版引擎的语法的写入,再者没有对其进行过滤从而导致了,ssti注入

漏洞利用的逻辑思路

1、找寻是什么模版引擎

这个是模版对应的语法,所以我们的思路就是先找对方是什么语言写的 web 然后在语言中进行全扫即可,如对方使用的是php 那就是把php类的所以语法进行写到注入点进行测试

ssti的漏洞的场景就是需要在有输入的地方,并且这个输入之后会有输出的回显,这样就能进行操作

案例一:

实验:基本服务器端模板注入 |网络安全学院

靶场要求是让我们使用模版的rce删除morale.txt

我们随便点击一个商品 

发现回显的地方  这个英文的意思是商品缺货 然后这个注入点让我们想到的漏洞 1、xss 2、sql注入

然后就是我们的模版rce

工具介绍 : SSTImap

安装一下依赖

使用 :

python sstimap.py -u "https://0a6800de041a131880a644a800e2001d.web-security-academy.net/?message=*"

这个工具的用法和sqlmap差不多  这个就表示成功 然后判断ssti是ERB类型的

这个工具有个不好的地方就是不会保留缓存

我们可以指定类型之后使用他的后渗透模式,也可以自己构造,看着上面的模版图

erb语法  

<%= exec 'ls -al' %>

然后就发现我们的语句被嵌套到了这个模版中去 , 然后进行了前端的回显

或者使用工具的自动模式 :

第二个靶场

实验:基本服务器端模板注入(代码上下文) |网络安全学院

这个就比较隐晦了  不是那种明显的,这个其实是模版的语法用于post包中

登录提示给的账号密码之后,随便进入到一个文章中去 

发现有个评论的功能 : 联想到ssti的前端模版就是一些输入框,评论区或者是聊天的地方

我们先对评论进行ssti试一下 先抓个包 :

我们首先猜测的是在 comment 然后这个内容会自动的加载到前端的模版中去

最后测试发现失败了,那就联系到名字也是会在前端进行回显

测试修改名字​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

然后返回我们的评论区 :

发现 7*7被执行了 所以这个就是注入点

最终的payload 
blog-post-author-display=user.name}}{%25+import+os+%25}{{os.system('ls%20-al')

这个不能直接使用工具测试出来,手工是最好的

实验三

Login - PortSwigger

这个靶场模拟的是 后台ssti提取的一个场景

后台有个模拟修改前端的代码一个功能

可以进行编辑然后 就能在前端回显

payload :

模版 :Freemarker:
<#assign test="freemarker.template.utility.Execute"?new()> ${test("ls")}

之后这里就会出现


http://www.hkcw.cn/article/PuXDkReXaU.shtml

相关文章

【Linux】Linux 进程基础

参考博客&#xff1a;https://blog.csdn.net/sjsjnsjnn/article/details/125533127 进程 1.基本概念 课本概念&#xff1a;程序的一个执行实例&#xff0c;正在执行的程序等内核观点&#xff1a;担当分配系统资源&#xff08;CPU时间&#xff0c;内存&#xff09;的实体。 …

win32相关(内存映射文件)

内存映射文件 什么是内存映射文件 内存映射文件是一种将磁盘文件直接映射到进程地址空间的技术&#xff0c;允许应用程序像访问内存一样访问文件内容。这种机制提供了高效的文件I/O操作方法 #include<windows.h> #include<iostream>HANDLE hFile; HANDLE hMapFile;…

前端​​HTML contenteditable 属性使用指南

​​什么是 contenteditable&#xff1f; HTML5 提供的全局属性&#xff0c;使元素内容可编辑类似于简易富文本编辑器兼容性​​ 支持所有现代浏览器&#xff08;Chrome、Firefox、Safari、Edge&#xff09; 移动端&#xff08;iOS/Android&#xff09;部分键盘行为需测试 &l…

极智项目 | 基于PyQT实现的YOLOv12行人目标检测软件设计

基于YOLOv12的专业级行人目标检测软件应用 开发者: 极智视界 软件下载&#xff1a;链接 &#x1f31f; 项目特色 专业检测: 基于最新YOLOv12模型&#xff0c;专门针对行人检测优化现代界面: 采用PyQt5构建的美观、直观的图形用户界面高性能: 支持GPU加速&#xff0c;检测速…

[yolov11改进系列]基于yolov11引入可变形注意力DAttention的python源码+训练源码

【DAttention介绍】 DAT全称为Deformable Attention Transformer&#xff0c;其作用在于通过可变形注意力机制&#xff0c;同时包含了数据依赖的注意力模式&#xff0c;克服了常见注意力方法存在的内存计算成本高、受无关区域影响以及数据不可知等问题。相比一些只提供固定注意…

谷歌地图2022高清卫星地图手机版v10.38.2 安卓版 - 前端工具导航

谷歌地图2022高清卫星地图手机版是由谷歌公司推出的一款非常好用的手机地图服务软件&#xff0c;用户能够通过精准的导航和定位来查看地图&#xff0c;周边的商店等生活服务都会在地图上显示&#xff0c;用起来超级方便。 谷歌卫星高清地图 下载链接&#xff1a;夸克网盘分享 …

优化 Spring Boot API 性能:利用 GZIP 压缩处理大型有效载荷

引言 在构建需要处理和传输大量数据的API服务时&#xff0c;响应时间是一个关键的性能指标。一个常见的场景是&#xff0c;即使后端逻辑和数据库查询已得到充分优化&#xff0c;当API端点返回大型数据集&#xff08;例如&#xff0c;数千条记录的列表&#xff09;时&#xff0…

对接系统外部服务组件技术方案

概述 当前系统需与多个外部系统对接,然而外部系统稳定性存在不确定性。对接过程中若出现异常,需依靠双方的日志信息来定位问题,但若日志信息不够完整,会极大降低问题定位效率。此外,问题发生后,很大程度上依赖第三方的重试机制,若第三方缺乏完善的重试机制,就需要手动…

sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境

sudo docker exec -it backend bash&#x1f50d; 总体作用 这条命令的作用是&#xff1a; 以交互方式&#xff08;interactive&#xff09;进入名为 backend 的正在运行的 Docker 容器的命令行环境。 你会进入容器的“终端”&#xff0c;就像登录到一个 Linux 系统一样&#…

深度思考:摆脱无效忙碌的核心策略

很多人在日复一日地努力工作&#xff0c;感到非常忙碌&#xff0c;但却始终看不到明显的进展&#xff0c;甚至陷入了一种“原地踏步”的感觉。 这背后&#xff0c;很可能是缺乏**深度思考&#xff08;Deep Thinking&#xff09;**所导致的。 为什么你每天都很忙却没有进展&…

JavaScript性能优化实战:从核心原理到工程实践的全流程解析

下面我给出一个较为系统和深入的解析&#xff0c;帮助你理解和实践“JavaScript 性能优化实战&#xff1a;从核心原理到工程实践的全流程解析”。下面的内容不仅解释了底层原理&#xff0c;也结合实际工程中的最佳模式和工具&#xff0c;帮助你在项目中贯彻性能优化理念&#x…

无需巨魔越狱也能使用的自定义emoji触摸轨迹,更新了!

新版本不会再有闪退问题&#x1f44c; 粒子效果体现出来还可以。自定义emoji轨迹小尾巴当然还可以自定义文本&#xff0c;非常有意思全版本支持&#xff0c;越狱包括无根&#xff0c;巨魔&#xff0c;自签都支持&#xff0c;所有应用都支持注入建议越狱可以用别的&#xff0c;毕…

【设计模式-3.7】结构型——组合模式

说明&#xff1a;本文介绍结构型设计模式之一的组合模式 定义 组合模式&#xff08;Composite Pattern&#xff09;又叫作整体-部分&#xff08;Part-Whole&#xff09;模式&#xff0c;它的宗旨是通过将单个对象&#xff08;叶子节点&#xff09;和组合对象&#xff08;树枝…

如何做好一份技术文档?—— 以 LM358 运算放大器手册为例谈技术文档的核心要素

在科技高速发展的当下&#xff0c;技术文档作为知识传递与技术交流的关键载体&#xff0c;其重要性不言而喻。一份优质的技术文档不仅能精准传达技术信息&#xff0c;还能助力读者快速理解复杂内容、推动技术落地。本文将结合《LM358 运算放大器手册》这一典型技术文档&#xf…

20250603在荣品的PRO-RK3566开发板的Android13下的命令行查看RK3566的温度

20250603在荣品的PRO-RK3566开发板的Android13下的命令行查看RK3566的温度 2025/6/3 11:58 RK3566的cpu运行效率 top rk3566_t:/ # rk3566_t:/ # rk3566_t:/ # cd /sys/class/thermal/ rk3566_t:/sys/class/thermal # ls -l rk3566_t:/sys/class/thermal # cd thermal_zone0/ r…

leetcode hot100(两数之和、字母异位词分组、最长连续序列)

两数之和 题目链接 参考链接&#xff1a; 题目描述&#xff1a; 暴力法 双重循环查找目标值 class Solution {public int[] twoSum(int[] nums, int target) {int[] res new int[2];for(int i 0 ; i < nums.length ; i){boolean isFind false;for(int j i 1 ; j …

JWTの求生记录

Token 三巨头通常指的是三种主流的令牌&#xff08;Token&#xff09;技术&#xff0c;它们各自解决了不同场景下的身份验证和授权问题 Token 验证是现代 Web 和移动应用中常用的身份验证方式&#xff0c;它比传统的 session-cookie 机制更适用于分布式系统和 RESTful API。 …

个人博客系统自动化测试报告

个人博客系统自动化测试报告 文章目录 个人博客系统自动化测试报告1. 项目背景2. 测试内容2.1 编写测试用例2.2 执行测试用例 1. 项目背景 个人博客系统由四个界面组成&#xff1a;博客登录页、博客列表页、博客详情页、博客发布页。通过使用Python Selenium实现web自动测试&a…

2025年人文发展与文化传播国际会议(ICHDCC 2025)

2025年人文发展与文化传播国际会议&#xff08;ICHDCC 2025&#xff09; 2025 International Conference on Humanistic Development and Cultural Communication 一、大会信息 会议简称&#xff1a;ICHDCC 2025 大会地点&#xff1a;中国绵阳 审稿通知&#xff1a;投稿后2-3…

MySQL - Windows 中 MySQL 禁用开机自启,并在需要时手动启动

Windows 中 MySQL 禁用开机自启&#xff0c;并在需要时手动启动 打开服务管理器&#xff1a;在底部搜索栏输入【services.msc】 -> 点击【服务】 打开 MySQL 服务的属性管理&#xff1a;找到并右击 MySQL 服务 -> 点击【属性】 此时的 MySQL 服务&#xff1a;正在运行&a…