Web漏洞分类与详解
一、SQL 注入相关漏洞
- 基础 SQL 注入(SQLi)
- 报错注入
- 二次注入(存储型 SQL 注入的特殊形式,输入存储后触发)
- 堆叠注入(通过分号执行多条 SQL 语句)
- 盲注
布尔盲注(基于查询结果的真假判断)
时间盲注(基于延迟响应判断)
GET 注入(URL 参数)
POST 注入(表单数据)
Cookie 注入(Cookie 字段)
User-Agent 注入(请求头字段)
Referer 注入(请求头字段)
二、跨站脚本(XSS)相关漏洞
- 存储型 XSS(恶意脚本存储到服务器,持久触发)
- 反射型 XSS(脚本随请求返回,一次性触发)
- DOM 型 XSS(客户端 DOM 解析时执行,不经过服务器)
三、命令注入相关漏洞
- 直接命令注入(用户输入直接拼接系统命令执行)
- 间接命令注入(通过文件上传、配置文件等间接触发)
四、文件操作相关漏洞
1.文件上传漏洞(细分 4 类)
后缀名绕过(如.php5、.phtml)
MIME 类型绕过(修改Content-Type)
路径遍历结合上传(如../shell.php)
解析漏洞利用(如 IIS/nginx 解析缺陷)
1.文件包含漏洞
本地文件包含(LFI,包含服务器本地文件)
远程文件包含(RFI,包含远程恶意文件)
- 任意文件读取(未授权读取敏感文件,如/etc/passwd)
- 任意文件删除(未授权删除服务器文件)
- 任意文件写入(未授权写入文件,如写入后门)
五、认证与授权漏洞
- 弱口令(密码复杂度不足,易被暴力破解)
- 默认口令(未修改设备 / 系统默认账号密码)
- 密码明文传输(未加密传输,如 HTTP 传输密码)
- 会话固定(固定会话 ID,诱导用户使用)
- 会话劫持(窃取会话 ID 冒充用户)
- 越权访问(细分 2 类)
水平越权(访问同权限用户数据,如查他人订单)
垂直越权(低权限访问高权限功能,如普通用户进后台)
- 权限提升(通过漏洞获取更高权限)
- 认证绕过(直接跳过登录验证,如逻辑缺陷)
- 多因素认证缺失(仅单因素认证,易被破解)
- 密码重置逻辑漏洞(如验证码复用、重置链接永久有效)
六、跨站请求伪造(CSRF)相关漏洞
- 基础 CSRF(诱导用户在已登录状态执行操作)
- GET 型 CSRF(利用 GET 请求的幂等性触发)
- POST 型 CSRF(利用表单自动提交触发)
七、逻辑漏洞
- 支付逻辑漏洞(如价格篡改、重复支付退款)
- 订单逻辑漏洞(如越权修改订单状态、重复下单)
- 注册逻辑漏洞(如重复注册、批量注册、手机号复用)
- 密码找回逻辑漏洞(如跳过验证步骤、验证码泄露)
- 验证码逻辑漏洞(如验证码过期时间长、可重复使用)
- 业务流程绕过(如跳过关键步骤完成操作)
八、XML 与数据格式相关漏洞
- XML 外部实体注入(XXE,利用外部实体读取文件 / 执行命令)
- XML 注入(修改 XML 结构导致数据篡改或泄露)
- XPath 注入(XPath 查询未过滤,导致数据泄露)
九、服务器配置漏洞
- 目录遍历(通过../等路径访问非预期目录)
- 敏感信息泄露(如 PHPINFO、数据库错误详情、日志泄露)
- 服务器版本泄露(响应头暴露 Apache/Nginx 版本)
- 默认页面未删除(如phpMyAdmin、test.php默认路径)
- 目录索引开启(未禁用自动目录列表,泄露文件结构)
- 不安全 HTTP 方法(开启 PUT/DELETE,允许文件操作)
- CORS 配置不当(跨域资源共享规则过松,泄露数据)
十、密码学与传输漏洞
- 弱加密算法(如使用 MD5、SHA1 存储密码)
- 密钥泄露(硬编码密钥、日志泄露密钥)
- 明文存储密码(数据库直接存储明文密码)
- 加密传输缺失(未用 HTTPS,数据明文传输)
- SSL/TLS 配置漏洞(支持弱加密套件、协议版本过低)
十一、API 与新兴技术漏洞
- API 未授权访问(接口缺少认证,直接调用)
- API 参数篡改(修改接口参数越权操作)
十二、其他类型漏洞
- 反序列化漏洞(如 Java/PHP 反序列化执行命令)
- 服务器端请求伪造(SSRF,诱导服务器请求内网资源)
- 点击劫持(通过透明层诱导用户点击非预期按钮)
- 模板注入(如 Jinja2/Twig 注入,执行代码)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 半清安'blog!