JSONBee项目贡献指南:如何添加新的JSONP端点并扩展数据库
【免费下载链接】JSONBeeA ready to use JSONP endpoints/payloads to help bypass content security policy (CSP) of different websites.项目地址: https://gitcode.com/gh_mirrors/js/JSONBee
JSONBee是一个提供现成JSONP端点和负载的工具,旨在帮助绕过不同网站的内容安全策略(CSP)。本指南将详细介绍如何为JSONBee项目添加新的JSONP端点并扩展其数据库,即使你是开源贡献新手也能轻松上手。
为什么贡献JSONP端点很重要
JSONBee的核心功能是帮助安全研究人员和开发者绕过网站的内容安全策略。项目主要通过三种方法收集JSONP端点,这些端点来自于实际的漏洞赏金狩猎活动,对于CSP绕过至关重要。随着网站安全策略的不断更新,持续添加新的JSONP端点可以让JSONBee保持其有效性和实用性。
准备工作:克隆项目仓库
首先,你需要将JSONBee项目克隆到本地环境。打开终端,运行以下命令:
git clone https://gitcode.com/gh_mirrors/js/JSONBee克隆完成后,进入项目目录,你会看到以下主要文件:
- LICENSE:项目许可证文件
- README.md:项目说明文档
- csp_lab.php:CSP测试实验室文件
- jsonp.txt:JSONP端点存储文件
步骤一:了解JSONP端点的结构
在添加新的JSONP端点之前,先了解一下JSONP端点的基本结构。JSONP(JSON with Padding)是一种跨域数据请求的方法,其典型形式如下:
https://example.com/api/data?callback=handleResponse其中,callback参数是必须的,它指定了回调函数的名称。当服务器收到这样的请求时,会返回一个包含数据的JavaScript函数调用,例如:
handleResponse({"name": "JSONBee", "version": "1.0"})步骤二:收集新的JSONP端点
你可以通过以下几种方式收集新的JSONP端点:
手动测试:访问目标网站,检查其API接口是否支持JSONP。可以在URL中添加
callback=test参数,如果返回结果是test(...)形式,那么这就是一个有效的JSONP端点。漏洞赏金活动:参与漏洞赏金项目时,记录遇到的JSONP端点。这些端点通常在实际环境中经过验证,具有较高的实用价值。
公开资源:查阅安全博客、技术论坛和开源项目,收集其他研究人员分享的JSONP端点。
步骤三:添加端点到jsonp.txt文件
找到项目中的jsonp.txt文件,这是存储所有JSONP端点的数据库文件。打开该文件,按照以下格式添加新的JSONP端点:
# 网站名称 https://example.com/api/endpoint1?callback= https://example.com/api/endpoint2?callback=确保每个端点都以?callback=或&callback=结尾,以便JSONBee工具能够正确识别和使用这些端点。同时,为了保持文件的整洁,请为不同网站的端点添加注释标题。
步骤四:测试新添加的端点
添加完新的JSONP端点后,需要进行测试以确保其有效性。你可以使用项目中的csp_lab.php文件来测试CSP绕过效果。
- 打开
csp_lab.php文件,你会看到其中定义了一个CSP策略:
$headerCSP = "Content-Security-Policy-Report-Only:". "connect-src 'self' ;". "default-src 'self';". "frame-ancestors 'self' ;". "frame-src 'none';". "media-src 'self' *.example.com;". "object-src 'none'; ". "report-uri https://example.com/violationReportForCSP.php;". "script-src 'self' *.uber.com *.twitter.com *.google.com code.jquery.com https://ssl.google-analytics.com ;". "style-src 'self' 'unsafe-inline';";修改CSP策略,将你添加的JSONP端点域名添加到
script-src指令中。在浏览器中访问
csp_lab.php?name=<script src="你的JSONP端点"></script>,检查是否能够成功加载脚本并执行。如果CSP报告仅模式(Report-Only)记录了违规,说明你的JSONP端点可以绕过该CSP策略。
步骤五:提交贡献
当你确认新添加的JSONP端点有效后,就可以提交贡献了:
- 将修改后的
jsonp.txt文件提交到本地Git仓库:
git add jsonp.txt git commit -m "Add new JSONP endpoints for example.com"- 推送到你的fork仓库,并创建Pull Request,等待项目维护者审核。
贡献最佳实践
为了确保你的贡献被顺利接受,请遵循以下最佳实践:
- 只添加有效端点:确保你添加的每个JSONP端点都是经过测试验证的。
- 提供详细注释:为每个端点添加网站名称和简要说明,方便其他用户理解其用途。
- 保持格式一致:遵循
jsonp.txt中已有的格式,包括缩进和注释方式。 - 尊重版权:不要添加受版权保护或未授权的端点资源。
通过贡献JSONP端点,你不仅帮助了其他安全研究人员,也为网络安全社区的发展做出了贡献。开始你的第一次贡献吧,让JSONBee变得更加强大和实用!
【免费下载链接】JSONBeeA ready to use JSONP endpoints/payloads to help bypass content security policy (CSP) of different websites.项目地址: https://gitcode.com/gh_mirrors/js/JSONBee
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考