IIS 7.5 解析錯誤 命令執行漏洞解決方案
這篇文章主要介紹了IIS 7.5 解析錯誤 命令執行漏洞解決方案,需要的朋友可以參考下
一、漏洞介紹
漏洞影響 IIS7 及IIS7.5 在使FastCGI方式呼叫php時,在php.ini裡設定
cgi.fix_pathinfo=1
使得訪問任意檔案URL時,在URL後面新增“/x.php”等字元時,該檔案被iis當php檔案程式碼解析。
如 的內容如下:
當訪問
可以看到1.gif裡的php程式碼被iis解析執行了。 那麼“駭客”在具體攻擊網站的時候,先可以透過網站提供的圖片上傳功能(也可以是其他的手段)上傳一個包含了惡意PHP程式碼的圖片檔案。然後透過上面描敘方法,讓iis解析執行任意惡意的php程式碼,控制網站及主機,最終導致網站被“脫庫”、“掛馬”、“植入非法seo連結”等等嚴重後果。
二、解決方案
第1種方案:繼續使用FastCGI方式呼叫PHP,要解決這個安全問題可以在php.ini裡設定 cgi.fix_pathinfo=0 ,修改儲存後建議重啟iis(注意可能影響到某些應用程式功能)。
第2種方案:使用ISAPI的方式呼叫PHP。(注意:PHP5.3.10已經摒棄了 ISAPI 方式)
第3種方案:可以使用其他web伺服器軟體,如apache等。
【實戰解決方案】增強IIS設定(IIS7站長之家 測試透過)
在IIS裡找到“處理程式對映”,然後對PHP這一項進行編輯,點選“請求限制”,把“僅當請求對映至以下內容時才呼叫處理程式”這個選項勾上即可;
具體操作步驟如下!
1、開啟具體網站的php程式對映;
2、檢視是否勾選了下圖紅框內的選項,正常是需要勾選上;
3、如果你的php對映沒有勾選,請速度勾選上,不然網站非常危險,使用者上傳一個圖片,就可以拿到web許可權;
4、IIS7.5解析漏洞測試結果;
5、設定後解析漏洞測試結果。
伺服器安全設定一直都不容忽視,請廣大站長朋友一定要重視。如果你對伺服器系統並不熟悉,這裡我為大家提供幾點小小的建議,配合之前我提供的一些安全設定方面的帖子、,相信會取得較好的效果。(以下所有全部基於Windows Server)
【最簡單的windows伺服器安全設定,仔細做了,你會發現原來真的很有用!】
1、伺服器上別裝一些亂七八糟的東西,什麼360安全衛士之類的,我經常在一些站長朋友的伺服器上看到,建議大家一定要解除安裝,如果有360安全衛士,我一分鐘可以攻破你伺服器並提權,具體原因省略掉。伺服器一向是功能越少越安全,用不到的東西請儘量解除安裝或刪除,比如說DZ的目錄下就不需要ASP指令碼執行能力。
2、請一定在伺服器上安裝簡單的防火牆軟體,如果是windows2008或2008R2,建議直接使用系統防火牆,功能強大,效能優越。除了常見的80埠和MYSQL、Memcache、3389嬰兒起名使用的埠外,如果無特殊需求,建議阻止其他一切埠的進出。
3、伺服器上安裝一款安全軟體,推薦Mcafee8.8,透過Mcafee強力阻截危險的入侵。一般情況下我們很少3389登入伺服器,這個時候,我們可以完全全域性禁止生成常見字尾的檔案,exe\bat\vbs\ini\txt\cmd\com\dll等等,這樣駭客想在你伺服器上寫入危險檔案就變得非常困難了;再比如說,鎖定部分登錄檔專案防止被建立賬戶和提權。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69918221/viewspace-2645711/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Win7 IIS7.5執行ASP時出現500錯誤的解決辦法Win7
- CentOS 中yum命令執行錯誤解決辦法CentOS
- 雲伺服器IIS7.5 錯誤 500 呼叫loadlibraryex失敗的解決方法伺服器
- JNI命令列下編譯錯誤解決方案命令列編譯
- ASP.NET 在IIS上執行不了的解決方案ASP.NET
- 執行create table as 報ora-600的錯誤的解決方案
- 執行Docker命令報錯解決辦法Docker
- latex 錯誤以及解決方案
- 命令執行漏洞
- 執行無法解決的編譯錯誤編譯
- java:錯誤:不支援發行版本1.4解決方案Java
- Laravel 執行 Gulp 命令出錯解決辦法Laravel
- Asp.net MVC應用在IIS7上部署後403錯誤解決方案ASP.NETMVC
- 解決錯誤:ASP.NET Error: Failed to access IIS metabaseASP.NETErrorAI
- Linux下錯誤解決方案Linux
- mysql執行命令報segmentation fault 錯誤MySqlSegmentation
- 執行轉換時如何讓Kettle記錄錯誤並繼續執行?——記一種解決方案
- WCF執行錯誤:“此集合已經包含方案 http 的地址”的解決辦法HTTP
- 解決IIS5 HTTP500內部錯誤 (轉)HTTP
- 關於 IIS 上執行 ASP.NET Core 站點的“HTTP 錯誤 500.19”錯誤ASP.NETHTTP
- NBU available_media 命令執行錯誤AI
- Ubuntu Cannot allocate memory 錯誤解決方案Ubuntu
- ORA-28000錯誤解決方案
- ORA-07445: 錯誤解決方案
- ORA-00054錯誤解決方案(摘)
- 解決aix下不能執行netca的錯誤AI
- 應用儲存過程執行報錯解決方案儲存過程
- Node出錯導致執行崩潰的解決方案
- IDEA發生“Error:java: 錯誤: 不支援發行版本 5”錯誤的解決方案IdeaErrorJava
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- Hadoop常見錯誤及解決方案Hadoop
- HTTP 錯誤 500.21 - Internal Server Error 解決方案HTTPServerError
- MySQL插入資料1366錯誤解決方案MySql
- 開發常見錯誤及解決方案
- MySQL錯誤Incorrect file format解決方案薦MySqlORM
- Java java.lang.ExceptionInInitializerError 錯誤解決方案JavaExceptionError
- DataGuard ORA-10458錯誤解決方案
- informatica SORT_40406 錯誤解決方案ORM