51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

记一次查询网站备案中滑块验证码的逆向分析

近期闲来无事,正好拿这个滑块验证码练练手,顺便打发打发时间

当我们进行网站查询时,会触发下面的验证码
Snipaste_2023-11-19_21-18-57.jpg Snipaste_2023-11-19_21-18-57.jpg


我们先进行F12抓包,看一下他的请求参数
Snipaste_2023-11-19_21-19-32.jpg Snipaste_2023-11-19_21-19-32.jpg



Snipaste_2023-11-19_21-20-26.jpg Snipaste_2023-11-19_21-20-26.jpg


通过抓包发现,只有pointJson是一个未知的加密参数,我们对该参数进行base64解密,发现解码失败,这时我们可以确定这是一个加密参数。
Snipaste_2023-11-19_21-20-58.jpg Snipaste_2023-11-19_21-20-58.jpg


全局搜索关键字,找到两处结果,进去看一看,打上断点
Snipaste_2023-11-19_21-21-22.jpg Snipaste_2023-11-19_21-21-22.jpg


再次点击提交,嘿!您猜怎么着,断住了!
Snipaste_2023-11-19_21-21-35.jpg Snipaste_2023-11-19_21-21-35.jpg


这个地方是一个三元运算符,前面的secretKey我们确定这是已知的,所有直接看后面的内容就行,后面两个东西长得一样啊,那我们直接看前面的

直接把鼠标放上去,看看里面是个嘛
Snipaste_2023-11-19_21-22-06.jpg Snipaste_2023-11-19_21-22-06.jpg


进去一看,是个很简短的加密。
Snipaste_2023-11-19_21-22-32.jpg Snipaste_2023-11-19_21-22-32.jpg


我们先打印一下看看这个y算出来是什么东西,顺便把里面的也打印一下
Snipaste_2023-11-19_21-23-39.jpg Snipaste_2023-11-19_21-23-39.jpg
Snipaste_2023-11-19_21-24-05.jpg Snipaste_2023-11-19_21-24-05.jpg


x后面这个变量能在上面看到,是个计算后的值,说的是,获取移动坐标,然后去掉px,下面的t是去掉px之后,乘除一下。
Snipaste_2023-11-19_21-24-30.jpg Snipaste_2023-11-19_21-24-30.jpg
Snipaste_2023-11-19_21-24-43.jpg Snipaste_2023-11-19_21-24-43.jpg
Snipaste_2023-11-19_21-24-49.jpg Snipaste_2023-11-19_21-24-49.jpg


好了,现在我们知道y是怎么算的,也知道里面的参数是什么意思,咱直接给他抠出来看看怎么个事。
我这里直接把w()替换成crypot-js了,这里明眼人都知道,猜都不用猜,这地球还有别的加密函数长这样吗{:1_918:}
Snipaste_2023-11-19_21-25-14.jpg Snipaste_2023-11-19_21-25-14.jpg


把刚才的参数放进去,打印一下看看对不对
Snipaste_2023-11-19_21-30-54.jpg Snipaste_2023-11-19_21-30-54.jpg


嘿,算对了,是不是一毛一样

你以为到这里就完了吗,就光分析这个那也忒简单了。
连传的参数都分析出来了,这不模拟一下,不就浪费了吗

我们都知道滑块验证码需要把图片移动到对应的缺口上,通过刚才的分析,需要提交的参数只有x轴的坐标。
Snipaste_2023-11-19_21-40-46.jpg Snipaste_2023-11-19_21-40-46.jpg


F12看一下验证码图片,发现原图和接口传来的尺寸不一样,我们需要先对获取图片的接口进行base64解码,然后修改尺寸
Snipaste_2023-11-19_22-12-24.jpg Snipaste_2023-11-19_22-12-24.jpg
Snipaste_2023-11-19_22-12-30.jpg Snipaste_2023-11-19_22-12-30.jpg


然后我们使用opencv中的模板匹配来,确定缺口的位置
Snipaste_2023-11-19_21-47-07.jpg Snipaste_2023-11-19_21-47-07.jpg
然后运行一次看看



Snipaste_2023-11-19_21-48-13.jpg Snipaste_2023-11-19_21-48-13.jpg


嘿,匹配上了!

最后整合一下代码,查询一下阿里的域名
Snipaste_2023-11-20_15-47-26.jpg Snipaste_2023-11-20_15-47-26.jpg
Snipaste_2023-11-20_15-48-10.jpg Snipaste_2023-11-20_15-48-10.jpg
嗯,只能说一毛一样。


赞(3)
未经允许不得转载:工具盒子 » 记一次查询网站备案中滑块验证码的逆向分析