SQL注入详细讲解概括—盲注
SQL注入详细讲解概括—盲注
1、盲注简单理解
2、盲注必学函数
3、布尔盲注
4、时间盲注
一、盲注简单理解
What is 盲注?
It is 在服务器没有错误回显的时候完成的注入攻击
数据库把报错信息屏蔽掉了,即使数据库在执行错误的SQL语句时候出错,页面也不显示错误,这样就不知道恶意语句有没有被执行,那我们就不知道此处存不存在SQL注入,此时就需要盲注来进行进一步的确定
还有一种是数据库查询方法的原因,在我们向数据库查询时多使用select查询,返回数据库的查询内容。But,在对数据库 进行增删改的时候,则数据库不会返回内容,只有成功与不成功,多用于注册用户、修改用户信息
服务器没有错误回显,对于攻击者来说就缺少了非常重要的调试信息。攻击者只能根据页面返回信息的不同来进行判断,可能是返回结果不同,也可能是响应时间不同等等
二、盲注必学函数
length()函数 返回字符串的长度
substr()函数 截取字符串 (语法substr(str,position,len) )
ascii() 返回ascii码,cpu只能运算二进制,0和1,ascii就是将字符转换成数字
sleep() 将程序挂起n秒
if(expr1,expr2,expr3)
三、布尔盲注
First,布尔是一种数据类型,只有两种状态,Ture and Fales
Why is its name base on Boolian ?
只会根据注入信息返回Ture和Fales,也就没有了之前的报错信息
注入流程
· 获取当前数据库的name的length(长度)
length(database())=X
length(database())<X
length(database())>x
· 获取当前数据库的name
ascii(substr(database(),1,1))=X
ascii(substr(database(),1,1))<X
ascii(substr(database(),1,1))>X
· 获取当前数据库的表的name的length
length(select table_name form information_schema.tables where table_schema=database() limit 0,1)
· 获取表的名字
ascii(substr((select table_name form information_schema.tables where table_schema=database() limit 0,1)1,1))
· 获取表的字段长度
length(select count(*) form information_schema.tables where table_schema=database() and table_name=table_name limit 0,1)
· 获取表的字段名
ascii(substr((select count(*) form information_schema.tables where table_schema=database() and table_name=table_name limit 0,1)1,1))
· 获取表第一条数据的长度
length(select column_name form table_name limit 0,1)
· 获取表的数据,根据字段
ascii(substr((select column_name form table_name imit 0,1)1,1))
OK,以上就是布尔盲注的大概流程,本质就是进行猜解,正确返回Ture 错误返回Fales
四、时间盲注
what is it ?
根据响应时间来判断,是Ture or Fales
First,讲一个函数 if()
if(语句一,语句二,语句三),如果语句一为真,则执行性语句二,否则执行语句三
OK,,,简单讲,就是把布尔盲注的语句,作为语句一,也就是当做条件,如果成立,则执行语句二,如果不成立,则执行语句三,
在语句二或者语句三中,写入sleep() 函数,通过响应返回时间,来判断语句一是否成立。
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
OK,,,就写到这吧,后面想起什么就再补充,今天好累,,bye
SQL注入详细讲解概括—盲注的更多相关文章
- SQL注入之Boolean型盲注
什么是Boolean型注入 Boolean型的注入意思就是页面返回的结果是Boolean型的,通过构造SQL判断语句,查看页面的返回结果是否报错,页面返回是否正常等来判断哪些SQL判断条件时成立的,通 ...
- SQL注入原理讲解,很不错!
SQL注入原理讲解,很不错! 原文地址:http://www.cnblogs.com/rush/archive/2011/12/31/2309203.html 1.1.1 摘要 日前,国内最大的程序员 ...
- SQL注入详细介绍及如何防范SQL注入式攻击
一. SQL注入攻击的简单示例. statement := "SELECT * FROM Users WHERE Value= " + a_variable + " 上面 ...
- 大哥带我们的mysql注入 基于时间的盲注
?id= and ,,sleep()) ?id= and ,,sleep()) if语句/if()函数 在基于时间型SQL盲注中,我们经常使用条件语句来判断我们的操作是否正确: ?id= and = ...
- 【转载】SQL注入原理讲解
这几篇文章讲的都很不错,我看了大概清除了sql注入是怎么一回事,打算细细研究一下这个知识,另写一篇博客: 原文地址:http://www.cnblogs.com/rush/archive/2011/1 ...
- 大哥带我们的mysql注入 基于bool的盲注
盲注 那么我们来了解一点盲注的语法 这里面是语法的介绍 https://blog.csdn.net/alex_seo/article/details/82148955 0X01第一步我们先判断当前数据 ...
- 84)PHP,SQL注入基础讲解
怎么预防: 填写防止SQL注入的代码:
- SQL注入原理讲解
1.1.1 摘要 日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号.密码等互 ...
- [红日安全]Web安全Day1 - SQL注入实战攻防
本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...
- 浅谈 SQL 注入(注入篇)
一.SQL注入简介 1.1 什么是SQL注入 在用户可控制的参数上过滤不严或没有任何限制,使得用户将传入的参数(如URL,表单,http header)与SQL语句合并构成一条 SQL语句传递给web ...
随机推荐
- Git Q&A
git入门 Q: 什么是git ? A: git是一种版本控制工具,也是程序员的"后悔药":当你在工程中写入一堆混乱的代码后,只要通过几行简单的git命令,就可以回退到任意一个提交 ...
- (Python)每日代码||2024.1.18
m = 10 a = 10 print(id(m)) print(id(a)) '''输出 140713874176728 140713874176728 ''' print() a = 1 b = ...
- 部署19c ADG过程中的问题处理
回忆起来也是有些年没亲自动手搭建ADG了,今天正好有个机会重温,客户环境是19.16,恍惚记得上一次搭ADG还是在11.2.0.4的时代,时光荏苒啊. 正好看下19c的ADG和11g的ADG在部署方面 ...
- JS leetcode 反转字符串 题解分析
壹 ❀ 引 今天做的一道题非常简单,原题来自leetcode第344题反转字符串,题目如下: 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外 ...
- NC50505 二叉苹果树
题目链接 题目 题目描述 有一棵二叉苹果树,如果数字有分叉,一定是分两叉,即没有只有一个儿子的节点.这棵树共N个节点,标号1至N,树根编号一定为1. 我们用一根树枝两端连接的节点编号描述一根树枝的位置 ...
- NC16590 [NOIP2010]乌龟棋
题目链接 题目 题目描述 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 乌龟棋的棋盘是一行N 个格子,每个格子上一个分数(非负整数).棋盘第1 格是唯一的起点,第N 格是终点,游戏要求玩家 ...
- 【Unity3D】Renderer Feature简介
1 3D 项目迁移到 URP 项目后出现的问题 3D 项目迁移至 URP 项目后,会出现很多渲染问题,如:材质显示异常.GL 渲染不显示.多 Pass 渲染异常.屏幕后处理异常等问题.下面将针对这 ...
- 【OpenGL ES】绘制圆形
1 前言 [OpenGL ES]绘制三角形 中介绍了绘制三角形的方法,[OpenGL ES]绘制正方形中介绍了绘制正方形的方法,本文将介绍绘制圆形的方法. OpenGL 以点.线段.三角形为图 ...
- Swoole从入门到入土(22)——多进程[Process]
Swoole中的Process模块比原生php提供的pcntl模块,提供了更易用的多进程编程接口. 简单总结,Process模块有如下特点: · 可以方便的实现进程间通讯· 支持重定向标准输入和输出, ...
- weblogic CVE-2024-20931分析
weblogic 12.2.1.4.0安装 我的环境:ubuntu 22.04 + weblogic 12.2.1.4.0 + jdk8(注:weblogic不支持OpenJDK) jdk下载安装:h ...