操作無許可權的MSMQ隊列

來源:互聯網
上載者:User
操作無許可權的MSMQ隊列

本文地址:http://www.cnblogs.com/AndersLiu/archive/2009/06/25/manipulate-msmq-without-permission.html

作者:Anders Liu

摘要:在操作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隊列檔案中的欄位值即可。

(完)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.