从零到实战:PayloadsAllTheThings的Web安全payload库上手指南
【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings
上线验收前三天,WAF拦下一条正常业务请求,你拿不出payload清单去验证过滤规则。翻到PayloadsAllTheThings——Web安全测试payload库:SQL注入、XSS、文件上传,常见漏洞都备好了现成payload和绕过手法。
📦 它到底装了什么:项目定位与核心模块清单
这个仓库本质上是一本Web安全测试手册:每个一级目录对应一类漏洞,README讲原理和检测步骤,Intruder文件夹放着能直接导入Burp Suite的批量payload列表,Files文件夹则是现成的测试文件。你不需要通读,按需打开对应目录就行。
| 模块名 | 适用场景 | 典型漏洞类型 |
|---|---|---|
| SQL注入 | 登录框、搜索框、ID查询等参数 | 联合查询、盲注、Unicode编码绕过WAF |
| XSS注入 | 任何回显到页面的输入点 | 过滤器绕过、事件处理器payload、CSP逃逸 |
| 文件上传 | 头像、附件、导入类上传入口 | 双扩展名webshell、图片伪装、元数据触发执行 |
| 模板注入SSTI | 参数被模板引擎回显渲染的页面 | 渲染结果探测、逐步升级到代码执行 |
| 命令执行 | 反引号、ping、格式化等系统命令功能 | 拼接执行系统命令 |
| 目录遍历 | 文件查看、下载类参数 | 任意文件读取、路径穿越 |
🧭 跟着一次真实测试走一遍
假设任务是测一套客户管理系统,流程可以这样安排:
第一步,选payload而不是乱试。先判断入口类型:搜索框报SQL错误,去SQL注入模块看入口检测部分;有上传入口,就翻文件上传模块。
第二步,构造请求验证。挑一条能确认结论的最小payload打进请求发出去。想批量试参数,直接把模块Intruder文件夹里的列表(比如认证绕过列表)导入Burp Intruder,不用自己敲。
第三步,被拦截后换绕过思路。这一步最容易踩坑。WAF直接返回403?SQL注入模块有专门的WAF绕过章节:改大小写、用行内注释替换空格、整条Unicode编码。编码对照关系直接看图:

第四步,记录结论。无论打没打通,把参数、请求、响应状态写下来,后面接手的人能直接续上。
🔍 精读一个模块:文件上传的完整思路
为什么危险。上传的文件常落在Web可访问目录里,扩展名过关后服务器一解析,就是webshell。
常见绕过思路。三条主线:扩展名过滤绕过(双扩展名、大小写混合、空字节)、MIME检查绕过(伪造Content-Type)、图片伪装(往元数据里藏代码、压缩处理)。
项目里对应内容。文件上传模块的目录就是按这条思路铺开的:Extension PHP、Extension ASP放现成shell;Picture Compression、Picture Metadata处理图片伪装;Configuration目录收IIS、Apache的触发执行配置文件。

一条最小示例。双扩展名,三十秒就能在纸上写出来:
shell.jpg.php
服务器只按后缀解析、Apache配了php模块时,这个文件名能骗过"jpg"检查,仍被当PHP执行。想验证元数据路线,模块里还有现成测试文件:

🛡️ 攻防对照:攻击向量与防御动作对照表
| 攻击向量 | 对应防御措施 |
|---|---|
| SQL注入:单引号断句,Unicode编码绕WAF | 参数化查询,SQL永不拼接字符串;WAF规则与payload库同步更新 |
| 文件上传:shell.jpg.php双扩展名webshell | 扩展名白名单校验,不只看尾缀;上传文件存到不可执行目录并随机改名 |
| SSTI:模板表达式回显渲染确认注入 | 用户输入不进模板表达式;无法避免时用沙箱渲染并校验输出 |
| XSS:大小写混淆加事件处理器绕过滤 | 输出编码加Content-Security-Policy;用户输入不直接写入innerHTML |
❓ 常见问题
payload过时了怎么办
仓库靠社区持续维护,新绕过手法会不断补进来,定期用git clone https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings同步即可。但再新的payload也要对着目标自己验证,清单是起点,不是结论。
它和sqlmap是什么关系
sqlmap是自动化工具,负责替你发现注入点并拖库;这个项目是人工测试时读的参考,帮你理解注入原理和WAF绕过的来龙去脉。SQL注入模块里的SQLmap.md也是一份使用速查表,两边对照着看效率更高。
新手入门Web安全测试从哪开始
从SQL注入或XSS模块入手。先读README的检测步骤,建立"怎么发现"的感觉,再看payload学"怎么打"。不建议背列表,背了也记不住。
如何在授权范围内合法使用payload库
只针对有书面授权的目标测试,范围以授权书为准。发现问题反馈给负责方,别把payload用在任何未授权的行动上。
payload库给你的是弹药,判断目标、选思路、下结论仍得靠自己。 打开仓库,照着上面的流程跑一次你的第一次测试。 测完回头看一遍攻防对照表,防御侧的动作会记得更牢。
免责声明:本文技术内容仅限合法授权的安全测试场景使用,请勿用于任何未授权目标。
【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考