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注入详细讲解概括—盲注的更多相关文章

  1. SQL注入之Boolean型盲注

    什么是Boolean型注入 Boolean型的注入意思就是页面返回的结果是Boolean型的,通过构造SQL判断语句,查看页面的返回结果是否报错,页面返回是否正常等来判断哪些SQL判断条件时成立的,通 ...

  2. SQL注入原理讲解,很不错!

    SQL注入原理讲解,很不错! 原文地址:http://www.cnblogs.com/rush/archive/2011/12/31/2309203.html 1.1.1 摘要 日前,国内最大的程序员 ...

  3. SQL注入详细介绍及如何防范SQL注入式攻击

    一. SQL注入攻击的简单示例. statement := "SELECT * FROM Users WHERE Value= " + a_variable + " 上面 ...

  4. 大哥带我们的mysql注入 基于时间的盲注

    ?id= and ,,sleep()) ?id= and ,,sleep()) if语句/if()函数 在基于时间型SQL盲注中,我们经常使用条件语句来判断我们的操作是否正确: ?id= and = ...

  5. 【转载】SQL注入原理讲解

    这几篇文章讲的都很不错,我看了大概清除了sql注入是怎么一回事,打算细细研究一下这个知识,另写一篇博客: 原文地址:http://www.cnblogs.com/rush/archive/2011/1 ...

  6. 大哥带我们的mysql注入 基于bool的盲注

    盲注 那么我们来了解一点盲注的语法 这里面是语法的介绍 https://blog.csdn.net/alex_seo/article/details/82148955 0X01第一步我们先判断当前数据 ...

  7. 84)PHP,SQL注入基础讲解

     怎么预防: 填写防止SQL注入的代码:

  8. SQL注入原理讲解

    1.1.1 摘要 日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号.密码等互 ...

  9. [红日安全]Web安全Day1 - SQL注入实战攻防

    本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...

  10. 浅谈 SQL 注入(注入篇)

    一.SQL注入简介 1.1 什么是SQL注入 在用户可控制的参数上过滤不严或没有任何限制,使得用户将传入的参数(如URL,表单,http header)与SQL语句合并构成一条 SQL语句传递给web ...

随机推荐

  1. PHP的无限极分类

    PHP的无限极分类 一.使用数据表 添加from字段 id name parent_id from 1 中国 0 0 2 广东 1 0,1 3 深圳 2 0,1,2 4 龙华 3 0,1,2,3 5 ...

  2. NOIp 2023 游记

    咕了正好一周的 NOIp 游记,是我第一篇游记,也是一张寄往四年后不得不退役的.即将画上青春句号的自己的,包含了自己的青涩.期待与成长的信笺. Day \((-\infty, -7)\) CSP-S ...

  3. 小知识:杜绝明文密码,OGG的credentialstore特性

    之前OGG配置文件中都会明文记录密码,而在OGG12c及以上版本中,有一个特性credentialstore,可以用来杜绝明文密码,提升安全性. 这里测试添加credentialstore并配置数据库 ...

  4. java中“0x”表示的含义

    public static void main(String[] args) { int a = 0xff;//16进制默认是int int b = 0x000000ff; System.out.pr ...

  5. 《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(下)

    第 5 章 使用 Entity Framework Core 5.4 重构 Controller 和 Action 重构 AuthorController 构造函数重构 public IMapper ...

  6. 《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(上)

    第 5 章 使用 Entity Framework Core 5.1 Entity Framework Core EF Core 是微软推出的 ORM 框架,一种为了解决高级编程语言中的对象和关系型数 ...

  7. offline 2 online | Cal-QL:校准保守 offline 训出的 Q value,让它与真实 reward 尺度相当

    论文标题:Cal-QL: Calibrated Offline RL Pre-Training for Efficient Online Fine-Tuning. NeurIPS 2023,5 5 6 ...

  8. ABC 312

    前三题氵 D 给定一个由 (,?,) 组成的字符串.每个 ? 可以设定为任意括号.求有几种设定方法使得整个是合法括号序列. 套路,dp E 给定 \(n\) 个两两不相交的长方体,对每个长方体,求有多 ...

  9. Centos7部署django+uwsgi+nginx 转载: https://www.cnblogs.com/wztshine/p/16172154.html

    Centos7部署django+uwsgi+nginx   Django + uwsgi + nginx on Centos7 wsgi 介绍 本小节来自 廖雪峰 wsgi 一文 一个Web应用的本质 ...

  10. angularjs国际化多语言,angular-translate教程详解,$translate.instant()为什么不生效

    壹 ❀ 引 最近项目要求支持国际化多语言,由于项目用的还是angularjs,那么首当其冲的选择了angularjs封装的I18N插件angular-translate,本文主要会从三个方向展开讨论, ...