定期进行漏洞扫描是保障Web应用安全的重要手段。本文介绍常用的漏洞扫描工具和漏洞修复方法。

一、漏洞扫描工具

1.1 自动化扫描工具

  • AWVS:Acunetix Web Vulnerability Scanner,商业级
  • Appscan:IBM安全产品,企业版
  • Netsparker:准确率高
  • Burp Suite:Web安全测试综合工具

1.2 开源工具

  • OWASP ZAP:免费、跨平台
  • Nikto:Web服务器扫描
  • SQLMap:SQL注入检测
  • XSStrike:XSS漏洞检测

二、扫描实操示例

2.1 OWASP ZAP使用

  1. 配置浏览器代理
  2. Spider抓取网站结构
  3. Active Scan深度扫描
  4. 查看扫描报告
  5. 导出漏洞详情

2.2 SQLMap检测SQL注入

# 检测URL是否存在SQL注入
sqlmap -u "http://example.com/product?id=1"

# 列出数据库
sqlmap -u "http://example.com/product?id=1" --dbs

# 导出数据
sqlmap -u "http://example.com/product?id=1" -D dbname -T users --dump

三、常见漏洞修复

3.1 SQL注入修复

// Java - 使用PreparedStatement
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, userId);

// Node.js - 使用ORM
const user = await User.findById(userId);

3.2 XSS修复

// HTML转义
function escapeHtml(text) {
  const map = {
    '&': '&',
    '<': '<',
    '>': '>',
    '"': '"',
    "'": '''
  };
  return text.replace(/[&<>"']/g, m => map[m]);
}

四、持续安全

  • 集成安全扫描到CI/CD流程
  • 定期进行渗透测试
  • 关注CVE漏洞公告
  • 及时更新依赖库