原创文章,请勿转载!
本文内容仅限于安全研究,不公开具体源码。维护网络安全,人人有责。
URL(base64加密处理):aHR0cHM6Ly93d3cuZGhsLmNvbS9jbi16aC9ob21lL3RyYWNraW5nL3RyYWNraW5nLWVjb21tZXJjZS5odG1sP3N1Ym1pdD0xJnRyYWNraW5nLWlkPTEyMzIzNDM=
一、介绍
Akamai(阿卡迈)在1998年发明 CDN技术 架构之后组建公司,诞生于 麻省理工学院 ,是 CDN 服务提供商 ,1999年NASDAQ上市。 总部位于美国 波士顿 。 Akamai巨大的网络分发能力在峰值时可达到21Tbps (2013年)。
二、请求流程
1.第一次请求:访问网页地址,返回一个外链的js地址(用正则表达式匹配)和响应一个_abck。
2.第二次请求:get请求外联的js地址,获取新的_abck
3.第三次请求:post请求外联js地址,带上sensor_data参数和第一个请求响应的一个_abck,响应一个正确的 _abck,正确的_abck的是~0~,错误的是~-1~。
三、参数生成位置
我们主要解决的加密参数只有sensor_data,可以通过xrh断点来找到该参数的生成位置:
1.复制第一个请求拿到的外链js地址,只要路径部分
2.粘贴到XHR/提取断点处
3.清空cookies,然后刷新网页,就会发现已经打上xrh断点了
4.可以看到UdX就是我们要找的加密参数sensor_data,然后发现他是由在上一行生成的,上一行的r2X就是sensor_data了。
四、扣代码
1.找到sensor_data的生成位置后,就可以从生成的位置往上跟栈,然后对主要的业务代码进行扣下来,就可以生成最后的sensor_data了
五、补环境
1.生成akamai的sensor_data有很多的环境检测,例如:input、navigator、userAgent、浏览器指纹、cpu指纹等等,会非常的耗时间,更要有耐心。
六、完成生成逻辑后,请求的状态码介绍
400:错误的请求。响应消息会说明原因,可能是缺少强制 API 参数或非法参数值。
403*:连接客户端缺少发出请求的权限。
404:至少一个指定的对象(如指定的 )不存在。
416:范围请求无效。有关详细信息,请参阅响应消息。
428*:请求必须是有条件的。响应消息提供指导。
429:您已超出请求的速率限制。
500:任何其他错误。响应消息说明具体原因。 503:此 API 所依赖的服务暂时不可用。
七、结果展示
创作不易求个赞再走~~~
学习交流QQ:450297392