CSRF漏洞
/api/user/delete
漏洞描述
用户删除接口未验证CSRF Token,攻击者可以构造恶意页面诱导用户删除账号。
复现证据
修复建议
实现CSRF Token验证机制,所有状态改变的请求必须携带有效的CSRF Token。
文件上传漏洞
/api/upload
漏洞描述
文件上传接口未验证文件类型,可以上传恶意脚本文件。
复现证据
修复建议
严格验证文件类型和扩展名,使用白名单机制,将上传文件存储在非执行目录。
SSRF漏洞
/api/fetch
漏洞描述
远程资源获取接口未验证目标URL,可以访问内网资源。
复现证据
修复建议
验证目标URL的合法性,禁止访问内网IP段,使用URL白名单机制。
XXE漏洞
/api/xml/parse
漏洞描述
XML解析接口未禁用外部实体,可以读取服务器文件。
复现证据
修复建议
禁用XML外部实体解析,使用安全的XML解析器配置。
弱密码策略
/register
漏洞描述
注册接口未强制密码复杂度要求,允许使用弱密码。
复现证据
修复建议
强制密码复杂度要求:至少8位,包含大小写字母、数字和特殊字符。
会话固定漏洞
/login
漏洞描述
登录后未重新生成Session ID,存在会话固定攻击风险。
复现证据
修复建议
登录成功后必须重新生成Session ID,使旧的Session ID失效。
目录遍历漏洞
/api/file/read
漏洞描述
文件读取接口未验证路径,可以读取任意文件。
复现证据
修复建议
验证文件路径,禁止..符号,使用白名单限制可访问目录。
HTTP响应拆分
/redirect
漏洞描述
重定向接口未过滤换行符,可以注入HTTP响应头。
复现证据
修复建议
过滤URL参数中的换行符( ),使用URL编码验证。
点击劫持漏洞
/
漏洞描述
网站未设置X-Frame-Options响应头,可以被嵌入iframe进行点击劫持。
复现证据
修复建议
设置X-Frame-Options: DENY或SAMEORIGIN响应头,或使用CSP的frame-ancestors指令。
CORS配置错误
/api/*
漏洞描述
CORS配置过于宽松,允许任意域名跨域访问。
复现证据
修复建议
限制CORS允许的域名,使用白名单机制,敏感接口禁止跨域访问。
缺少安全响应头
/
漏洞描述
网站缺少多个安全相关的HTTP响应头。
复现证据
修复建议
添加安全响应头:X-Content-Type-Options: nosniff, X-XSS-Protection: 1; mode=block, Strict-Transport-Security: max-age=31536000, Content-Security-Policy。
Cookie安全属性缺失
/login
漏洞描述
Session Cookie缺少Secure和HttpOnly属性。
复现证据
修复建议
为Session Cookie添加Secure和HttpOnly属性:Set-Cookie: JSESSIONID=abc123; Path=/; Secure; HttpOnly; SameSite=Strict。
版本信息泄露
/
漏洞描述
HTTP响应头泄露服务器版本信息。
复现证据
修复建议
隐藏或移除Server和X-Powered-By响应头,避免泄露版本信息。
目录列表开启
/uploads/
漏洞描述
上传目录开启了目录列表功能,可以浏览所有上传文件。
复现证据
修复建议
禁用Web服务器的目录列表功能(Apache: Options -Indexes, Nginx: autoindex off)。
缺少速率限制
/api/login
漏洞描述
登录接口缺少速率限制,可以进行暴力破解。
复现证据
修复建议
实现速率限制:同一IP每分钟最多尝试5次登录,失败3次后需要验证码。
错误信息泄露
/api/user
漏洞描述
错误响应包含详细的堆栈跟踪信息。
复现证据
修复建议
在生产环境禁用详细错误信息,只返回通用错误提示,详细日志记录到服务器。
缺少日志记录
/api/*
漏洞描述
系统缺少安全事件日志记录。
复现证据
修复建议
记录所有安全相关事件:登录失败、权限拒绝、异常访问等,便于安全审计和事件响应。
缺少输入长度限制
/api/comment
漏洞描述
评论接口未限制输入长度,可能导致存储溢出或DoS。
复现证据
修复建议
限制所有用户输入的长度,评论内容建议限制在10KB以内。
缺少HTTPS强制跳转
http://oa.company.com
漏洞描述
HTTP访问未强制跳转到HTTPS,可能导致中间人攻击。
复现证据
修复建议
配置HTTP到HTTPS的301永久重定向,并设置HSTS响应头。
缺少验证码保护
/register
漏洞描述
注册接口缺少验证码保护,可以批量注册账号。
复现证据
修复建议
在注册、登录等敏感操作中添加验证码(如reCAPTCHA),防止自动化攻击。
缺少内容类型验证
/api/upload
漏洞描述
文件上传只验证扩展名,未验证文件实际内容类型。
复现证据
修复建议
验证文件的实际MIME类型和文件头魔数,不能仅依赖扩展名。
缺少密码历史记录
/api/user/password
漏洞描述
修改密码时未检查历史密码,可以重复使用旧密码。
复现证据
修复建议
记录用户最近5次密码的哈希值,修改密码时禁止使用历史密码。
缺少密码过期策略
/login
漏洞描述
系统未强制用户定期修改密码。
复现证据
修复建议
实施密码过期策略:要求用户每90天修改一次密码,过期后强制修改。
缺少账号锁定机制
/api/login
漏洞描述
多次登录失败后未锁定账号,可以无限尝试。
复现证据
修复建议
实施账号锁定机制:连续5次登录失败后锁定账号15分钟,或要求邮箱验证解锁。
缺少会话超时
/login
漏洞描述
Session永不过期,存在安全风险。
复现证据
修复建议
设置合理的Session超时时间:闲置30分钟后自动登出,绝对超时时间24小时。
缺少并发会话控制
/login
漏洞描述
同一账号可以在多个设备同时登录,未限制并发会话。
复现证据
修复建议
限制同一账号的并发会话数:新设备登录时,旧设备Session失效,或提示用户选择。