学习js逆向的笔记(2020年5月9日17点50分)
不一样的加密算法
1、栅栏密码
将加密的明文分成N个一组,然后把每组的第1个、第2个……第N个字符组合,最后把他们全连起来就是密文。
2、列移位密码
用一个简单的规则将铭文打乱成密文。以换位为目的,达成混合功能的算法,其规则自定。
eg:根据密钥长度N设置一个N列若干行的表格,将明文填入表格中(若不足,可约定填充字符),然后根据字母表对密钥进行编号,再根据编号对表格排序,再依次读出,得到密文。
3、凯撒密码
Caesar Cipher称凯撒加密、凯撒变换、变换加密、位移加密等。是一种替换加密。铭文中的所有字母都在字母表上向后(前)按照一个固定数目进行片以后被替换成密文。
4、JSfuck jother jjencode/aaencode
JSfuck可以让你只用6个字符[]()!+来编写js程序
jother可以让你只用8个字符!+()[]{}对任意字符串进行编码
jjencode将JS代码转换成只有符号的字符串
aaencode将JS代码转换成常用的网络表情,也就是颜文字js加密
用在反爬虫产品上的加密实例分析
案例为无限debugger,原理是根据密文解析后生成无线debugger函数,并利用eval执行。
解决办法:在debugger时,切换调用链,将密文替换。
如何逆向
参数部分
headers参数部分,一般带有的被加密参数位于Authorization鉴权,关键字包括且不限于Authorization鉴权,关键