流量分析_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}

相关推荐
江边鸟2192 小时前
小迪安全第二十六天
网络·tcp/ip·安全·web安全·网络安全
print_Hyon2 小时前
【CTF-密码学-RSA】计算私钥和公钥进行加密和解密
密码学·ctf
Neolnfra13 小时前
攻防实战:数据窃取技术详解
web安全·网络安全·数据安全
淮上安子骞15 小时前
sage10.8源码部署
服务器·密码学·ctf·本地部署·sage
m0_4772031015 小时前
Hercules-HTB-writeUp
web安全·网络安全
给勒布朗上上对抗呀16 小时前
反序列化之字符串逃逸-0CTF2016-piapiapia
ctf
福来阁86号技师18 小时前
2025年第二届Solar应急响应挑战赛
ctf·应急响应
合才科技19 小时前
【要闻周报】网络安全与数据合规 12-31
安全·web安全
Par@ish20 小时前
【网络安全】Apache StreamPipes 严重漏洞使攻击者可夺取管理员控制权
安全·web安全·apache