密码学
这里的密码学并不是大学课程里的密码学,因为渗透是偏向实战,而过分的强调密码学是理论,故只会介绍几种常见的加密方式以及密文特征。最后介绍CTF中有关Crypto的考点
MD5
有16位和32位,默认是32位,组合是字母和数字,不可逆
SHA系列
比如sha1,sha256,长度是40位
ascii码,进制,URL,时间戳
略
base系列(常见是base64,32,16)
比如base64,长度是4的倍数,结尾常有=或者==,如果对汉字加密密文中有+号
unicode
格式:\uxxxx,xxxx是4位由数字和字母组成的
AES
必要有密码和偏移量
DES
对加密后的内容组合再加密
CTF-Crypto
MD5若比较
PHP在处理哈希字符串时,它把每一个以“0E”开头的哈希值都解释为0,如果两个不同的密码经过哈希,其哈希值都是以“0E”开头的,那么PHP将会认为他们相同,都是0。
以下值在md5加密后以0E开头:
QNKCDZO 240610708 s878926199a s155964671a s214587387a s214587387a
MD5强比较
md5强比较,此时如果传入的两个参数不是字符串,而是数组,md5()函数无法解出其数值,而且不会报错,就会得到===强比较的值相等
构造:param1[]=111¶m2[]=222即可