菜单

贡献到 PayloadsAllTheThings

相关源文件

本文档提供了向 PayloadsAllTheThings 存储库贡献的全面指南。它涵盖了贡献过程、内容结构、格式要求和最佳实践,以确保存储库的一致性。

目的与范围

PayloadsAllTheThings 是一个社区驱动的存储库,包含用于 Web 应用程序安全的有用 payloads 和 bypasses。该项目欢迎任何愿意通过新的 payloads、技术和文档来改进此集合的贡献。本指南将帮助您了解如何有效且符合项目标准地进行贡献。

来源: README.md1-6 CONTRIBUTING.md1-7

贡献概述

对 PayloadsAllTheThings 的贡献包括:分叉存储库、为您的更改创建分支、根据指南添加或修改内容,以及提交拉取请求以供审核。您的贡献可以包括新的漏洞、额外的 payloads、技术改进或文档更新。

来源: README.md3-5 CONTRIBUTING.md1-7

存储库结构

该存储库按漏洞特定文件夹、方法论资源和学习资源进行组织。每个漏洞文件夹都遵循一致的结构,包含一个 README.md 文件、一个用于 Burp Suite payloads 的 Intruder 文件夹、一个用于截图的 Images 文件夹以及一个用于引用文件的 Files 文件夹。

来源: README.md18-26 CONTRIBUTING.md31-38

内容结构要求

存储库中的每个漏洞或技术部分必须包含以下组件:

组件描述目的
README.md主文档文件描述漏洞以及如何利用它
Intruder/Burp Intruder 文件目录包含用于自动化测试的 payload 列表
Images/图像目录用于 README 的截图和图表
Files/引用文件目录示例漏洞利用或附加资源

README.md 文件应遵循 _template_vuln 文件夹中的模板结构,其中包括:

  1. 标题和描述
  2. 带目录的摘要
  3. 工具部分,包含相关工具的链接
  4. 方法论部分,包含漏洞利用步骤
  5. 实验部分,包含练习资源
  6. 参考资料部分,包含格式正确的引文

来源: README.md20-25 CONTRIBUTING.md31-38 _template_vuln/README.md1-39

贡献指南

拉取请求(PR)要求

所有拉取请求必须遵循以下特定指南,以确保质量和一致性:

  1. Payload 清理:

    • 对于 RCE 概念验证,使用 idwhoami
    • 对于需要回调的域,使用 [REDACTED]
    • 对于 IP 地址,使用 10.10.10.1010.10.10.11
    • 对于特权用户,使用 Administrator;对于普通账户,使用 User
    • 使用 P@ssw0rdPassword123password 作为默认密码
    • 使用常见的机器名称,如 DC01EXCHANGE01WORKSTATION01
  2. 引用要求:

    • 所有引用都应包含作者、标题、链接和日期
    • 对于不可用的引用,使用 Wayback Machine
    • 遵循日期格式:月 份,年(例如,December 25, 2024
    • GitHub 存储库引用格式为:<FileRef file-url="https://github.com/swisskyrepo/PayloadsAllTheThings/blob/7eb75cea/author/tool" undefined file-path="author/tool">Hii</FileRef> - Description
  3. Markdown 质量:

    • 所有贡献都将使用 markdownlint 进行检查
    • 您可以使用 Docker 在本地验证您的文件

来源: CONTRIBUTING.md9-29

README.md 内容结构

README.md 文件应包含结构良好的内容,遵循 _template_vuln/README.md 中的模板。结构包括:

  1. 标题和描述:清晰的标题和对漏洞的简要说明
  2. 摘要/目录:链接到主要部分的目录
  3. 工具部分:相关工具列表,包含其存储库的链接和描述
  4. 方法论部分:漏洞利用步骤的解释,包含代码片段和示例
  5. 实验部分:可练习类似漏洞的在线平台链接
  6. 参考资料部分:格式正确的外部资源,提供额外上下文

来源: CONTRIBUTING.md40-47 _template_vuln/README.md1-39

模板使用

_template_vuln 文件夹是添加新漏洞的起点。它包含所有漏洞文档所需的基本结构。

_template_vuln/
├── README.md           # Main documentation template
├── Intruder/           # Directory for Burp Intruder files
├── Images/             # Directory for screenshots and diagrams
└── Files/              # Directory for additional files

添加新漏洞部分时:

  1. 复制 _template_vuln 文件夹并将其重命名为您的漏洞名称
  2. 根据模板结构填充 README.md,包含适当的内容
  3. 将相关文件添加到 Intruder、Images 和 Files 目录
  4. 确保所有内容都遵循清理和格式指南

来源: CONTRIBUTING.md31-38 README.md20

内容关系

PayloadsAllTheThings 存储库包含按漏洞类型、方法论和学习资源组织的相关内容。新贡献应符合此结构,并酌情与现有内容相关联。

来源: README.md18-32

Payloads 的作用

存储库中的 payloads 按漏洞类型分类,旨在实用、简洁,并可用于渗透测试或安全研究。每个 payload 都应:

  1. 专注:针对特定的漏洞或利用技术
  2. 实用:可在实际场景中直接使用
  3. 已清理:遵循清理指南
  4. 有文档:清晰解释其目的和用法

.github/hopla_config.json 文件包含存储库中使用的 payload 类别和格式示例。

来源: .github/hopla_config.json2-2526

学习资源与社区

除了漏洞 payloads,存储库还维护精选的学习资源:

  1. 书籍_LEARNING_AND_SOCIALS/BOOKS.md 中推荐的安全文献
  2. YouTube 频道_LEARNING_AND_SOCIALS/YOUTUBE.md 中的安全内容创作者
  3. Twitter 账户_LEARNING_AND_SOCIALS/TWITTER.md 中值得关注的安全研究人员

欢迎对这些资源进行贡献,遵循与存储库其他部分相同的格式指南。

来源: README.md27-32 _LEARNING_AND_SOCIALS/BOOKS.md1-65 _LEARNING_AND_SOCIALS/YOUTUBE.md1-65 _LEARNING_AND_SOCIALS/TWITTER.md1-32

贡献者最佳实践

  1. 从小处着手:如果您是新手,在进行更大的添加之前,请从小的改进开始。
  2. 参考现有内容:查看现有文件以获取格式和样式示例。
  3. 测试您的 payloads:在提交之前确保 payloads 按预期工作。
  4. 使用模板:始终使用 _template_vuln 作为新部分的起点。
  5. 遵循清理规则:严格遵守清理指南。
  6. 保持一致性:在格式和样式上与现有内容保持一致。
  7. 提供上下文:始终包含对您贡献的解释和参考。
  8. 回应反馈:在评审过程中乐于接受反馈。

结论

对 PayloadsAllTheThings 的贡献是与安全社区分享您的知识的机会。通过遵循这些指南,您可以确保您的贡献保持存储库的质量和一致性。该项目欢迎所有形式的贡献,从新的 payloads 到文档改进。

请记住,您还可以通过赞助项目或将其分享给其他可能从中受益或做出贡献的人来贡献力量。

来源: README.md34-44 CONTRIBUTING.md1-7