Cookie Base64注入
Base64介绍
Base64就是一种 基于64个可打印字符来表示二进制数据的表示方法
字符选用了"A-Z、a-z、0-9、+、/" 64个可打印字符
64个字符用6个bit位就可以全部表示,一个字节有8个bit 位,剩下两个bit就浪费掉了,这样就不得不牺牲一部分空间了。这里需要弄明白的就是一个Base64字符是8个bit,但是有效部分只有右边的6个 bit,左边两个永远是0
那么怎么用6个有效bit来表示传统字符的8个bit呢?8和6的最小公倍数 是24,也就是说3个传统字节可以由4个Base64字符来表示,保证有效位数是一样的,这样就多了1/3的字节数来弥补Base64只有6个有效bit 的不足
Cookie Base64注入代码分析
以Less-22为例
第89行进行base64加密
根据126行和144行发现存在Cookie漏洞
即就是没有过滤
当你在浏览器输入账户和密码时
用Burp抓包
你会在Cookie看到Base64加密的用户名
然后你通过Decoder进行Base64解码
Cookie Base64注入
意思就是把你想要注入的sql语句经过Base64编码后注入
Sqlmap的安全测试
上图的倒数第二行
使用上述命令可能不会成功
因为我们注入语句不是base64编码的
建议尝试以下的
要用到sqlmap本身的文件
将我们注入sql语句变为base64编码后的