爬虫入门之查找JS入口篇(九)

声明:本文只做技术交流,不提供源码,如有侵权,请告知删除,谢谢。

今天来看 亚马逊 登陆参数 metadata1  的 破解 加密位置。

目标网址:

https://www.amazon.cn/ap/signin?_encoding=UTF8&ignoreAuthState=1&openid.assoc_handle=cnflex&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.amazon.cn%2F%3Fref_%3Dnav_ya_signin&switch_account=

目的:登陆参数 metadata1  的加密位置。

随便输入一个账号和密码,进行抓包分析:

请求URL:https://www.amazon.cn/ap/signin

请求方式:POST

请求参数:

640?wx_fmt=png

/********************************************************************/

这是一篇面向新手的水文,读者可以先找找这个加密的位置,如果找到了,下文就没必要看了,如果实在找不到再看文章也可以。

/*******************************************************************/

确定真的要往下看吗?真的真的比较水哦!!!

全局搜索 metadata1 ,啥也没有,也不是 XHR加载的,用油猴也Hook不到关键位置,我们直接来分析这个字串吧:

ECdITeCs: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

除了冒号,其他的字符都符合 base64码表(base64码表:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")里面的字符,那我们来解码试试:

640?wx_fmt=png

确实有理由相信,这是经过base64编码后的字串,再用:拼接。

像上篇文章一样Hook window.btoa函数?你会发现,根本就Hook不住,可是明明调用了编码函数啊,为何?

很可能是它自己定义了另外的编码函数,并没有直接使用btoa,这时的你肯定想碰碰运气,全局搜索 'base64'试试。

640?wx_fmt=png

忽略第一个,就剩另一个JS文件了,而且看预览,有个大数据,跟进去看看:

640?wx_fmt=png

在这个js文件里面搜索base64,只有一个地方,看名字:encodeBase64,完全有理由相信 _Q0oQQO 是一个base64的编码函数,来看看是哪里定义的:

640?wx_fmt=png

在文件内搜索时,注意点击 Aa 和  .*,这样可以排除一下干扰项。一下子就搜到了,如上图,我们在 return 的 位置打上断点:

 

640?wx_fmt=png

再次输入用户名和密码,还有验证码,点击登陆,停在了断点的位置:

640?wx_fmt=png

在控制台打印看看返回了什么:

640?wx_fmt=png

这就有点像那个冒号后面的那一长串了,再跟堆栈看调用:

640?wx_fmt=png

依然在控制台打印返回的值:

640?wx_fmt=png

这就比较像之前的那个 metadata1 参数了。按F8运行,对比下提交的 metadata1 参数看看:

640?wx_fmt=png

看上去确实是一致的,如果要验证可以先将调试时的结果赋值为变量a,将提交的参数值赋值为b,比对 a 和 b 的值是否相等即可。

经过比对,加密的位置就是这里:

return _O0QO + _S$zSs[19] + _lli11[_S$zSs[15] + (_S$zSs[4] + (_S$zSs[10] + _S$zSs[11]))](_SzZ$(_lli11[_S$zSs[12] + _S$zSs[20] + _S$zSs[13]](_lllLlL), _0o0QO));

代码我就不扣了,太掉头发了,这一大坨代码看着实在是眼花缭乱。

文章确实比较水,水得我都不好意思了。

明天讲讲怎么将这些不那么好看的代码变的好看一点,尽请期待。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值