web入门-361

news/2025/2/7 10:10:24/文章来源:https://www.cnblogs.com/govced/p/18584378

这是一个ssit漏洞注入基础题
ssit介绍:SSTI 就是服务器端模板注入( Server-Side Template Injection )
当前使用的一些框架,比如 python 的 flask , php 的 tp , java 的 spring 等一般都采用成熟的
的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对
应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲
染展示给用户。
漏洞成因就是服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容
的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因
而可能导致了敏感信息泄露、代码执行、GetShell 等问题。其影响范围主要取决于模版引擎的复
杂性。
凡是使用模板的地方都可能会出现 SSTI 的问题,SSTI 不属于任何一种语言,沙盒逃逸也不是,
沙盒逃逸只是由于模板引擎发现了很大的安全漏洞,然后模板引擎设计出来的一种防护机制,不
允许使用没有定义或者声明的模块,这适用于所有的模板引擎。
开始注入:

这是jinja2模板

这里使用到了__class__、basesubclasses()三种魔术方法,用处大概就是获取类,获取基类,获取所有类
后面便是寻找我们要利用的函数,寻找那些有回显的或者可以执行命令的类
大多数利用的是 os._wrap_close 这个类
我第一次还是纯手工找的(╯°□°)╯︵ ┻━┻
利用脚本寻找:

with open(r".\test.txt", "r") as input_file:ssti_class = input_file.read().split(",")print("ssti_class 内容:", ssti_class)
target = "os._wrap_close"
index = -1
for i in range(len(ssti_class)):if target in ssti_class[i].strip():index = ibreak
if index != -1:print(f"目标值 '{target}' 的下标为 {index}, 对应值是: {ssti_class[index].strip()}")
else:print(f"未找到目标值 '{target}'")

找到下标

进行rce

其中用到魔术方法:
init 方法进行初始化类
globals 获取到方法内以字典的形式返回的方法、属性等


获得flag
这题展现了ssit最最基础的注入形式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846172.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 安装mysql

这里ubuntu 版本20.04,默认安装 #1、更新安装包管理工具 sudo apt-get update#2、安装 mysql数据库,过程中的选项选择 y sudo apt-get install mysql-server默认安装完成后自动启动了,没有启动 可以使用下面命令 #启动mysql命令如下 (停止mysql的命令为:sudo service my…

向量检索服务RAM授权

本文介绍如何为RAM账号授予向量检索服务权限,使RAM账户可以使用向量检索服务。 说明 RAM账户仅拥有向量检索服务的RAM权限,无法访问监控报警服务。如需访问监控报警服务,请参见监控报警服务RAM授权 背景信息 访问控制RAM(Resource Access Management)是阿里云提供的一项管…

edge浏览器中用IE浏览器打开网页

我这边遇到的情况是一定要用IE浏览器的,并且还要IE5版本的。 先在软件管家里安装IE浏览器,提示已安装更新的版本,但是可以点开启,不知道什么情况。 然后点右上角三个点,默认浏览器中选择允许。 继续点右上角的三个点,有一个在IE模式下重新加载,点击后,就进入IE模式了。…

jQuery页面滚动元素进入视口发生动画特效插件

jquery-aniview是一款非常实用的页面滚动元素进入视口发生动画特效JQUERY插件。该插件基于animate.css,你可以使用animate.css中所有的动画过渡效果。该插件会检测指定元素是否进入视口,在元素进入视口时则执行指定的动画效果。预览 下载使用方法 使用jquery-aniview插件需…

如何提升银行业项目管理效率?

在银行业,项目管理的复杂性不言而喻:无论是新产品的推出、系统的升级,还是合规性审查,每一个环节都需要多个部门的协同合作。如何确保信息高效传递、任务明确分工、进度实时掌控,是每个银行项目管理者面临的核心挑战。 银行业项目管理的痛点 1.多部门协作难 银行业的项目往…

借助AI助手如何高效阅读源码

以前一直在阅读Spring的源码,深知要独立阅读并理解Spring的复杂代码是多么困难。当时,如果没有借助网络搜索的帮助,仅凭自己的时间和精力,根本无法完成对Spring源码的深入理解。今天,借助AI助手可以更加高效地了解llamaindex中关于workflow的工作原理。我之前已经编写过一…

支持任何DOM元素的实用jQuery跑马灯插件

jquery.limarquee是一款非常实用的支持任何DOM元素的JQUERY跑马灯插件。该跑马灯插件可以制作水平文字滚动,垂直文字滚动,HTML元素滚动,图片滚动效果,甚至还可以从XML文件中读取数据来制作跑马灯效果。预览 下载使用方法HTML结构 该跑马灯特效最基本的HTML结构是使用…

热烈欢迎鄂托克前旗工商联携企业代表与湖北省内蒙古商会考察团莅临璞华科技参观交流

2024年11月18日上午,内蒙古自治区鄂尔多斯市鄂托克前旗工商联携企业代表,以及湖北省内蒙古商会会长周晓蒙一行组成的考察团,莅临璞华科技有限公司(以下简称“璞华科技”)参观交流。此次考察旨在加强区域间经济合作,推动民营经济高质量发展,并探索双方在科技创新等方面的…

hot100-一刷-03滑动窗口(共2道题)

3. 无重复字符的最长子串 题目链接 题目描述代码实现 分析:因为是要连续的序列,使用滑动窗口 + Set集合来判断即将要加入窗口右端的元素是已经在窗口中出现过。 代码: class Solution {public int lengthOfLongestSubstring(String s) {int ans = 0;// Set去重Set<Charac…