专业制作网站是什么,wordpress搭建多个购物网站,广州市几个区,怎样做网站 app教程本教程仅限于学术探讨#xff0c;也没有专门针对某个网站而编写#xff0c;禁止用于非法用途、商业活动、恶意滥用技术等#xff0c;否则后果自负。观看则同意此约定。如有侵权#xff0c;请告知删除#xff0c;谢谢#xff01; 目录 一、接口请求流程 二、C1包 三、ac 四… 本教程仅限于学术探讨也没有专门针对某个网站而编写禁止用于非法用途、商业活动、恶意滥用技术等否则后果自负。观看则同意此约定。如有侵权请告知删除谢谢 目录 一、接口请求流程 二、C1包 三、ac 四测试结果 总结 前言
本期逆向一下顶像滑块官网介绍采用设备环境、行为特征、访问频率等多个风险判断要素以及业内最丰富的验证方式帮助客户进行人机风险防控。并通过顶象防御云进行感知迭代 能够有效拦截批量撞库扫号、批量注册等机器风险行为。 看起来很牛逼的勒越牛逼越想肝他简单的反而不想肝它因为顶像滑块它的JS是动态的参数、函数都是变化的所以只能补环境没法做到算法还原怎么实现的函数动态这也就不清楚了函数一直没变只是加密顺序与参数变了比如本来的加密流程是ABC,它呢在一定时间能可能变成了BAC的加密顺序.更多的介绍百度了很多大佬对这方面详细解答了. 但是找到一个网站JS参数、函数是不变的这大大减低了难度了解一下流程补环境了相对也就简单也就是说可以还原成python算法了 本期滑块练手网址aHR0cHM6Ly93d3cudml2by5jb20uY24vc2VydmljZS9tb2JpbGVQaG9uZUF1dGhlbnRpY2l0eUNoZWNrL2luZGV4 提示以下是本篇文章正文内容下面案例可供参考
一、接口请求流程
1.先看看获取滑块图片的接口参数大致看看也没什么重要参数jsv的加密的JS版本也就是之前介绍的动态参数函数所对应的版本不过这个网址是定制的不会变的所以固定就好了ak是产品idaid呢是时间戳加随机数w、h、s等这些参数就不介绍了用处不是很大固定就好了
2.在看响应内容有什么玩意p1、p2就是滑块了不过呢是撕裂的需要通过o值去还原撕裂的图像老版本的顶像不是通过o值可以看下我之前的图像还原算法还是一样的算法只不过从url提值变成了o减少了url提值的步骤摆了。还有一个y、sid值后面加密要用其它的没啥鸟用了. 3.验证接口/api/v1这个就是最好一步了验证滑块了恶心人的ac它来了不过问题不大sid就是滑块的安全验证id咯c值是通过c1两个包请求得来的aid呢嘿嘿发现了吧有什么不同自己领悟xy就不用说了 4.c1两次请求包请求头的Param咯又是长长的一串欸问题大吗应该问题不大吧. 好了吉时已到是时候上邢法了 二、C1包
图像还原呢就不说了看我之前的文章
1.看下c1这两次请求有什么吧第一次请求的包老办法anonymous一顿乱点 2.下个断点加密了什么一目了然简单还原下python算法其它网站的就不要想着还原了都是动态的我只是想借此让你们了解一下顶像的流程
import time
import json
import math
import randomdef get_lid():a 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZreturn .join(a[math.floor(random.random() * len(a))] for _ in range(32))def getParam(data, lidNone):if lid is None or not data.get(lid, False):lid str(int(time.time() * 1000)) get_lid()data[lid] lidu x1LItAH4sf8gp6ewnXQTiKuF_5EkC2m7WjdrMf UlGhvYo3aRzcq-VPyJBb9NZOD0So (u f)[::-1]if not isinstance(data, str):data json.dumps(data, separators(,, :), ensure_asciiFalse)g len_data len(data)for p in range(0, len_data, 3):i ord(data[p])a ord(data[p 1]) if p 1 len(data) else 0u ord(data[p 2]) if p 2 len(data) else 0f i 2c ((3 i) 4) | (a 4)s ((15 a) 2) | (u 6)ll 63 uif not a:s ll 64elif not u:ll 64g o[f] o[c] o[s] o[ll]return g3.第二次请求还是一顿乱点进去看看在哪加密的 4.加密的代码还是刚刚的加密只不过内容变了而已简简单单搞定C1 5.验证一下结果成功拿到响应的data数值
三、ac
1.除了ac其它都搞定了很好接下来看看它怎么搞的乱披风锤法瞎几把乱点 2.进来大致看下吧我总共下了两个断点两个插桩日志 第一个断点这个是对滑块轨迹进来加密与xy轴加密 第二个断点刚开始拿到滑块呢进来reload重载uaac加密 第一个插桩我主要用来打印轨迹因为我在其它地方进行了轨迹push 第二个插桩对加密完成的ac打印出来 3.进来看看reload重载干了啥事情咯看懂了吗朋友们ok这里检测浏览器的环境就自己慢慢扣了也不多 function () {var i r[133], a this;this[ge E en](),// 1.检测时间this[t[134]](),// 2.检测浏览器this[kt(e[139])](),// 3.检测防盗链this[Zt(r[134])](),// 4.检测代码this[e[140]](),// 5.检测浏览器高度画图用this[n[137]](),// 6.检测自动化this[Kt(on M)](),// 7.检测js版本this[getTK](),// 8.检测sid(token)Rt[Kt(an i)][Qt(r[135])](function () {a[t[135]](),// 9.检测screena[Nt(o[133])]()// 10.监听轨迹})
} 4.简单介绍一下第10个检测吧绑定的监听轨迹吧欸哟喂还是挺多了监听了一大堆自己慢慢调式吧相信你能找到对轨迹数组加密的地方这下知道为什么我第一个插桩push明文的轨迹了吧用于加密对比. 5.看下sendSA这个是对被加密的轨迹数组进行app加密到ua(ac)中,sendTemp就是x轴与滑块接口的y轴了OK整体流程就这样搞定扣下来吧不难的 6.小提示大部分加密都是围绕app这个函数加密的实在找不到轨迹的加密可以尝试着断点app根据栈去找到轨迹的加密 四测试结果
基本都成功了二次验证滑块多了才会触发也是正常通过的二次验证的坑自己慢慢领悟了上面也有介绍了看你有没有注意到了 总结
以上就是顶像的所有埋坑能搞定这个的话其它网站的滑块相信你也能将环境补出来再见咯~