一个网站的登陆密码加密逆向解密分析,没有混淆,加密代码还是比较好找的,只需要多花点耐心,多尝试,就能找到关键的加密代码片段。
网址:
aHR0cHMlM0EvL29hdXRoLmQuY24vYXV0aC9nb0xvZ2luLmh0bWw=
登陆密码加密特征:
b2927281520eba726728c6f5e9579228a3102f1462c52d708ba8ee622b2124a97545d0e3a6d0315bd84e457e7550ab2357e3c019fe23bf4a57ab2ead172d2e9ce8ae1e167d54a4530a200ba9be5b2fbe08b7cbfe07f914c3c09ccfa37488cc531f9452f625e0195ab41ec88546378ae304f5f774aa2de8891446ff77aae799d8
- 打开网站,用示例用户信息(密码:123456)
2.浏览器抓包,登陆,测试
3.搜索关键字 pwd
4.分析搜索结果,查找最可疑,最关键或者说最像是加密的代码片段
5.在文件里继续搜索关键字,找到关键位置
6.打开至面板,打上断点,刷新调试
rsaPwd = rsa(passwordVal);
7.重新输入账号信息登陆调试
8.点击下一步,密码已经出来了,断点没错
9.可打印输出密码,可验证与加密密码一致
10.点进去rsa加密函数查看
11.进入后可看到加密关键部分代码
//密码加密
var rsa = function (arg) {
setMaxDigits(130);
var PublicExponent = "10001";
var modulus = "be44aec4d73408f6b60e6fe9e3dc55d0e1dc53a1e171e071b547e2e8e0b7da01c56e8c9bcf0521568eb111adccef4e40124b76e33e7ad75607c227af8f8e0b759c30ef283be8ab17a84b19a051df5f94c07e6e7be5f77866376322aac944f45f3ab532bb6efc70c1efa524d821d16cafb580c5a901f0defddea3692a4e68e6cd";
var key = new RSAKeyPair(PublicExponent, "", modulus);
return encryptedString(key, arg);
};
12.查缺补漏,把加密函数中的参数或者函数补齐,也就是抠代码,包括 setMaxDigits 函数、RSAKeyPair 函数、以及 encryptedString 函数
13.这里采用了笨方法,整个js文件几乎都扣出来了
14.补齐后,运行效果
附 python 调用js文件代码:
#公众号:eryeji
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import execjs
def get_encrypted_password(password):
with open('demo.js', 'r', encoding='utf-8') as f:
oauth_js = f.read()
encrypted_password = execjs.compile(oauth_js).call('ss', password)
return encrypted_password
if __name__=="__main__":
password="123456"
print(get_encrypted_password(password))
完整代码获取
请关注本渣渣公众号
后台回复“乐网”
声明
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系立即删除!
参考:
【JS 逆向百例】当乐网登录接口参数逆向-K哥爬虫
https://mp.weixin.qq.com/s/1eXvxbZklEtwrkUn4iEmtQ
·················END·················
你好,我是二大爷,
革命老区外出进城务工人员,
互联网非早期非专业站长,
喜好python,写作,阅读,英语
不入流程序,自媒体,seo . . .
关注我的都变秃了
说错了,都变强了!
不信你试试
扫码关注最新动态
公众号ID:eryeji
标签:__,逆向,加密,JS,代码,登陆密码,js,password From: https://blog.51cto.com/u_15200177/9133845