您的位置:首页 > 数据库

④sqlilabs的less-3和less-4

2016-10-26 20:47 585 查看
less-3和less-4都是基于字符型的SQL注入,具体判断方法是使用模糊测试,即在注入过程,输入一些特殊意义的参数等,并尝让应用程序报错,根据报错的信息来进行SQL注入。

其中,输入的任意字符包括单引号(’),双引号(”),反斜线(\),正括号((),反括号())等。

接下来,我们以less-3为例,完成一次基于字符型的SQL注入(less-4的方法一样)。

less-3

原始页面如下:



在原始URL后面输入单引号,显示页面如下:



页面报错信息如下:

ou have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''1'') LIMIT 0,1' at line 1


推测此时后台数据库的SQL查询语句如下:

select ... from ... where id = ('1'') limit 0,1;


为了确认我们的判断,在原始URL后面添加两个单引号(”),得到页面如下:



所以,我们可以确定后天数据库的SQL查询语句为:

select ... from ... where id = ('$id') limit 0,1;


那么,在SQL注入过程中,我们需要注意三个问题:

①单引号的闭合;

②括号的闭合;

③注释掉多余的语句;

接下来,我们使用order by 语句查询字段数目:

order by 3显示页面正确:



order by 4显示页面错误:



所以,当前数据库的字段数目为3.

接下来,我们使用union语句判断能显示在前端的字段。



最后,我们一步一步的枚举数据库内容。

枚举数据库名:



枚举当前数据库名:



枚举表名:



枚举列名:



枚举数据项:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql注入