0x01
https://indialms.in/wfp_login.php?r_id=1
https://indialms.in/wfp_login.php?r_id=MQ==
在构造一些攻击语句时,有的数据返回给服务器之后,服务器要对数据进行解码,再进行操作。比如上面的1和MQ==,MQ==即为1的base64编码。假如我直接传1进去,服务器对1进行base64解码之后,我的数据就无效了。 要以数据的正确格式接收、发送才行
以上的是编码型的数据传输,还有加密型的数据传输,比如登录账号时,post提交的账号密码
登录的数据包:
admin 123456 (表单中输入的账号密码)
username=admin&password=xxxxxxxxxxxxxxxx(xxxxxxx为123456经过某种加密算法后的值)
因此进行暴力破解的时候,账号的字典的值不需要更改,直接传入username=后的值就好了,但是密码字典的值需要用相同的加密算法加密后,再传入password=后的值
这里最关键的点就是判断是用什么算法加密。加密算法可以根据js逆向获取。
注意,编码只是原文的另一种表达形式。而加密需要原文与秘钥(可能)!
0x02 根据特征辨别编码格式与加密算法类型
1.看密文位数
2.看密文的特征
https://cloud.tencent.com/developer/article/174839430余种加密编码类型的密文特征分析(建议收藏)-腾讯云开发者社区-腾讯云
3.看当前密文存在的地方
在数据库中,用户密码之类的数据一般会进行加密存储,比较常见的是MD5、MD5+salt 、AES、DES等。数据库中的加密是为了让黑客即便拿到数据也无计可施。
windows中使用NTLM算法加密用户密码
0x03 数据格式 常规&json&xml
发送方(请求包):影响漏洞探针的设置
接收方(数据包):影响回显数据的分析
0x04 原代码加密
1.js加密
将js的原代码加密后得到一串[]()!+组成的密文,可逆向
jsfuck官网https://jsfuck.com/
2.php加密
3.市面上存在的一些代码保护产品,反逆向破解原代码
哇哈哈