preeeetham/solana_ctf
GitHub: preeeetham/solana_ctf
一套基于 Solana Devnet 的 CTF 安全挑战集合,涵盖密码学、DeFi 和区块链安全三大类别共 30 个实战题目,帮助开发者系统学习智能合约漏洞利用与防御技术。
Stars: 0 | Forks: 0
# Solana CTF 比赛准备
本仓库包含 30 个高级 Solana 安全挑战,旨在帮助您为 Capture The Flag 比赛做准备。这些挑战基于 Solana 协议中发现的现实世界漏洞和攻击模式。
## 🎯 挑战类别
### 1. 密码学谜题(10 个挑战)
专注于破解密码学实现、寻找数学漏洞并利用弱随机性。
### 2. DApp 漏洞利用(10 个挑战)
针对去中心化应用程序中的漏洞,包括 DEX、借贷协议和治理系统。
### 3. 区块链安全场景(10 个挑战)
利用特定于区块链的漏洞,如整数溢出、重入和权限提升。
## 🚀 快速开始
### 前置条件
- Rust 1.75+ 及 Solana 工具链
- Node.js 18+ 及 TypeScript
- Anchor Framework 0.29+
- Solana CLI 工具
### 安装
```
# 安装 Solana 工具
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
# 安装 Anchor
npm install -g @coral-xyz/anchor-cli
# 安装依赖
npm install
# 构建所有 Rust programs
for dir in rust/*/; do
cd "$dir" && anchor build && cd ../..
done
```
## 📋 完整挑战列表
### TypeScript 挑战
#### 密码学谜题
1. **Weak Randomness Oracle** - 利用抽奖中可预测的链上随机性
2. **Ed25519 Signature Malleability** - 利用签名可延展性进行双花攻击
3. **PDA Seed Collision** - 寻找 Program Derived Address 的冲突 seed
4. **Merkle Proof Forgery** - 利用脆弱的 Merkle 树实现
5. **BLS Signature Aggregation Attack** - 破坏门限签名方案
#### DApp 漏洞利用
11. **Flash Loan Attack** - 使用闪电贷和预言机操纵抽干流动性池
12. **AMM Price Manipulation** - 利用恒定乘积公式弱点
13. **Governance Takeover** - 通过操纵投票获取 DAO 治理的控制权
14. **NFT Metadata Injection** - 向 NFT 元数据中注入恶意数据
15. **Cross-Program Invocation Exploit** - 串联 CPI 进行未授权访问
#### 区块链安全
21. **Account Substitution Attack** - 在交易中替换恶意账户
22. **Sysvar Spoofing** - 伪造系统变量以进行利用
23. **Rent Exemption Bypass** - 通过账户操纵逃避租金支付
24. **Transaction Reordering** - 利用交易排序获取利润
25. **State Corruption** - 破坏程序状态以进行未授权访问
### Rust 挑战
#### 密码学谜题
6. **Elliptic Curve Backdoor** - 在自定义曲线实现中寻找隐藏的后门
7. **Zero-Knowledge Proof Bypass** - 破坏 ZK-SNARK 验证器
8. **Hash Collision Mining** - 在弱哈希函数中寻找实际碰撞
9. **Commitment Scheme Break** - 将承诺打开为不同的值
10. **Ring Signature Deanonymization** - 追踪匿名交易
#### DApp 漏洞利用
16. **Oracle Manipulation** - 操纵价格喂口获取利润
17. **Staking Reward Calculation Bug** - 领取过量的质押奖励
18. **Token Mint Authority Hijack** - 夺取 token mint 的控制权
19. **Escrow Double Claim** - 从托管中重复领取资金
20. **DEX Sandwich Attack** - 对 DEX 交易进行抢跑和尾跑
#### 区块链安全
26. **Integer Overflow Treasury Drain** - 利用算术漏洞抽干资金库
27. **Reentrancy in Token Program** - 经典的重入攻击
28. **Authority Escalation** - 在多签中提升权限
29. **Seed Canonicalization Bug** - 利用 PDA 生成缺陷
30. **Cross-Chain Bridge Exploit** - 攻击跨链桥协议
## 🏃 运行挑战
### TypeScript 挑战
```
cd typescript//
npm install
npm test # Run tests
npm run exploit # Run exploit
```
### Rust 挑战
```
cd rust//
anchor build
anchor test
```
## 📚 学习资源
每个挑战包含:
- **README.md** - 挑战描述和目标
- **漏洞代码** - 目标合约/程序
- **漏洞利用模板** - 解决方案的起始代码
- **题解** - 完整可用的漏洞利用代码(请在尝试后再查看!)
## 🛡️ 安全最佳实践
这些挑战将教您识别和利用:
- 算术上溢/下溢
- 重入漏洞
- 访问控制缺陷
- 预言机操纵
- 闪电贷攻击
- 签名可延展性
- 以及更多...
## ⚠️ 免责声明
这些挑战仅供教育目的。切勿在未经明确许可的情况下,在主网尝试这些漏洞利用。在发现真实漏洞时,请始终践行负责任的披露。
## 📄 许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
祝您在 CTF 比赛中玩得开心并取得好成绩!🚀
标签:Anchor框架, MITM代理, Solana, Web3安全, 区块链安全, 可视化界面, 智能合约审计, 自动化攻击