sqli-labs less32

管理员 2020-01-02 PM 162℃ 0条

1.输入 ?id=1 登录成功,并且页面地下出现我们提交数据的原文和它在ascii表中的16进制数值

2.当我们输入 ?id=1' 提交的时候,单引号前面出现了一个反斜杠,这是怎么回事呢?

原来是后端对传进的 id参数进行了一个 addslashes() 函数处理,这个函数会在特殊字符如 ' " null \ 的前面加个反斜杠。而 \ 在mysql中是合法的符号,也就是说我们在 \ 后面的闭合符号不会把前面的闭合掉。

那么怎么办呢?这里就需要用到宽字节注入,关于宽字节注入

我们输入 ?id=1%df%27 ,也就是在单引号前添加了%df,然后提交

出现了报错,说明我们的单引号起作用了,根据报错信息推断可以使用单引号闭合。

3.使用 order by 从1到4的时候报错了,说明查询了三个字段

4.使用联合查询知道 2,3的位置有回显。

5.得出数据库名

查表名,

可以看到双引号被转义了,而且这里使用 %df也没用,那么就需要把数据转为16进制,避免使用单引号或者双引号

找个在线转换的网站,把数据转为16进制。然后在16进制数前加0x号告诉程序这是16进制的数据

查字段

爆出用户信息

Tips:要使用单引号或者双引号 标记数据类型的地方可以使用十六进制来避免使用单引号或双引号

标签: get宽字节注入

非特殊说明,本博所有文章均为博主原创。

上一篇 sqli-labs less33
下一篇 sqli-labs less31

评论啦~