chat
类似 XSS 的攻击有哪些?
很好,这个问题问得非常“安全架构层级” 👍 如果说 XSS 是前端最典型的注入攻击,那它只是冰山一角。和 XSS 同一“家族”的攻击,其实是一个完整的攻击谱系。
我给你按「攻击本质」分类,帮你建立一套安全认知地图。
一、和 XSS 同级的“注入类攻击”(最危险家族)
它们的共同点:
把恶意内容当成指令执行
1. SQL 注入(SQL Injection)
把用户输入拼接进 SQL 语句。
例子原理:
用户名: admin' OR '1'='1
危害:
- 数据库被拖库
- 数据篡改
- 权限绕过
✅ 防御:
- PreparedStatement
- ORM 参数绑定
- 禁止字符串拼接 SQL
2. OS 命令注入(Command Injection)
攻击者让服务器执行系统命令:
; rm -rf /
常见场景:
- 调用 shell 执行命令
- 文件处理系统
✅ 防御:
- 禁止拼接 shell 命令
- 使用白名单参数
- 最小权限原则
3. LDAP 注入
类似 SQL,只不过目标是 LDAP 目录服务。
危害:
- 绕过认证
- 获取组织架构、用户信息
4. XPath 注入
针对 XML 查询语言的注入攻击:
- 常见于老系统、政企系统
二、Web 权限类攻击
5. CSRF(跨站请求伪造)
伪造用户身份发请求:
场景: 用户登录状态下访问恶意网站 → 自动向你系统发请求。
危险操作:
- 转账
- 修改密码
- 删除数据
✅ 防御:
- CSRF Token
- SameSite Cookie
- Referer 校验
6. IDOR(越权访问)
直接修改参数获取他人数据:
/api/order?id=10001 → 改成 10002
危害:
- 任意查看他人数据
- 修改他人资源
✅ 防御:
- 每次校验当前用户权限
- 不能只靠前端控制
7. 逻辑漏洞攻击
利用业务规则盲区:
- 重复领取优惠券
- 越界操作
- 多次退款
这是安全中最难防的一类,非常常见。
三、浏览器与前端相关攻击
8. Clickjacking(点击劫持)
覆盖透明 iframe,引诱用户点击:
- 用户以为点 A,实际上点 B
✅ 防御:
X-Frame-Options: DENY
9. DOM 型攻击
类似 XSS,但在浏览器 JS 中产生:
location.hash 注入
innerHTML 拼接
四、会话与身份攻击
10. Session 劫持
通过:
- XSS + Cookie 窃取
- 网络中间人
✅ 防御:
- HttpOnly
- Secure Cookie
- HTTPS
11. 重放攻击(Replay)
截获请求包重复发送。
常见于:
- 登录
- 支付接口
✅ 防御:
- nonce + timestamp
- 请求签名
12. 暴力破解 & 撞库
- 密码组合爆破
- 数据库泄露后的账号尝试
✅ 防御:
- 登录限流
- 验证码
- 失败锁定
五、供应链攻击
13. 依赖投毒
篡改第三方库代码:
- NPM 后门事件
- OpenSSL 漏洞
✅ 防御:
- 依赖审计
- 锁版本
- SBOM
六、文件与上传攻击
14. 文件上传漏洞
上传:
- WebShell
- 木马脚本
✅ 防御:
- 严格限制扩展名
- MIME 验证
- 存储隔离
七、信息泄露类攻击
15. 敏感信息泄露
- 配置文件暴露
- 日志打印密码
- 接口直接返回密钥
八、综合对比:XSS 在攻击体系中的位置
安全攻击谱系图:
注入类:
├── XSS
├── SQL Injection
├── Command Injection
└── LDAP 注入
会话类:
├── CSRF
├── Session Hijacking
└── Replay
授权类:
├── IDOR
└── 越权访问
客户端类:
├── Clickjacking
└── DOM-based 攻击
九、企业级常见 Top 10 攻击(实战高频)
来自 OWASP Top 10 常见组合:
- XSS
- SQL 注入
- CSRF
- 文件上传漏洞
- 未授权访问
- 逻辑漏洞
- 会话固定
- 信息泄露
- SSRF
- 依赖组件漏洞
十、你该如何构建系统级防护
如果你是做平台架构,我建议建立四层安全体系:
| 层级 | 防护重点 |
|---|---|
| 前端 | 输入过滤 + CSP |
| 接口 | 参数校验 + Token |
| 服务 | 权限控制 + 认证 |
| 数据 | 加密 + 审计 |
简单总结
可以把“类似 XSS 的攻击”理解为:
一切把数据当代码执行的攻击 一切利用用户信任和系统漏洞的攻击
XSS = 浏览器执行代码 SQL 注入 = 数据库执行代码 命令注入 = 操作系统执行代码
本质都是:执行了不该执行的东西
