sql注入---宽字节注入
前言: 宽字节注入是为了绕过 php中的转义函数诞生的。实例靶场为sqli-labs 中的32关。
原理:
有时候为了防止用户的输入内容带有恶意指令,就对用户输入能容进行处理。addslashes() 函数对单双引号、反斜线及NULL加上反斜线转义,可以有效防止sql注入。但mysql 的编码为GBK, 会认为两个字节为一个汉字 我们只需要用字节把 \ 进行处理成一个汉字,再进行闭合就可以进行注入。而%df 和 / (%5c) 会变为汉字運
演示
当我们输入 1' 是可以发现 ' 被转义成了 1\' 这样就无法闭合前面的单引号 |
我们使用 %df 让他变为一个汉字 进行列的查询 可以发现数据有3列 当第4列是进行了报错 |
接着可以使用 联合注入或者报错注入进行 表 和字段的查询 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 废柴の博客!
评论
匿名评论