PayloadsAllTheThings Web安全测试速查手册
2026/9/9 17:08:39 网站建设 项目流程

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,拿来就能测。

![文件上传漏洞攻击路径思维导图](https://raw.gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings/raw/5443cbde384134094f25b1b440695757a2803d55/Upload Insecure Files/Images/file-upload-mindmap.png?utm_source=gitcode_repo_files)

SSTI:先用 7*7 把引擎试出来

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

![SSTI模板注入7*7检测payload在Jinja2、Twig、Smarty、Mako引擎上的判别树](https://raw.gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings/raw/5443cbde384134094f25b1b440695757a2803d55/Server Side Template Injection/Images/serverside.png?utm_source=gitcode_repo_files)

工作流:从"翻手册"到"跑起来"

第一步,按测试点找模块。遇到文件上传入口就翻 Upload Insecure Files,遇到模板注入疑点就翻 Server Side Template Injection。README 看思路,Intruder 目录取字典。

第二步,把字典喂进工具。Intruder 目录的列表直接配 Burp Intruder 用;测 SQL 注入时用 SQL Injection 目录的 payload 扩展测试范围。Web Sockets 模块里还有个 ws-harness 脚本,能把 WebSocket 流量桥接给 SQLmap,这是很多手册不会提的用法。

![SQLmap注入检测与数据拉取运行截图](https://raw.gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings/raw/5443cbde384134094f25b1b440695757a2803d55/Web Sockets/Images/sqlmap.png?utm_source=gitcode_repo_files)

第三步,跟着仓库更新。WAF 绕过手法是跟着目标防护迭代的,这个仓库更新也频繁。克隆到本地、定期拉取新 payload 即可:

git clone https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings

🛡️ 攻与防的一体两面:把每条绕过当一条防御项

读这个仓库最实在的方式是攻防对照着读。每条绕过手法都对应一个防御动作,攻击向量越熟,给出的防御建议就越具体:

攻击向量(来自仓库)对应防御动作
上传扩展名绕过:双后缀、.php5/.phtml 变体、.htaccess 与 web.config 接管目录扩展名白名单只放业务需要的;校验文件头 Magic Bytes;上传目录禁用脚本执行并隔离
SQL 注入编码绕过:单引号转 Unicode、多字节编码躲黑名单参数化查询;必须过滤时,先统一解码再匹配
SSTI 模板注入:用户输入直接拼进模板渲染不拿用户输入当模板渲染;必须模板化时用受限沙箱引擎
WAF 黑名单规避:多引擎通吃的 polyglot payload不依赖单一黑名单,白名单校验与上下文感知检查结合

![SQL注入payload的Unicode编码WAF绕过手法图](https://raw.gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings/raw/5443cbde384134094f25b1b440695757a2803d55/SQL Injection/Images/Unicode_SQL_injection.png?utm_source=gitcode_repo_files)

不同角色的下一步

  • 渗透测试人员:每个项目开始前排一次仓库的近期提交记录,目标用的技术栈有变动的话,大概率能翻到新绕过。
  • 后端开发:写完上传功能后,拿 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询