当前位置:网站首页>亚马逊登录参数metadata1,encryptedPwd逆向分析
亚马逊登录参数metadata1,encryptedPwd逆向分析
2022-07-29 20:37:00 【久见Bug了】
声明:本文只作学习研究,禁止用于非法用途,否则后果自负。如果侵权到了您的权益,请立即联系我删除!
前言
每月一水,亚马逊的登录参数逆向分析,metadata1,encryptedPwd,一个密码,一个实时变化的参数
目标网站:不用我多说了吧
一、metadata1
进入网页,打开控制台,选取标签,一气呵成,发现这个玩意每2-3s更新一次
右键打上dom断点,断住之后来到这个js中(断不住就刷新再来一次),如图所示
如图所示,ast就懒的写了,比较繁琐,直接硬看,这里通过 t[_$Z[4]]()执行得到最终参数,跟入函数内,在return处打断点,放开dom断点,断在此处后发现,经过该函数返回的有非常多的参数,其中包括了参与加密的环境等等,在大环境对象返回之后,下一次来到该断点即为参数加密后的结果,这里写个小小的判断,方便调试
ok,从这里就开始一步一步往下跟,点步往下走,发现最终结果 this[_lI11[8]][_lI11[12]](this[_lI11[2]][_lI11[13]](t)),t为我们返回的大环境数组的字符串,经过this[_lI11[2]][_lI11[13]]函数之后,在前面与后面,分别加了点盐值
后面为版本号没什么可说的,而且经过测试是不会变化的,前面的盐值是每次都不相同,所以我们先进入this[_lI11[2]][_lI11[13]]函数,寻找盐值来源,进入方法后,c为添加版本号的操作,忽略掉, e[_ss[1]]固定为# 忽略掉,this[_ss[4]][_ss[2]](this[_ss[0]][_ss[6]](c))中this[_ss[0]][_ss[6]](c)计算了一个数字,需要跟进去看看
进入之后就是一个纯算法函数,缺啥补啥就行,注意的就是这个数组,其实经过测试也是不会变的,写死就行,
继续单步执行来到我们将数字转换成参数的函数中,这里也是纯算法,需要注意的是这里不能只扣 A[_OOO[1]][_OOO[3]],需要把B一整个扣出来
盐值弄完之后,来到最终加密的函数,单步进入,直接断在最里层的return处,外层都是一些异步导出操作,可以不用管,打印查看,前面的为定值,不会变,不用管
r为加盐之后的字符,t[_LL[9]]为固定数组,全局搜索,在该js文件中的下方定义,不会变,可以写死,不放心的可以每次请求正则提取,经过this[_LL[6]]函数之后,返回一堆乱码,该乱码再经过this[_LL[3]][_LL[1]]之后返回我们最终的结果,说到这里也没啥技术含量的东西,剩下就是把这俩个函数扣出来就行,就像这样
环境也有一些小细节,需要注意一下,万一检测了呢(*´◡`*)
二、encryptedPwd
对于登录密码加密来说,一般是会使用对称加密来处理,这样服务端也好去解密,最多加点盐,于是就先尝试搜了一下AES,RSA之类的字眼,好家伙好几十个,又搜了一下encrypt,好家伙好几百个,然后尝试直接搜索加密参数名encryptedPwd,全局只有一个,定位到该位置,点击登录,发现目标
取标签的值,通过elements选取发现,参数已经被赋值上去,于是查看堆栈,找了一圈啥也没发现
想用其他办法解决,于是先使用了dom断点的方法,可惜失败了,又想着hook一下input标签的赋值,或者创建,可惜也失败了
断点在这里,直接开始f11大法,在不知道过了多久之后,到了这个地方,这个e就是转码后的密码了,继续单步进入
t.encrypt,这个呢就是加密的函数了,最终的参数也会从这里完成到99%,整个的流程其实就是promise对象返回,在执行,一个套一个,再加上继承,原型链的一些东西,魔改方法等等
然后就是一直跟啊跟,扣啊扣,嗖的一下,2200行的代码就出来结果了
加密的主要核心其实在于最后的10%的流程中,前面的都是一些来回跳转,小的数据改变,但是又不能没有,任何一个传入的promise都会用到,还有很多的promise来源于登录密码页面刷新执行,需要注意一下,也尝试过全扣,补环境,但是最后放弃了
写好代码测试,这个302代表什么,搞过登录的应该不用我多说了吧,哈哈
到此为止,下机!
总结
之前很少去碰这类的异步逆向,这次算长见识了,一个密码加密还能这么玩?有需求可私信( •̀ ω •́ )*
边栏推荐
- Unity determines whether a string can be converted to float type
- 高通WLAN框架学习(31)-- Power save
- 容器网络硬核技术内幕 (小结-下)
- The demand for VR live broadcast marketing is increasing, and the data module is paving the way for us
- The younger brother asked: Is the work of a programmer a day’s work of code?
- Qualcomm WLAN framework learning (31) -- Power save
- 优惠券系统设计思想
- 诺氟沙星-DNA复合物|半乳糖化脂质体-聚阳离子-DNA复合物|注意事项
- 关于 golang 错误处理的一些优化想法
- [ACTF2020 Freshman Competition]Exec 1
猜你喜欢

WeChat Mini Program 30 Customizing Templates and Obtaining User Login Credentials

全景教程丨VR全景拍摄如何拍摄日出和日落的场景?

Fully automated machine learning modeling!The effect hangs the primary alchemist!

The difference between analog, digital and switching

In 2022, you still can't "low code"?Data science can also play with Low-Code!

微信小程序 31 分包机制

TCP协议详解

【无标题】

【Nacos】nacos1.x 单机、内置数据库模式修改密码

藻酸盐/PEI/DNA复合载体|脂质-鱼精蛋白-DNA复合物|合成方法
随机推荐
[ACTF2020 Freshman Competition]Exec 1
Cobaltstrike and BurpSuite desktop shortcut configuration
【无标题】
Break the rules!MongoDB introduces SQL?
Second Best PyTorch Beginner Course; Thesis Writing Guide; Using µGo to Develop a Mini Compiler; Super Efficient Use of Transformer's Extension Library; Frontier Papers | ShowMeAI News Daily
Samba server configuration (when a server is required)
SwiftUI * @State 相关问题
VSCode配置终端为系统命令行
模型推理模板
LeetCode 0593. 有效的正方形
:class数组写法
Sasser virus source code (ransomware source code)
打破原则!MongoDB 引入 SQL?
Panorama Tutorial丨How to shoot sunrise and sunset scenes in VR panoramic shooting?
【Nacos】nacos1.x 单机、内置数据库模式修改密码
基于PaddleSpeech搭建个人语音听写服务
南信大提出TIPCB,一个简单但有效的用于基于文本的人员搜索的基于部分的卷积baseline
Jenkins 如何玩转接口自动化测试?
第二好PyTorch新手课程;论文写作指南;使用µGo语言开发迷你编译器;超高效使用Transformer的扩展库;前沿论文 | ShowMeAI资讯日报
解析掌握现代化少儿编程实操能力