hex


编码 import binascii s = "主业" bs = s.encode("utf-8") print(bs) print(binascii.b2a_hex(bs)) 解码 asi = b'e4b8bbe4b89a' bh = binascii.a2b_hex(as

md5


普通的 md5 算法 from hashlib import md5 s = "123456" mds = md5(s.encode("utf-8")) print(mds.hexdigest()) 普通的 md5 容易被 撞库:意思就是说,有一个很大的数据库,里面存储大量(字符串

sha1_sha256_sha512


from hashlib import sha1, sha256, sha512 s = "123456" print(sha1(s.encode("utf-8")).hexdigest()) print(sha256(s.encode("utf-8")).hexdigest())

urlencode


URL 编码 最蠢的办法 from urllib.parse import urlencode, urljoin, unquote, quote, quote_plus s = "主业" print(s.encode("utf-8")) print(str(s.encode("utf-8"))

加密算法


对称加密 对称加密的意思是加密和解密用的同一个密钥,常见的对称加密算法有:AES,DES 和 3DES;这里我们主要讨论 AES 和 DES。 测试网站:https://the-x.cn/cryptography/Aes.aspx AES pip install pycrypto => 很多人装不

签名


作用:保证数据一致性 在发送请求之前, 把url, 请求方式, 参数, 请求头, 随机字符串, 时间…混合在一起. 进行一个计算. 计算出来一个结果, 该过程被称为签名,把该结果随着请求一同发送给服务器(包括随机值, 时间)。 此时, 服务器接收到的是url, 请求方式, 参数, 请求头, 随机字符

关于对称加密


对称加密的逻辑: 加密和解密的密钥相同; 最常见的对称加密:AES、DES、3DES 加密; 不需要研究加密算法,各个语言都有库。 python 的对称加密 需要安装 pycryptodemo 库:pip install pycryptodemo 如果包文件夹是小写 c 改成大写就好了 加密过程:

逆向某会展


发送加密逆向 这里可以查看发送的拦截器函数,打断点后刷新页面: 在发送请求的拦截器函数里打断点,发现和发送参数里一样的 data 变量,找到处理 data 变量的两个步骤,分别打断点: 进入对应的函数查看,并打断点,其实到这里就可以发现发送参数的加密过程了:

关于非对称加密


关于非堆成加密 理论知识 非对称加密:加密和解密使用的不是同一个秘钥,数据被篡改的可能性非常低 注意: 加密的秘钥是可以公开给任何人的 -> 公钥 解密的秘钥是不能给任何人的 -> 私钥 公钥和私钥是一起生成的,一对,不能分开生成 网页端,逆向可能会看到的rsa加密逻辑: rsa的特征:10001/

网校登录


逻辑分析 请求数量 上面是登录时发的所有请求,可以看出有三个主要的: 获取时间(不知道干嘛的) 登录 获取验证码图片 登录 url:https://user.wangxiao.cn/apis//login/passwordLogin 请求头如下,主要看cookie,有两个比较可疑,其他是百度和微信的