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

相关推荐
一次旅行2 天前
网络安全总结
安全·web安全
一名优秀的码农2 天前
vulhub系列-14-Os-hackNos-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
努力的lpp2 天前
SQLMap CTF 常用命令全集
数据库·web安全·网络安全·sql注入
努力的lpp2 天前
SQL 报错注入
数据库·sql·web安全·网络安全·sql注入
上海云盾商务经理杨杨2 天前
2025年重大网络安全事件回顾与趋势分析
网络·安全·web安全
岛屿旅人2 天前
2025年中东地区网络安全态势综述
网络·安全·web安全·网络安全
上海云盾商务经理杨杨2 天前
2026年企业网络安全方向预防预测:在AI工业化时代构建主动免疫体系
人工智能·安全·web安全
努力的lpp2 天前
【ctf常用备用文件名字典】
web安全·网络安全·ctf
志栋智能2 天前
安全超自动化:从被动防御到主动响应的革命
运维·网络·数据库·人工智能·安全·web安全·自动化
合天网安实验室3 天前
H5渗透实战:从负数金额漏洞到签名绕过
web安全·漏洞挖掘·h5渗透·签名绕过