定期进行漏洞扫描是保障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使用
- 配置浏览器代理
- Spider抓取网站结构
- Active Scan深度扫描
- 查看扫描报告
- 导出漏洞详情
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漏洞公告
- 及时更新依赖库