一、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. Network POJ - 3694 无向图找桥

    题意: 给你一个无向图,你需要找出来其中有几个桥 桥: 1.存在重边必定不为桥 2.low[v]>dfn[u] 代码: //题意很清晰 //就是这个需要先找出来原无向图中的桥个数,然后在判断添加 ...

  2. windows server 2016 安装有线网卡驱动

    为自己的本本安装了server 2016系统,但是官网下载的有线网卡驱动一直安不上,解决方法如下: 1.到Intel官网下载一个叫PROWinx64的驱动程序,解压到任意文件夹.依次进入PRO1000 ...

  3. PowerShell随笔9--- call

    很多时候我们需要在一个脚本文件执行另外一个脚本文件,比如我们有一个Test.ps1文件 我们有以下2种方法: Invoke-Expression (&) 我们可以看到,Test.ps1中的代码 ...

  4. 2020ICPC·小米 网络选拔赛第一场

    2020ICPC·小米 网络选拔赛第一场 C-Smart Browser #include <string> #include <iostream> std::string s ...

  5. 网络协议 & 协议体系结构模型

    基本知识概述 网络协议是什么? 为进行网络中的数据交换,而建立的规则(约定),就称为网络协议 网络协议的三个组成要素? 语法:数据与控制信息的结构或格式 语义:发出何种控制信息,完成何种动作,作出何种 ...

  6. VScode 配置c++环境

    参考 https://code.visualstudio.com/docs/cpp/config-mingw https://zhuanlan.zhihu.com/p/77645306 主要 http ...

  7. python了解未知函数的方法

    ?func 如图:

  8. codevs1068乌龟棋-四维DP,五维如何缩减一维

    我们从起点x开始暴力枚举所有决策 于是可以得到如下转移 void dfs(int x,int A,int B,int C,int D,int y) { if (x==n) {ans=max(ans,y ...

  9. UMD 模块 vs CJS 模块

    UMD 模块 vs CJS 模块 使用方式 UMD, window 全局注册后,直接使用 <!DOCTYPE html> <html lang="zh-Hans" ...

  10. javascript & call & apply & bind & new

    javascript & call & apply & bind & new Javascript call() & apply() vs bind()? ht ...