最近开始学习《web漏洞解析与攻防实践》,本博客用于记录其中补充的一些基础知识。
编码方式
url编码
值得注意的点在于:
- 空格的url编码有两个:
%20
和+
- 如果对内容进行了多次url编码,其实只需要将%替换为%25, +替换为%2b即可。(所以可以根据%25的数量判断经过了多少次url编码)
It's right
It%27s%20right
It%2527s%2520right
It%252527s%252520right
BASE64编码
例如,A的base64编码为YQ==是通过以下步骤计算得到的:
-
将字母a转化为ASCII码,a的ASCII码为97。
- 将ASCII码转化为二进制数,97的二进制表示为01100001。
- 将二进制数按6位一组进行分组,不足6位的在末尾补0,得到011000 010000。
- 将每组的二进制数转化为十进制数,011000转化为24,010000转化为16。
- 将十进制数转化为Base64编码表中对应的字符,24对应于Y,16对应于Q。
- 将得到的Base64编码字符拼接在一起,得到编码结果YQ==
- 注意:由于补了0000,所以需要填充两个=