分享

[操作系统][服务器]操作无权限的MSMQ队列[转]

 icecity1306 2015-05-08

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

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

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

[Properties]
Type=00000000-0000-0000-0000-000000000000
Instance=e808d736-9552-4e78-8f8e-fbb7710d3005
BasePriority=0
Journal=00
Quota=4294967295
JournalQuota=4294967295
CreateTime=1245907917
ModifyTime=1245907918
QueueName=\test
Label=test
Authenticate=00
PrivLevel=1
Transaction=00
Security=01000480e8280000042...
Signature=MSMQStorage
TimeStamp=cd0b434a

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多