一个简单的网站登录密码的加密解析过程,之所以说简单,是直接采用了md5加密形式,很容易就可以实现,用python,如果是扣js代码,需要扣完整,为闭包函数。
网址:
aHR0cHM6Ly9pLmZrdy5jb20vP190YT0yMDc=
登陆信息:
cacct: 19288889999
pwd: e10adc3949ba59abbe56e057f20f883e
其实如果你对于 md5加密比较熟悉,应该就能一眼看出这就是md5加密,大部分登陆密码都是md5来加密的,这里随便搜一下md5解密工具,就能得出解密密码:123456。
在 python 中也可以很轻松的实现 md5 加密解密。
2.获得登陆密码加密数据
3.老规矩,搜索关键字 pwd,查找js加密
4.点开相关数据分析
5.继续搜索关键字 pwd 查找可疑的加密地方
6.打开至面板搜索关键字,找到最可疑的地方第23处
7.打上断点调试
8.点登陆,断点调试
9.调试进入函数,查找加密
10.进入加密函数
11.两个下一步区别
12.格式化js代码
13.可以看到关键加密函数代码
14.继续打上断点调试,看值
14.继续打上断点调试,看值
15.调试数据
16.扣代码(务必扣完整),用js辅助工具计算值,验证
闭包函数,务必扣完整!
附上 python 实现加密过程(含调用js文件):
# -*- codeding = uft-8 -*-
#@公众号:eryeji
#e10adc3949ba59abbe56e057f20f883e
import execjs
import hashlib
#调用js实现加密方式一
def get_js_pwd():
#实例化一个node对象
node=execjs.get()
#js源文件编译
ctx=node.compile(open('./fanke.js',encoding='utf-8').read())
#ctx = node.compile(open('fkw.js', encoding='utf-8').read())
#执行指定函数
password=123456
# funcName='md5("{0}")'.format(password)
funcName=f'md5({password})'
pwd=ctx.eval(funcName)
print(pwd)
#调用JS文件实现加密方式二
def get_js():
env=execjs.get()
with open(r'demo.js','r',encoding='utf-8') as f:
#with open(r'fkw.js', 'r', encoding='utf-8') as f:
source=f.read()
ctx=env.compile(source)
password=123456
result=ctx.call('md5',password)
print(result)
# python 实现md5 加密
def get_pwd():
password = 123456
md5 = hashlib.md5() # 创建md5加密对象
md5.update(str(password).encode('utf-8')) # 指定需要加密的字符串
pwd=md5.hexdigest() # 加密后的字符串
print(pwd)
if __name__=="__main__":
get_js_pwd()
get_js()
get_pwd()
本文分享自 Python与SEO学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!