问题:

1.第一页请求正常能返回数据

2.第二页开始之后出现{"error": "Unexpected token/Validation failed"}

分析:

猿人web学刷题18-LMLPHP

1.第二页开始,有带加密参数,直接重发请求无果,应该带了时间戳加密


先说说什么是jsvmp,jsvmp 只有在调试的时候才能理解代码

jsvmp总体架构

整体架构流程是服务器端通过对JavaScript代码词法分析 -> 语法分析 -> 语法树->生成AST->生成私有指令->生成对应私有解释器,将私有指令加密与私有解释器发送给浏览器,就开始一边解释,一边执行

猿人web学刷题18-LMLPHP

日志点写法

 _v_[4][___].toString()!='[object MouseEvent]'?  _v_[0]:null.x
v__,"==>",_v_[4][___].toString()!='[object MouseEvent]'?_v_[4][___]:null.x

然后上条件断点 

arguments[0].toString()!='[object MouseEvent]'
_[2][0].e.toString()!='[object MouseEvent]'

猿人web学刷题18-LMLPHP

首次直接进入 __V(u__, _v_[2], _V_),因为_v_[1]是[]空

3 == __U || 15 == __U || 11 == __U || 13 == __U || 28 == __U || 30 == __U || 41 == __U 底部节点

return __(v__, __U) ,重新安装节点

猿人web学刷题18-LMLPHP

 猿人web学刷题18-LMLPHP

 猿人web学刷题18-LMLPHP

可以看到是clientX +"字符" + clientY , 是一个鼠标轨迹 ,按照英文字母可以猜m 是move ,d 是down,u 是 up ,也就是鼠标的移动,按下,弹起的记录,还有上面记录了是AES加密,展开是PKCS7 CBC 。基本知道加密逻辑,鼠标轨迹加密

进入流程27

猿人web学刷题18-LMLPHP

猿人web学刷题18-LMLPHP拿到key 和 iv了 

07-11 15:59