最近同事 Erwin 在談 PowerShell 時,他談到還可以取得 IIS 上 Application Pool 自定帳戶的使用者密碼。
看他 Demo 了一下,真的直接把使用者的密碼直接顯示出來 ....
以下一步步的來呈現給大家,
環境: Windows 2008 R2,2012 R2
在應用程式集區中有一個 myTest 的集區,預設識別是 ApplicationPoolIdentity。
所以我們用 PowerShell 來看一下它的 processModel 資訊,
1.先 Import Module WebAdministration
Import-Module WebAdministration
註:如果發生 停用指令碼執行,則需要先下 set-executionpolicy remotesigned
2.顯示它的 processModel 資訊
(get-item IIS:\AppPools\myTest).processModel | select *
這時如果在IIS上將集區的識別改成自定帳戶,rm 的帳號,如下,
如果開啟 C:\Windows\system32\inetsrv\config\applicationHost.config 中的密碼是加密過的哦! 如下,
再透過 PowerShell 來看,密碼(明碼)直接就顯示出來了 ! 如下,
透過 appCmd (指令為 appcmd list apppools myTest /text:* )也可以到得到哦! 如下,
註: 如果在applicationHost.config 中看不到密碼的屬性,
透過 PowerShell or AppCmd 去查就會看不到密碼的哦! 如下,
參考資訊
IIS application pool identity - 運用PowerShell自動化修改IIS AppPool identity 及 password
IIS: Encrypting AppPool Identity Passwords
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^