SleepTheGod/JustBet_0Day_Poc
GitHub: SleepTheGod/JustBet_0Day_Poc
这是一个演示如何通过拦截 Fetch/XHR 请求和篡改本地存储来伪造 JustBet 平台 AI Credits 余额的客户端漏洞概念验证工具。
Stars: 0 | Forks: 0
# JustBet 0Day PoC - AI Credits 漏洞利用
## ⚠️ 免责声明
**本内容仅供教育和安全研究目的。未经授权修改或利用任何网站的功能是非法的,并且违反了服务条款。此概念验证旨在用于负责任的漏洞披露目的,以演示安全漏洞。**
## 概述
此概念验证演示了一种客户端漏洞,该漏洞会修改 JustBet 平台上 AI Credits 的显示和本地存储。该漏洞利用程序通过拦截 API 响应并篡改本地数据,使 AI Credits 的显示余额变为 $100.00。
## 工作原理
### 漏洞详情
该漏洞利用程序通过以下方式针对客户端数据处理:
1. **拦截 API 响应** - 劫持发往 credit/wallet endpoint 的 fetch 和 XMLHttpRequest 调用
2. **修改 Local Storage** - 篡改 localStorage/sessionStorage 中存储的用户数据
3. **DOM 篡改** - 更新显示信用值的 UI 元素
4. **持久化** - 通过定期更新来维持被修改的状态
### 技术分析
#### 1. Fetch API 拦截
```
const origFetch = window.fetch;
window.fetch = function(...args) {
// Targets /api/balance, /api/credits, /api/wallet, /api/user
// Returns modified JSON with credits set to $100.00
}
```
#### 2. XMLHttpRequest 劫持
```
XMLHttpRequest.prototype.open = function(method, url, ...rest) {
// Tracks request URLs
}
XMLHttpRequest.prototype.send = function(body) {
// Modifies response data before returning to the application
}
```
#### 3. Storage 篡改
```
Storage.prototype.getItem = function(key) {
// Intercepts and modifies stored balance/credit values
// Returns modified JSON data
}
```
#### 4. UI 更新
- 扫描 DOM 中包含信用值的元素
- 将 "$0.00" 替换为 "$100.00"
- 将 "0 WINR" 更新为 "100 WINR"
## 使用说明
### 方法 1:浏览器控制台(快速测试)
1. 导航至 `https://justbet.com`
2. 打开开发者工具(按 F12 或右键点击 → 检查)
3. 转到 Console 标签页
4. 复制并粘贴整个漏洞利用代码
5. 按 Enter 键执行
### 方法 2:Bookmarklet(一键执行)
使用以下 URL 创建一个书签:
```
javascript:(function(){const script=document.createElement('script');script.textContent='/* PASTE EXPLOIT CODE HERE */';document.head.appendChild(script);})();
```
### 方法 3:浏览器扩展(持久化)
为了进行更持久化的测试,可以创建一个在 JustBet 页面上注入该脚本的 Chrome 扩展。
## 预期结果
执行后,您应该会看到:
- 控制台输出:"💰 Exploiting AI Credits - Setting to $100.00"
- AI Credits 显示更新为 $100.00
- localStorage/sessionStorage 中的值已被修改
- 通过自动更新保持持续的持久化
## 检测与防御
### 如何检测
- 监控被篡改的 `window.fetch` 和 `XMLHttpRequest` 原型
- 检查被篡改的 `Storage.prototype.getItem` 方法
- 留意 credit 相关元素中意外的 DOM 变动
- 对 credit 数量进行服务器端验证
### 防御措施
1. **服务器端验证** - 永远不要信任客户端数据
2. **Object.freeze()** - 防止原型被修改
3. **Content Security Policy** - 限制脚本执行
4. **定期完整性检查** - 验证客户端代码是否被篡改
5. **API 响应签名** - 验证响应的真实性
6. **监控控制台访问** - 在生产环境中限制开发者工具
## 道德考量
此 PoC 旨在:
- 演示真实环境中的安全漏洞
- 帮助开发者了解客户端攻击向量
- 促进负责任的漏洞披露实践
**严禁**未经明确授权在生产系统上使用此漏洞利用程序。在测试安全措施之前,请务必获得适当的许可。
## 负责任的漏洞披露
如果您发现了漏洞
1. 私下通知受影响的服务提供商
2. 给予合理的修复时间
3. 仅在修复实施后才公开披露
## 仓库结构
```
JustBet_0Day_PoC/
├── PoC.txt # Main exploit code
├── README.md # This documentation
└── LICENSE # License information
```
## 许可协议
本项目仅供教育目的使用。风险自负。作者对因滥用此代码或由此造成的损害不承担任何责任。
**最后更新:** 2026
**作者:** Taylor Christian Newsome | SleepTheGod | ClumsyLulz |
**代码仓库:** [GitHub - SleepTheGod/JustBet_0Day_Poc](https://github.com/SleepTheGod/JustBet_0Day_Poc)
标签:API劫持, DOM操纵, Github安全, Web前端, 客户端攻击, 数据可视化, 概念验证