本文仅供学习交流使用,请勿用于商业用途或不正当行为
如果侵犯到贵公司的隐私或权益,请联系我立即删除
抓包分析
先老规矩,手动通过一下,抓包分析下
首先找到验证通过后正常请求网站的包,发现需要下面4个参数
往前面找一下,发现u_asession和u_asig是通过这个文件返回的,但是需要带上以下参数,其中的p、t、n可能会发生变化,需要注意的是这里的 t 和前面的u_atoken相同,所以目前还缺少u_aref、p、n、u_atoken(t)
搜索一下u_aref的值,会发现u_aref、u_atoken(t)在滑块的html里返回的,所以现在只剩下p、n两个
通过上面的分析可以:逆向到p、n两个参数的生成即可通过滑块
逆向过程
定位到鼠标事件clientX,断点断住后滑动滑块,尝试后发现验证通过时会经过 'l()' 方法
然后跟进发现会进入这里,然后就很清楚了,参数是由下方的代码产生,并且可以发现这个p参数是不会发生变化的
继续跟o.__fy.getFYToken函数,这个o参数是不会变化的,增加复制下来就行
继续跟this.fyObj.getFYToken函数,会跟到下放的函数
然后继续跟这个函数i,会发现还是在当前js文件下,并且从this.fyObj.getFYToken函数进入的这个栈在这里的i函数下,所以可以初步判断这个js文件就是专门用来验证滑块的
所以直接把这个js文件全部复制下来,折叠后发现是一个自执行函数
所以咱们直接简单粗暴的写一个全局变量把这个i函数导出来
然后就在这个页面上执行下这个函数,发现结果没什么太大问题了,然后剩下的就是补上环境了