声明
本文仅供参考学习,切勿用于他途,违者后果自负!
前言
今天一篇喂饭小文章,加密非常简单,新手朋友们很适合学习。
目标网站:aHR0cDovL3d3dy5mdW4udHYv
接口信息:aHR0cDovL2FwaTEuZnVuLnR2L2FjY291bnQvbG9naW5fZnVuc2hpb24=
逆向分析
登陆包是一个POST请求,这没啥说的。因为要提交账户信息服务器后台去校验。
着重看一下登陆参数是否有加密信息。
params中没有什么特别的,Form Date中username
是明文,password
有加密,其他值均为固定值。
那么今天的任务就来了,逆向分析password的加密过程。首先看一下这个加密值的长度,比较的短,不知道是什么加密没有什么思绪。
只能通过断点去分析它的js代码部分,看一下能不能找到加密点。
全局搜索也不是很多,可以慢慢找。还可以打下XHR
断点。这样比较快捷,可以自行选择。我这里就是用xhr断点去做了。
就已经断下来了,接着向上找堆栈。在这里很明显有一个login的栈,八九不离十就是它了。点进去看一下。
当然不放心跟栈对不对的小伙伴们可以一层层的去找,就和剥洋葱一样。
果不其然,运气不错,pwd的加密就在这里,可以看到加密函数是hex_sha1
。直接传入明文字符串,sha1加密,然后去值0到15位
最后
接下来扣下来就可以了。
由于这个加密非常简单,在这里我就是用python的标准库就可以还原了,js还原的部分会放在我的gitee上。感兴趣自行下载吧。
import hashlib
sha1 = hashlib.sha1()
pwd = input("请输入你的密码")
pwd = 'pwd'.encode('utf-8')
sha1.update(pwd)
encrypt_pwd = sha1.hexdigest()[:15]
print("sha1加密后密码是:"+encrypt_pwd)
js代码: 风行网sha1加密