作者:Evi1oX
sql server配置管理器中, 为了安全设置.server 协议可以禁用固定的端口.采用随机端口运行 mssql
例如说绑定一个固定端口
在成功获取到一个 webshell 的前提下.服务器没有开放1433端口..
想法1:
利用 socks5转发. 使用 navicat 连接服务器..但是发现使用 ashx 脚本 socks5丢失 udp 的数据包. 失败.继而使用了自用的 sock5的程序反向代理到 vps..但是还是失败.
想法2:
查找本地备份sql文件.失败
想法3:
使用aspx大马导出..发现能导出成功.但是文件缺失严重..数据不全..[可能是大马的问题]. 失败
想法4:
使用 sqlcmd 导出导入.成功
峰回路转
通过 tasklist
查看进程中 sql server 的信息发现两个 pid
tasklist /svc
通过netstat
发现存在端口开放情况
`netstat -ano |findstr '6666' `
利用常用的大马中 mssql 管理功能
server=localhost;UID=sa;PWD=;database=master;Provider=SQLOLEDB
变更为
server=localhostSQLEXPRESS;port=45392;UID=sa;PWD=sapassword;database=dbname;Provider=SQLOLEDB
成功连接..但是发现利用导出 backup database 功能实在是不好用…导出继续失败 利用 set 查看到 mssql 有相关环境变量 这里我就不放图了.大家都懂.
使用sqlcmd备份还原sqlserver数据库
代码语言:javascript复制备份:
代码语言:javascript复制还原:
至于其中的目录斟酌修改..
导入到本地发现又出现新的问题
问题1.1: RESTORE 无法处理数据库 ‘dbname’,因为它正由此会话使用。建议在执行此操作时使用 master 数据库。
问题1.2: 消息 3013,级别 16,状态 1,服务器 localhostSQLEXPRESS,第 1 行 RESTORE DATABASE 正在异常终止。
sqlcmd -S localhostSQLEXPRESS,45392 -U sa -P sapassword -d dbname -Q"use master; RESTORE DATABASE dbname FROM disk='c:/dbname.bak' with REPLACE"
如果还是不行 说明你的服务器sqlserver版本和对方的服务器版本不同.
解决办法: 升级同级别或者更高版本的环境
结语:
上面的步骤虽然失败.但是给我提供了很大帮助.server 及 port 的指定
例如 navicat 没有指定端口的选项.
就在 server 中填写localhost,port
连接 server 中使用 localhost 失败 ,localhostSQLEXPRESS 成功 等等…
就这样