遇到一个钓鱼 QQ 号的这个技术有点看不懂,有没有大佬分析一下这个重定向是怎么做到的?

30 天前
 zephyru

套路本身很常见,收到一个让帮忙给它亲戚家的孩子舞蹈比赛投票的拉票链接,点进去提示为了防止拉票要输入 QQ 号账户密码,一眼诈骗没什么好说的..

但有意思的是这个链接只能在 QQ 上打开,电脑浏览器里打开是 QQ 空间的 404 ,QQ 里打开以后复制链接看起来是像是和网易云音乐有关的地址(电脑上打开依旧是 QQ 空间的 404 ),但真实的地址是完全不相干的东西...

诈骗的链接是:www.0bj6.fun/3wkq
跳转后在 QQ 里打开的: http://p6.music.126.net/7FsUv-uugQmdDd-q9YgX7g==/109951169568998576?t=q5UbMRTQUp1MGh1Tw0kaNVjVYRWdjNDT29GRjBjUIZzMiBTOjZTNkBT013bd62ed5Y#514
真实的链接: https://w.uuy2349qwe08.cc/

只有真实的链接是可以在浏览器里打开的,我在想这个重定向是通过什么做到的?第一个看起来是一个短链接,第二个看起来像是代理...是 QQ 和网易云音乐上有什么漏洞被利用了么?

纠结了一下是提到“全球工单系统”还是“程序员”,还是放在“程序员”吧,我也不确定这算不算腾讯的产品有 bug

2937 次点击
所在节点    程序员
22 条回复
blacklinux
30 天前
User-Agent
fengzhongdeyihan
30 天前
edward1987
30 天前
用 postman 请求一下页面,自己复制混淆代码出来执行一下。关键代码如下,就是用 ua 判断的
var ua = navigator.userAgent.toString();
if (ua.indexOf("QQ") !== -1) {
yuzo555
30 天前
网易云音乐的图床没做类型验证,被人上传恶意网页拿来使用了。
网易云音乐的域名在 QQ 内肯定是白名单安全域名,这是用来防封的。
zephyru
30 天前
@edward1987
@fengzhongdeyihan
我一开始 curl 了一下没拿到..但,这个感觉不太能解释为什么从 QQ 里打开直接复制出来的链接是,第二个..
看贴出来的代码似乎用的还是 qq 自己的跳转 api ,最后为什么出来的会是第三个诈骗链接?
duanxianze
30 天前
这种网站要怎么举报
zephyru
30 天前
@yuzo555
原来如此,这解释了第二层的地址为什么是网易云的...我 curl 了一下,发现是一个 html 里面有个 script
感觉整个流程可以脑补出一大半了...
EJW
30 天前
随便输入 qq 号和密码还得等它验证
zephyru
30 天前
@duanxianze 感觉很难,实际上诈骗网址那种格式的域名在 QQ 里几乎一定是会被提醒不安全的...
zephyru
30 天前
@EJW 如果你输入真的了,估计还会找你要验证码,再然后等待验证的时间就够它盗号然后,群发信息了...的确得感谢现在的多因素验证,不然这网站点进去或者点个投票号可能就没了
fengzhongdeyihan
30 天前
参数 t 就是加密后的真实跳转地址,他利用大平台的域名过白.
maggch97
30 天前
让 gpt 写了个 encode 函数,把网址加密一下替换掉 t 参数就能利用他的页面了

function encode(input) {
function encodeBase64(input) {
const base64 = btoa(input).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
return base64;
}

// Step 1: Encode the input string to Base64
var base64Data = encodeBase64(encodeURIComponent(input));

// Step 2: Insert random characters
var randomChars1 = 'ABCDEFGHIJ'; // Example random chars, should be dynamically generated
var modifiedData1 = base64Data.slice(0, 1) + randomChars1 + base64Data.slice(1);

// Step 3: Encode the modified string to Base64 again
var doubleEncodedData = encodeBase64(modifiedData1);

// Step 4: Insert another set of random characters
var randomChars2 = 'KLMNOPQRST'; // Example random chars, should be dynamically generated
var modifiedData2 = doubleEncodedData.slice(0, 1) + randomChars2 + doubleEncodedData.slice(1);

// Step 5: Reverse the string
var encodedData = modifiedData2.split('').reverse().join('');

return encodedData;
}
ShikiSuen
30 天前
liduoduo
30 天前
应该就是简单的 ua 判断
XuHuan1025
30 天前
人工上号的,耍了几次,还不验证了
Laobai
30 天前
已经送去了一波 DD
cheanchun
30 天前
@Laobai 立竿见影
Laobai
30 天前
@cheanchun 都是香港机房,一摸就死了
cheanchun
30 天前
@XuHuan1025 中午无聊,提交了几万随机账号密码
XuHuan1025
30 天前
@cheanchun #19 随机没用,得密码正确,他用 ipad 手动登录的,我这密码都是同一个,他看出来不登了 广东 ip

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1044591

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX