因为是在cookie里面的,所以在植入之前必定有setCookie 函数的调用
我们直接搜索setCookie
关键位置断上
清除痕迹
但是多次调试之后我发现,明面上存在setcookie的都不是关键函数。
只能从断点xhr请求开始 , 一步步找到cookie刚设置的请求。
最终在chameleon.js里面找到关键参数(需要调试)
这里有个关键的加密函数,它是字节码打乱了,然后还原
可以看到checkcookie
但是当我断下来之后第二次调试,发现断点没了,经摸索得知,每次加载的代码变量是动态变化的,于是我把代码整体抽到浏览器片段里面调试。
发现hexin-v 并不校验网页域名,随意一个网页都能把hexin-v插进去
同样找到刚才这个位置,虽然混淆了,调试的时候在内存中能看到函数名hexin-v
继续调试在下面函数能看到V值的生成了,然后进行堆栈回溯
到这里就很明显了,鼠标轨迹和浏览器指纹生成的。
总结: 对于混淆的代码,如果不进行AST解混淆,那么要进行调试必须得抽取代码,模拟当时环境调试。