Web渗透测试——密码学基础

我们在渗透测试过程中,往往会遇到一些我们看不懂的代码,一般人都称之为乱码,往往都不会太在意,然而有一些所谓的乱码,其实是通过各种手段加密过的重要信息,只要知道它的加密方法,就可以获得重要的明文信息,反过来想,如果是无关紧要的信息,那持有者为什么要多费功夫进行加密处理呢?所以经过加密处理的信息,大部分都是一些重要信息,所以一些有经验的渗透测试者遇到“乱码”,往往不会一扫而过,而是分析是否是经过加密的信息,有的甚至一眼就能看出是用的什么加密方法,今天我们就来讲讲渗透测试那些基础的密码学知识 。
常用网络编码网络编码其实也是加密的一种形式,但是并不是为了隐藏真正的信息,而是方便人、浏览器、服务器、计算机等应用服务及设备之间的数据识别和交换,经过网络编码后的数据都具有十分明显的特点,普通人见的多了后,一眼就能看出采用的什么编码方式,下面我们就介绍几种常见的网络编码方式 。
URL编码
URL编码用于浏览器和网站之间的数据交换,我们在使用浏览器访问网页时,尤其是输入一些GET请求参数时,当我们点击访问时,这些参数就变成我们看不懂的字符了,这其实就是经过了URL编码后传到了网站服务器进行识别了,我们可以通过Burp Suite工具的Decoder功能模块来演示一下URL编码结果我们以“https://mp.toutiao.com”头条号主页地址为例,经过URL编码后结果如下图所示:

Web渗透测试——密码学基础

文章插图
URL编码
Base64编码
用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法 。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息 。同样以“https://mp.toutiao.com”头条号主页地址为例,经过Base64编码后结果如下图所示:
Web渗透测试——密码学基础

文章插图
Base64编码
HEX编码
HEX编码又叫十六进制编码,是数据的16进制表达形式,是计算机中数据的一种表示方法 。同我们日常中的十进制表示法不一样 。它由0-9,A-F组成 。与10进制的对应关系是:0-9对应0-9,A-F对应10-15 。同样以“https://mp.toutiao.com”头条号主页地址为例,经过HEX编码后结果如下图所示:
Web渗透测试——密码学基础

文章插图
HEX编码
常用加密方法除了网络编码这种不以隐藏原文内容为目的的加密方式外,曾经出现过许多用于信息加密的加密方法,有些现在仍在使用 。
摩斯码
这个大家想必都是耳熟能详,在各类谍战影片中,经常看到情报工作者通过电台发出“长滴声“”或“短滴声”的信号来传递信息,摩斯码的基础格式是"."代表短音,"-"代表长音,"/"代表分隔符,就会出现类似"..../-/-/.--./.../---.../-..-./-..-./--/.--./.-.-.-/-/---/..-/-/../.-/---/.-.-.-/-.-./---/--"一段密文,我们可以通过在线摩斯码破译工具:https://www.atool99.com/morse.php,来解密这段密文,原文为:https://mp.toutiao.com,如下图所示:
Web渗透测试——密码学基础

文章插图
摩斯码在线解密
jsfuck
jsfuck是一种神奇的编码,能只用6个字符表达所有的式子,同样使用在线编码工具:http://www.jsfuck.com,就可以进行编码,识别他很容易,就像下图蓝框中这样子的东西就是jsfuck 。
Web渗透测试——密码学基础

文章插图
jsfuck
Uuencode
Uuencode是二进制信息和文字信息之间的转换编码,也就是机器和人眼识读的转换 。Uuencode编码方案常见于电子邮件信息的传输,目前已被多用途互联网邮件扩展(MIME)大量取代,Uuencode将输入文字以每三个字节为单位进行编码,如此重复进行 。如果最后剩下的文字少于三个字节,不够的部分用零补齐 。在线解密网站:http://www.qqxiuzi.cn/bianma/uuencode.php,如下图所示:
Web渗透测试——密码学基础

文章插图
Uuencode
移位密码
【Web渗透测试——密码学基础】移位密码是对明文字符在不改变其原形的基础上,按照密钥指示的规则,对明文字符进行位置移动的密码 。简单理解,就是对明文字符的位置进行重新排列的一种密码 。移位密码的攻击手段一般是结合已知的明文串进行爆破 。


推荐阅读