某二手房深圳站点的登陆信息加密逆向分析探索,需要分析查找关键的加密位置,位置在前上部分,需要理解一点代码,往上寻找一段代码,加密特征比较明显,找到后即可调试出来!
网址:
aHR0cHMlM0EvL3Bhc3Nwb3J0LmZhbmcuY29tLw==
特征:
#123456
oldPwd:
ZTEwYWRjMzlNVEl6TkRVMmJhNTk=
2.用错误的账号密码,123456,测试登陆
3.获得加密信息内容
4.老规矩,搜索关键字 oldPwd
5.找到最可疑的地方打上断点调试
6.经过多次断点调试,分析,找到关键加密处
PS:有的时候,断点不对,调试不对,可能是位置出错,也可能是有多个代码运行中某个代码段没运行,比如登陆中,正常登陆没有验证码,而反复调试中会带上验证码,有多段代码执行不同的结果,只能多尝试,多找,多试一试,以断点调试结果为验证!
7.调试后的确是该处加密
8.查看关键加密函数
secretMethod: function(e) {
var t = new Base64
, n = hex_md5(e)
, e = t.encode(e);
return t.encode(n.substr(0, 8) + e + n.substr(10, 4))
},
9.关键加密函数
10.扣js代码
11.修修改改,本地运行js代码
Python 调用js文件及改写密码加密效果:
附 Python 代码参考:
#公众号:eryeji
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import base64
import hashlib
import execjs
def s(e):
t = base64.b64encode(e.encode('utf-8'))
n = hashlib.md5(e.encode('utf-8')).hexdigest()
encoded_e = t.decode('utf-8')
return base64.b64encode((n[:8] + encoded_e + n[10:14]).encode('utf-8')).decode('utf-8')
def get_encode(e):
with open ("lj.js",'r',encoding="utf-8") as f:
leju=f.read()
encoded_pwd=execjs.compile(leju).call("s",e)
return encoded_pwd
# ZTEwYWRjMzlNVEl6TkRVMmJhNTk=
if __name__=="__main__":
e="123456"
print(s(e))
print(get_encode(e))
参考来源:
ython爬虫进阶必备 | X天下与XX二手房密码加密分析-咸鱼学Python
https://mp.weixin.qq.com/s/R_9W2TKcMzKK46nOHystQw
52破解
https://www.52pojie.cn/thread-1882516-2-1.html
本文分享自 Python与SEO学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!