PayloadsAllTheThings Web安全测试速查手册
【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings
PayloadsAllTheThings 是一套 Web 应用安全测试的 payload 与绕过手法合集,覆盖 SQL 注入、XSS、文件上传、模板注入等 50 多种漏洞类型。渗透测试人员或刚接触 Web 安全测试的新手都可以把它当 payload 速查手册用:按测试点找模块,复制 payload 直接开测。本文用文件上传和模板注入这两个最实用的模块,讲清楚这个仓库怎么用。
📚 项目全景:这套 Web 安全测试 payload 集合里装了什么
仓库顶层目录按漏洞类型划分,一共 50 多个。我用得最多的有三个:SQL Injection 目录按 MySQL、PostgreSQL、Oracle 等数据库分别给出 payload,附带时间盲注、报错注入、UNION 查询的现成文件;XSS Injection 目录带着多份 WAF 绕过 payload 列表;Upload Insecure Files 目录则把文件上传拆成扩展名、图片、元数据等子场景。
每个目录内部结构大同小异:README 讲思路和用法,Files 放一次性 payload,Intruder 放可以直接粘进 Burp Suite 的 Intruder 模块的字典。这是这个仓库最省心的地方——很多 payload 你不用自己拼,翻到目录就能拿到现成列表。
除了漏洞本身,还有一个 Methodology and Resources 目录,收录反向 shell、提权、云环境、容器和红队速查。它更偏向拿到权限之后的"桌面手册",做全链路测试时值得翻一翻。
🔍 两个高频模块深读:文件上传与 SSTI 模板注入
文件上传:从后缀黑名单到元数据藏 shell
场景很典型:目标允许传 jpg、png,扩展名黑名单挡掉了 php。这时打开 Upload Insecure Files 目录。除了常见的双后缀思路(shell.php.jpg 这类),更值得盯的是:把 webshell 藏进图片 EXIF 元数据再靠 LFI 读出来、SVG 里嵌脚本、以及 ImageTragick(CVE-2016-3714)命令执行。目录里把这些向量列得很全,还附了现成的测试文件,比如压到 32x32 的带代码 PNG、利用全局色表的 GIF,拿来就能测。

SSTI:先用 7*7 把引擎试出来
场景是页面回显参数、后端用模板引擎渲染。第一步永远是确认引擎和有没有执行:发 {{77}},再换成 ${77}、{7*7} 变体,响应里出现 49 就说明存在服务器端模板注入(SSTI)。项目里 SSTI 模块给了一棵判别树:同一输入分别命中 Jinja2、Twig、Smarty、Mako 等引擎,绿色标记能执行,红色标记无漏洞。确认引擎后,再对照对应的语言页面(Python、Java、PHP、JavaScript 都有)查沙箱逃逸和 RCE payload。

工作流:从"翻手册"到"跑起来"
第一步,按测试点找模块。遇到文件上传入口就翻 Upload Insecure Files,遇到模板注入疑点就翻 Server Side Template Injection。README 看思路,Intruder 目录取字典。
第二步,把字典喂进工具。Intruder 目录的列表直接配 Burp Intruder 用;测 SQL 注入时用 SQL Injection 目录的 payload 扩展测试范围。Web Sockets 模块里还有个 ws-harness 脚本,能把 WebSocket 流量桥接给 SQLmap,这是很多手册不会提的用法。

第三步,跟着仓库更新。WAF 绕过手法是跟着目标防护迭代的,这个仓库更新也频繁。克隆到本地、定期拉取新 payload 即可:
git clone https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings🛡️ 攻与防的一体两面:把每条绕过当一条防御项
读这个仓库最实在的方式是攻防对照着读。每条绕过手法都对应一个防御动作,攻击向量越熟,给出的防御建议就越具体:
| 攻击向量(来自仓库) | 对应防御动作 |
|---|---|
| 上传扩展名绕过:双后缀、.php5/.phtml 变体、.htaccess 与 web.config 接管目录 | 扩展名白名单只放业务需要的;校验文件头 Magic Bytes;上传目录禁用脚本执行并隔离 |
| SQL 注入编码绕过:单引号转 Unicode、多字节编码躲黑名单 | 参数化查询;必须过滤时,先统一解码再匹配 |
| SSTI 模板注入:用户输入直接拼进模板渲染 | 不拿用户输入当模板渲染;必须模板化时用受限沙箱引擎 |
| WAF 黑名单规避:多引擎通吃的 polyglot payload | 不依赖单一黑名单,白名单校验与上下文感知检查结合 |

不同角色的下一步
- 渗透测试人员:每个项目开始前排一次仓库的近期提交记录,目标用的技术栈有变动的话,大概率能翻到新绕过。
- 后端开发:写完上传功能后,拿 Upload Insecure Files 模块的 payload 清单自测一遍,全过才算交付标准。
- 安全负责人:把仓库镜像到内网,从中挑一部分做成定期黑盒回归集,喂给 WAF 规则验证和上线前安检。
免责声明:本文所有技术内容仅限在合法授权范围内用于安全测试,请勿对未授权目标使用。
【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考