itdog测速脚本JS脚本混淆分析
本次分析的是“网站测速”模块。进入页面后,通过F12开发者工具,进行网页抓包,发现点击“开始测速”后,发现页面进行了一个 POST 请求,如图,经过请求页面后,发现有一段JS代码进行WSS(websockets)协议连接;
通过分析 POST后的页面源码,发现一段疑似进行WSS协议链接的网页代码:
$(function(){
//新增历史记录
add_history('http://code.chboy.top');
//开始分发任务
//连接websocket
var ws;
var wss_url='wss://www.itdog.cn/websockets';
var task_id='20240627153112mtm0f2jx561tfo0e0g';
var check_mode='fast';
create_websocket(wss_url,task_id,check_mode);
});
通过溯源这个JS代码中的 create_websocket 函数,后发现于一个经过混淆的JS代码内(https://www.itdog.cn/frame/js/pages/http_speed.js)。
通过JS代码整体情况来看,疑似ob混淆,参考文献:https://blog.csdn.net/weixin_43411585/article/details/123437953
于是我们使用 v_jstools 工具进行解密。
通过原JS脚本下断点,发现WSS协议中的加密参数
ws.onopen = function () {
ws.send("{\"task_id\":\"" + _0x261ac6 + "\",\"task_token\":\"" + md5(_0x261ac6 + "token_20230313000136kwyktxb0tgspm00yo5", 16) + "\"}");
};
可见,通过task_id字段和"token_20230313000136kwyktxb0tgspm00yo5"字符串进行拼接,然后MD5加密,之后取MD5的前16个字符。
然而,在POST接口时,task_id字段已经明文告知,此处不需要解密,直接调用这个解密即可解密。
详情解密结果,可见附件。
itdog.zip
版权申明
本文系作者 @chboy 原创发布在轩哥代码库站点。未经许可,禁止转载。
暂无评论数据