博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作无权限的MSMQ队列
阅读量:6257 次
发布时间:2019-06-22

本文共 1653 字,大约阅读时间需要 5 分钟。

操作无权限的MSMQ队列

本文地址:

作者:

摘要:在操作MSMQ队列的权限时一定要小心,如果意外地删除了自己的访问权限,即便自己是管理员,也无法对队列进行操作,尤其是无法删除该队列。本文将介绍一种方法,可以绕过MSMQ的权限控制,只要自己是管理员,能够操作C:\Windows\System32中的文件,即可获得对任意队列的操作权。

首先,我们重现一个这样的“死”队列。在消息队列的管理器中新建一个队列(私有或公有均可),命名为test。右键单击该队列,选择Properties,然后进入Security选项卡,在窗口上部选择Everyone,并在窗口下部的权限列表中,勾选第一行Full Control对应的Deny复选框,最后单击OK按钮。

这样,我们就对所有人禁用了对该队列的一切操作。现在,包括系统管理员在内的任何用户都无法操作该队列,如查看属性或删除队列等操作均无法进行。

注解

为了方便通过搜索引擎找到本文,这里列出查看属性和删除队列时的提示信息。

查看属性:

The properties of PUBLIC=e808d736-9552-4e78-8f8e-fbb7710d3005 cannot be obtained.

Error: The queue does not exist or you do not have sufficient permissions to perform the operation.

删除队列:

\test cannot be deleted.

Error: The queue does not exist or you do not have sufficient permissions to perform the operation.

解决的方法如下:

打开该目录:C:\Windows\System32\msmq\storage\lqs,对于Vista及以上版本的操作系统,UAC会弹出提示,需要提升权限。因此,该方法要求操作者必须具有管理员权限。

在该目录下可以看到一些以16进制数字命名的文件,其中每个文件都对应着一个消息队列的配置。这些文件都是纯文本文件,可以使用记事本等类似程序打开。其内容类似于:

[Properties]Type=00000000-0000-0000-0000-000000000000Instance=e808d736-9552-4e78-8f8e-fbb7710d3005BasePriority=0Journal=00Quota=4294967295JournalQuota=4294967295CreateTime=1245907917ModifyTime=1245907918QueueName=\testLabel=testAuthenticate=00PrivLevel=1Transaction=00Security=01000480e8280000042...Signature=MSMQStorageTimeStamp=cd0b434a

其中的QueueName字段指明了对应队列的路径(名字)。通过遍历每个文件,即可找到我们刚刚建立的test队列。其中的Security字段就是队列的权限配置,其值是一长串16进制数字,这里限于篇幅只截取了前面若干个字符。

因此,不管当前操作者是否真的具有修改队列权限的权限,只需要修改Security字段的值就能修改队列的权限。

我们并不知道这个字段值的实际格式是什么,但可以使用一种取巧地方法——新建一个队列(此时往往具备对该队列进行操作的所有权限),并将新队列的Security字段值复制给当前队列即可。

下面新建一个队列test2,不要修改其属性。再到C:\Windows\System32\msmq\storage\lqs下找到对应于test2队列的文件,将Security字段的值复制下来,并用该值覆盖test队列文件中的字段值即可。

(完)

转载地址:http://jzxsa.baihongyu.com/

你可能感兴趣的文章
ecshop index.php源代码分析
查看>>
POJ 2057 The Lost House (经典树形dp)
查看>>
C#与Java的比较(转)
查看>>
jquery checkbox
查看>>
GNU make manual 翻译(三十二)
查看>>
内存泄漏简介
查看>>
管理内核模块
查看>>
SQL NOTE--CURSOR
查看>>
cvMatND 多维数组 设置和读取像素值
查看>>
使用XML文件方式配置log4cxx(log4cxx xml例子)
查看>>
java读写文件大全 [转]
查看>>
C语言学习必读
查看>>
分享一个String Replace方法
查看>>
温习 Linux 命令
查看>>
可扩展性设计之Cache与Search的利用
查看>>
unity3d常见问题
查看>>
压缩UIImage
查看>>
hdu1509
查看>>
Eclipse+PyDev 安装和配置
查看>>
使用SQLServer Audit来监控触发器的启用、禁用情况(转载)
查看>>