平时日常工作中总会遇到一些数据参数经过加密的情况,这里简单介绍一种最常见的分析js加密的方式。
首先正常对登录框填充内容admin/123456
F12查看刚刚发的包,有个login的包
定位到js文件中,打断点
打完断点之后,重新点击登录按钮
发现当前password已经被加密过了,回看整个js,查看可疑的加密函数调用
两处地方都给打上断点,快进断点
重新点击登录框
发现357行,还未被加密,单独放行该断点
放行之后,该断点内的数值已经被加密
则可确定该加密函数为:Object(l["encodeRSA"])(r),替换()中 r 的值,例:Object(l["encodeRSA"])('123456')在控制台中调试,是正常可以加密的
在控制台中依次输入
arr = []
sum = ''
for (xxx in arr){
sum += Object(l["encodeRSA"])(xxx)+'\n';
}
copy(sum)
下面需要将密码本中的数据替换成数组模式,编写python脚本
f = open("users.txt","r")
a=[]
for i in f:
a.append(i.strip())
print(a)
该脚本打开运行目录下的users.txt,然后把里面的数据更换成数组模式输出
将输出来的数据替换到arr中,然后运行
arr = ['admin', 'root', 'jack']
sum = ''
for (xxx in arr){
sum += Object(l["encodeRSA"])(xxx)+'\n';
}
copy(sum)
运行正常后,输出的数据会自动在粘贴板上,直接在记事本中粘贴即可