前言
今天讲一下某车帝的登录参数account、password。网站登录可以说是入门级别的~hmm也可以说是中高难度的,原因在于不出滑块验证码时登录参数account、password的简单,出滑块验证码的开打脑壳。。。本篇不讲验证码,只作account、password的逆向讲解。本文章仅供学习研究,如若侵犯到贵公司权益请联系229456906@qq.com第一时间进行删除;各位朋友切忌用于一切非法途径,否则后果自行承担!
地址:aHR0cHM6Ly93d3cuZG9uZ2NoZWRpLmNvbS8=
一、抓包分析
老规矩,打开登录框输入133****3333,123456789点击登录按钮进行抓包。
二、参数解析
1.加密定位
今天使用跟栈的方式进行定位
点击最上面一个堆栈,进入js文件。
进来后在标黄的这一行打断点,重新抓包。
这时候,account和password已经有了,我们接着往上追堆栈, 找到这里。
打上断点,重新抓包
这里account和password都是明文状态,单步执行进入函数
将断点下到函数结尾,执行到断点处:
2.参数分析
上面可以看到,刚进入函数时account和password都是明文状态,到函数结束时已经加密完成。所以断定这里即使account和password的加密方法。
重新抓包,并且单步执行发现,最后将账号和密码传入j()函数计算:
单步执行进入j()函数:
在函数末尾处打断点,并执行到断点
最终就是这个方法:
var x, w, j = function(e) {
var t, n = [];
if (void 0 === e)
return "";
t = function(e) {
for (var t, n = e.toString(), r = [], o = 0; o < n.length; o++)
0 <= (t = n.charCodeAt(o)) && t <= 127 ? r.push(t) : 128 <= t && t <= 2047 ? (r.push(192 | 31 & t >> 6),
r.push(128 | 63 & t)) : (2048 <= t && t <= 55295 || 57344 <= t && t <= 65535) && (r.push(224 | 15 & t >> 12),
r.push(128 | 63 & t >> 6),
r.push(128 | 63 & t));
for (var i = 0; i < r.length; i++)
r[i] &= 255;
return r
}(e);
for (var r = 0, o = t.length; r < o; ++r)
n.push((5 ^ t[r]).toString(16));
return n.join("")
}
继续执行发现密码也是在这里计算
所以只需要将此函数拿出来,调用即可
对比网页结果:
封装一下,验证码不作介绍:
成了。今天就到这里。
总结
总结:good good xuexi,day day up,少掉头发。
码字不易,如果本篇文章对你有帮助请动动小手点个赞8,谢谢~
合作及更多资源获取vx:tiebanggg 【注明来意】
QQ交流群:735418202
喜欢作者的朋友扫下方二维码关注微信公众号,一起学习 UP! :
*注:本文为原创文章,转载文章请附上本文链接!否则将追究相关责任,请自重!谢谢!