sql注入 小白入门学习笔记(二)

针对没有错误回显的网站,我们一般采取盲注(事实上也只学了这个233)

这种网站,如果你输入符合的值,则显示正确,输入不符合的非法数据,则显示错误或没有显示,总之就是没有关于数据库的信息直接利用。

我看到网上好像说盲注有三大类

1.基于布尔型SQL盲注

2.基于时间型SQL盲注

3.基于报错型SQL盲注

首先基于时间的这种其实就是针对web服务器的响应时间来判断你注入的代码是否有被执行。

比如,我们想判断这个数据库的首字母是不是d:

if(ascii(substr(database(),1,1))=100,1,sleep(300))

首先先说明下,if(表达式1,表达式2,表达式3),如果表达式1成立,则执行表达式2,否则执行表达式3。

所以这个语句的意思是,如果该数据库的第一个字母的ascii码是100,那么网页很快就返回结果,如果不是100,那么网页就sleep(300)(停止300s)

而这个布尔就是在选择的时候多加一个判断条件,用and来进行连接。

比如,我们想判断这个数据库名的长度是不是8:

and length(database())=8

注意,这里不能把 and 换成 union select ,若使用union select 则始终会返回1,起不到判断效果。

本文系作者原创,若有错误恳请斧正,不胜感激。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值