流量分析_SnakeBackdoor-2

SnakeBackdoor-2

这道题涉及Flask 框架 最常见的安全问题:SSTI(服务端模板注入) 或 信息泄露。

在 Flask 应用中,SECRET_KEY 是用于签名 Session 的核心密钥。如果攻击者利用漏洞(通常是 SSTI)读取了 Flask 的全局配置对象 config,就能拿到这个密钥。

bash 复制代码
解题思路如下:

1、理解攻击原理:

(1)攻击者通常会利用模板注入漏洞,发送类似{{config}}、{{config.items()}}或{{self.__dict__}} 这样的Payload。服务器如果存在漏洞,会把当前的配置信息(包含SECRET_KEY)直接打印在HTTP响应包中。

(2)或者攻击者可能通过LFI(本地文件包含)读取了app.py或config.py源码。

2、搜索策略:

(1)直接在流量包中搜索特征字符串"SECRET_KEY"。这是最快的方法,因为无论是攻击者尝试读取它,还是服务器返回它,这个字符串出现的概率极高。

(2)搜索SSTI的特征字符,如 {{(在 URL 中可能是%7B%7B)。

数据包还是题目一中的attack.pcap流量包

打开pcap流量包,使用**http contains "SECRET_KEY"**命令,过滤出http数据包,并且包含我们想要的SECRET_KEY字符

过滤出一个数据包,右键追踪流=>TCP流

在POST请求体中,攻击者提交了参数:preview_content={{ config }}。这是一个典型的 Flask/Jinja2 模板注入Payload,意图是让服务器渲染并打印出全局config对象。

服务器执行了该指令,并在响应体的<div>标签中回显了配置字典。

其中& #39; 是HTML实体编码的单引号 ',提取可以看到 'SECRET_KEY': 'c6242af0-6891-4510-8432-e1cdf051f160'。

最后得到flag{c6242af0-6891-4510-8432-e1cdf051f160}

相关推荐
Hum8le16 小时前
CTF题目《easy_web》(安洵杯 2019 变种 Web)
前端·安全·web安全
HackTwoHub16 小时前
DeepSeek Harness 红队破甲插件|适配 SRC 挖掘场景,区分平台拦截与模型原生输出,用于大模型安全边界合规测评研究
安全·web安全·网络安全·系统安全·密码学·网络攻击模型·安全架构
梦帮科技16 小时前
【3.0】上线与运维:节点监控、水龙头、区块浏览器与安全清单
运维·安全·web安全·金融·区块链·密码学·安全架构
三84417 小时前
Fastjson 漏洞· 06 · 防御、审计与检测
安全·web安全·fastjson
砚凝霜19 小时前
【软考信息安全】第十二章 网络安全审计概述与分类
网络·安全·web安全
梦帮科技1 天前
【3.0修订版】跨链中继与事件编排:Relayer 监听、多签验证与故障自愈
web安全·金融·区块链·密码学·智能合约·安全架构·信任链
王大傻09281 天前
堆叠注入(Stacked Queries Injection)详解:原理、利用与防御
服务器·网络·数据库·web安全·网络安全
三8442 天前
sql注入
web安全·sql注入
微软技术分享2 天前
面向二进制安全的大模型多智能体框架
网络·安全·web安全
hengdonghui2 天前
Writeup 4 N1BOOK afr_1
ctf·伪协议·任意文件读取