产生原因
base64 一般用于数据编码进行传输,例如邮件,也用于图片加密存储在网页中。
数据编码的好处是,防止数据丢失,也有不少网站使用 base64 进行数据传输,
如搜索栏 或者 id 接收参数 有可能使用 base64 处理传递的参数。
在 php 中 base64_encode()函数对字符串进行 base64 编码,既然可以编码也可以进
行解码,base64_decode()这个函数对 base64 进行解码。
注入原理
当用户名存入cookie中并且会直接拼接到sql语句中时,可能会存在此漏洞
代码分析
注入过程
-
burpsuite抓取登录信息,为base64编码信息
-
判断编码信息为用户名
-
检测是否存在注入点
得到的结果中报错,原因是因为代码中多半个括号,所以报错,需要把括号补上
1=1返回结果
1=2返回结果
》两次结果不同故存在sql注入
- 猜字段数
》经过尝试,字段数目为3
- 查看回显信息