某网站加密参数分析

文章介绍了如何分析网站登录过程,特别是密码加密方式,通过调试浏览器的VM引擎找到加密函数。密码加密使用了盐值,该盐值在登录失败或页面刷新时动态获取。尽管加密函数被eval执行,但登录过程中遇到的防护机制——限制操作频率,增加了逆向工程的难度。作者在Python模拟登录时通过添加延迟(sleep)成功绕过这一防护。
摘要由CSDN通过智能技术生成

某网站登陆参数分析

目标地址:aHR0cHM6Ly9wYXNzcG9ydC5rb25nemhvbmcuY29tL2xvZ2lu

QQ截图20211102102214.png

只有password是加密的,其他参数固定,看到这里,我知道,我已经赢了。
全局搜索password,不要只关注JS
通过login函数,定位到登录接口
QQ截图20211102102454.png
然后就是不停地debug了,拿了表单参数做了一堆校验之后,进入VM中的代码
QQ截图20211102102711.png
到这里,encrypt函数我们的目标了,这个函数第一个参数是原始密码,第二个参数是盐
QQ截图20211102103644.png
这个盐哪里来的,向服务器请求来的。
每次刷新或者登录失败,都会自动发请求获取盐
QQ截图20211102103749.png

加密函数比较简单,直接重写了或者扣下来都不难,这个网站的JS还是比较友好的。

为什么搜password在JS定位不到加密位置?

我们是调试进的VM引擎找到加密位置,关于浏览器VM引擎,可以去百度了解一下。
加密的那部分代码其实是用eval生成的,验证如下:
在eval函数断点
QQ截图20211102104511.png
控制台查看KZLoginHandler
QQ截图20211102104500.png
放行eval之后
QQ截图20211102104617.png

python模拟

本来以为登录应该挺简单的,结果不停返回操作太频繁。。
再看看JS文件,发现了对于时间间隔的判断,操作太快被判定为不安全,不让登录。。
steptime.png

然后代码里加个sleep,就能登录了。
QQ截图20211102182151.png
这种简单粗暴的防护手段还挺有效,增加了我的逆向成本。。
本文代码:github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值