PayloadsAllTheThings:60多个Web安全payload目录,如何在渗透测试自查中使用
【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings
第一次进客户站点前,我一般会花一个下午整理测试清单:SQL注入试哪些payload、上传试哪些扩展名组合、模板注入怎么验证。PayloadsAllTheThings把60多种常见Web安全漏洞的payload和绕过技术按目录分开存放,我按目标类型直接翻对应模块,省去了逐篇翻博客的过程。
它是什么:一份人读的Web漏洞payload库
相比sqlmap自带的字典或nuclei这类模板化工具,这个项目的特点是"人读":每种漏洞都有原理说明、利用路径和可直接使用的payload,且目录结构统一为README.md(说明)、Intruder(Burp字典)、Files(附件)、Images(图示)四件套。它解决的是测试资源散落在博客和论坛里的实际问题——不用逐个搜索,按目录就能定位。
🗺️ 资源地图:60多个模块各覆盖什么
| 模块 | 覆盖内容 | 适用场景 |
|---|---|---|
| SQL Injection | MySQL、PostgreSQL、MSSQL、Oracle、SQLite等6种数据库payload,20个Intruder字典 | 搜索框、登录表单注入点测试 |
| Upload Insecure Files | 扩展名绕过文件、图片伪装、ImageMagick/Ghostscript CVE PoC | 目标有文件上传入口时 |
| XSS Injection | 13个WAF绕过、CSP绕过与事件处理器payload文件 | 输出点、脚本上下文测试 |
| Server Side Template Injection | Jinja2、Twig、Thymeleaf、FreeMarker等检测与RCE payload | 后端用模板引擎渲染用户输入时 |
| File Inclusion | LFI-to-RCE路径、Linux/Windows/Mac共13个Intruder文件列表 | 存在文件读取参数或PHP include时 |
| Methodology and Resources | 云、AD、Docker、Windows/Linux完整渗透流程 | 整场渗透任务而非单点测试时 |
🔍 重点模块深读:三个模块的用法与payload形态
SQL注入:用Unicode编码绕过字符过滤
该模块按数据库分文件:MySQL Injection.md、PostgreSQL Injection.md等,外加Auth_Bypass.txt、SQLi_Polyglots.txt等20个Intruder词表。典型用例:当过滤器拦截单引号时,按模块里的Unicode转换表把' and 1=1--转成全角百分号编码再发送,绕过只匹配ASCII黑名单的规则。

左半部分是字符到全角百分号编码的映射表,右侧红框展示了' and 1=1--的完整编码结果。遇到只放行特定字符集的过滤器时,直接对照这张图取编码。
文件上传:用思维导图搭攻击路径
模块核心是一张文件上传攻击思维导图,配套目录按技术分:Extension PHP/ASP 提供 .phtml、.phar、.cer 等12种扩展的shell文件,Picture ImageMagick 存放图片解析触发命令执行的PoC,Jetty RCE、CVE ZIP Symbolic Link 各自独立成目录。典型用例:目标用ImageMagick生成缩略图时,用伪装成PNG的文件触发命令执行;服务器是IIS时,试双扩展名与空扩展名组合。

导图从中心展开Shell、Images、Audio/Video、Filter bypass四个分支,每个分支标注了具体技术点和CVE编号。做前置侦察时,先判断目标的解析器和服务端落在哪个分支,再翻对应目录取payload。
服务器端模板注入:一个探针定位模板引擎
模块按语言分成PHP、Python、Java、JavaScript、Ruby、ASP、Elixir七个文件,各含探测payload和RCE链。典型用例:先发{{7*7}}形式探针,响应返回49即确认注入;模块里的判断树给出了从单一探针到具体引擎的分支路径。

决策树从${7*7}出发,分出注释形式和join形式两类变体,再根据响应判断Smarty、Mako、Jinja2、Twig是否可注入。遇到不认识的模板引擎时,从这张图按分支逐个发送即可。
一条完整工作流:从克隆仓库到输出测试清单
第一步,同步项目。本地执行git clone https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings,每次任务开始前git pull,确保拿到最新payload。
第二步,按目标检索模块。先从前置侦察确认目标技术栈:什么数据库、是否有上传入口、哪个模板引擎。然后直接进对应目录读README,需要fuzz时再取Intruder字典。
第三步,组合payload与工具。参数fuzz把Intruder目录下的TXT文件导入Burp Suite Intruder;手动单发请求则参照README中的payload形态自行改编码、换注入点。
第四步,记录与复盘。每个试过的payload记下目标端点、结果和响应差异。测试结束后把没覆盖到的场景补进自己的测试清单,作为下次任务的检查项。
安全红线:测试前的合规要求
- 只在自有系统或取得书面授权的系统上测试,不扩大授权范围。
- 不碰生产数据:不批量读取或修改测试范围外的用户数据。
- 控制请求频率,不做DoS攻击、删除文件这类破坏性操作。
- 遵守当地法规,发现的确认漏洞通过委托方指定渠道报告。
它是一份随任务持续更新的测试清单。新的绕过技术出现后,这里通常已经归档。
【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考