实战复盘|从SQL注入到内网

admin 2026-07-15 05:25:19 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文复盘一次授权攻防演练,从发现某高校体育信息化平台的SQL注入漏洞入手,通过WebService接口WSDL泄露获取sa权限,最终深入内网。关键发现包括利用UNIONSELECT回显注入枚举数据库、确认xp_cmdshell已启用、获取学生敏感数据等。可操作建议是安全从业者应关注WSDL泄露风险并加强SQL注入防护。 综合评分: 90 文章分类: 渗透测试,红队,内网渗透,WEB安全,漏洞分析


cover_image

实战复盘|从SQL注入到内网

原创

鼎新安全 鼎新安全

鼎新安全

2026年7月13日 17:28 安徽

在小说阅读器读本章

去阅读

01—前言

本次授权攻防演练中,我们发现某高校体育信息化平台存在SQL注入漏洞。通过WebService接口的WSDL泄露,最终获取了sa权限并深入内网。本文复盘完整攻击链,已做脱敏处理,供安全从业者参考。

02—入口打点

目标发现:对目标进行资产测绘时,发现 8899 端口开放 HTTP 服务。访问根路径返回「体育信息化平台」登录页面,HTML 中包含客户端 AntiSqlValid 过滤器,确认后端为 ASP.NET 4.0.30319 + IIS。

登录接口排错:分析前端 JS 得知登录请求发往 Handle/GetInfos.ashx,参数格式 s1=GetData&s2=Login&s3=用户名|密码。对该接口进行单引号、OR 1=1、UNION、WAITFOR DELAY等注入测试,所有响应均返回统一的「登录失败:用户名或密码错误!」,确认该接口使用参数化查询,不存在注入。

尝试弱口令爆破,同样失败

发现 trace.axd 返回 403,说明 ASP.NET Tracing 可能存在。进一步尝试 ASMX WebService 标准路径。

返回完整的 HTML 登录页面。尝试获取 WSDL

在路径探测中访问 WebService.asmx?WSDL,成功获取完整 WSDL 定义文件,泄露 50 个 SOAP 操作。其中 GetParameter(name) 和 GetVersion(name) 方法的参数语义为查询数据库配置值,xyz(sqlstr) 和SendMessage(sqlstr) 的参数直接命名为 sqlstr,这里高度可疑。

布尔盲注确认:构造 SOAP 请求调用 GetParameter 方法。传入 name=test 返回空结果;传入 name=’ OR ‘1’=’1返回一条微信access_token 值(105_bNhEJUkTyGO_OAVpZ…);

传入 name=’ AND ‘1’=’2 返回空结果。三种 payload差异化响应,确认 name 参数被直接拼接到 SQL 语句中。

UNION SELECT 回显:传入 name=’ UNION SELECT DB_NAME()–,响应回显 DZKJ_PEI,确认注入类型为完整的 UNION SELECT 回显注入(非盲注),直接获取数据库名。

权限确认:依次执行 SYSTEM_USER 回显 sa、@@VERSION 回显 Microsoft SQL Server 2008 R2 Enterprise 10.50.1600.1 on Windows NT 6.2、读取 sys.configurations 中 xp_cmdshell 配置值为 1(已启用)、读取sys.dm_exec_connections 获取内网 IP 172.30.7.113 和监听端口 1433。

1、确认sa权限

2、sql server版本

3、xp_cmdshell 状态

4、内网IP确认

数据枚举:使用 FOR XML PATH 拼接技术一次性读取全部 87 张表名,含 SystemSetting_Account(49 个账号密码)、BasicInfo_Student(34,364 名学生,含身份证号、手机号、班级)、Physical_Score(501,096条体测成绩)等。另读取 TKMSG 数据库中含 bby_table_wxtoken 等微信消息平台表。通过 sys.configurations 确认 CLR enabled=0、Ole Automation Procedures=0。

获取数据:全程仅通过 UNION SELECT 读取方式,获取了数据库名、全部表名及行数、服务器版本、当前用户身份(sa)、内网 IP 地址、数据库文件路径等系统信息,点到为止、未执行任何写入、删除、命令执行操作。

1、全部 87 张表名(FOR XML PATH 拼接

2、SystemSetting_Account — 49 个账号密码

列结构:

行数:

逐条读账号:

3、 BasicInfo_Student — 34,364 名学生

读行数:

读首条(身份证号/手机/班级验证):

读取姓名+身份证+手机+班级:

4、全部数据库列表

03-内网成果

堆叠查询执行命令 + OPENROWSET 读回

直接写脚本进行漏洞利用

内网ip为:172.30.7.113

木马部署

这里我们利用sql分段传输到目标站点

木马连接

内网突破

PrintSpoofer.exe是用来提权的exe,可成功提权,但由于该主机为 VMware 独立服务器(WORKGROUP),没有域控,没有域凭据可抓。

使用多条命令进行查看,无域环境

测试结束,所有测试使用的工具和木马均已删除

结尾

版权声明

本文版权归作者及所在团队所有,未经允许不得转载、修改或用于商业目的。

免责声明

本文内容仅供网络安全从业者学习参考,旨在提高安全防护意识。任何利用文中技术进行非法活动的行为,与作者及发布平台无关。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:鼎新安全 鼎新安全 鼎新安全《实战复盘|从SQL注入到内网》

评论:0   参与:  0