IIS解析漏洞
IIS6.0解析漏洞
1、打開“控制面板”,打開“添加或刪除程序”,彈出“添加或刪除程序”窗口。
2、單擊窗口中的“添加/刪除Windows組件”,彈出“Windows組件向導”窗口。
3.選中窗口中的“應用程序服務器”。單擊“詳細信息”按鈕,彈出“應用程序服務器”窗口。
4、選擇組件時“Internet 信息服務(IIS)”與“應用程序服務器控制台”是必選的。選中窗口中的“Internet 信息服務(IIS)”。單擊“詳細信息”按鈕,彈出“Internet 信息服務(IIS)”窗口。
5、選擇“Internet信息服務管理器”與“萬維網服務”。選中窗口中的“萬維網服務”,單擊“詳細信息”按鈕,彈出“萬維網服務”窗口。
6、其中“萬維網服務”必須選中。如果想要服務器支持ASP,則在選中“Active Server Pages”。
6、逐個點“確定”按鈕,返回到“Windows組件向導”窗口,點擊下一步。
目錄解析漏洞:
簡介:在網站下建立文件夾的名稱中以.asp或.asa等作為后綴的文件夾,其目錄內任何擴展名的文件都被IIS當作asp可執行文件去解析並執行.
1.在C:\Inetpub\wwwroot目錄下創建1.asp目錄,並在目錄中創建1.txt文件,在文件中寫入下面內容
<%=now()%>
即顯示當前時間
2.訪問改路徑
文件解析漏洞:
簡介:在IIS6.0下,分號后面的內容不被解析,舉個栗子,xx.asp;.jpg將會當作xx.asp去解析執行.
IIS6.0 默認的可執行文件除了.asp,還包含這三種:.asa .cdx .cer. 例如:test.asa 、 test.cdx 、 test.cer
1.在iis目錄下創建一個以下格式的文件
2.訪問該路徑
IIS7.0解析漏洞
首先我們在win7上安裝IIS7
控制面板
程序
打開或關閉windows功能
切換php版本
漏洞復現
在phpstudy的www目錄上先創建一個新文件,寫上<?php phpinfo();?>
找到我們的CGI設置,再點擊請求限制
把如下的勾去掉
Nginx解析漏洞
該漏洞與Nginx、php版本無關,屬於用戶配置不當造成的解析漏洞。
1、由於nginx.conf的錯誤配置導致nginx把以".php"結尾的文件交給fastcgi處理,為此可以構造http://172.168.30.190/uploadfiles/1.png/XXXX.php ,其中1.png是我們上傳的包含PHP代碼的圖片文件。
2、但是fastcgi在處理"XXXX.php"文件時發現文件並不存在,這時php.ini配置文件中cgi.fix_pathinfo=1 發揮作用,這項配置用於修復路徑,如果當前路徑不存在則采用上層路徑。為此這里交由fastcgi處理的文件就變成了"/test.png"。
3、 最重要的一點是php-fpm.conf中的security.limit_extensions配置項限制了fastcgi解析文件的類型(即指定什么類型的文件當做代碼解析),此項設置為空的時候才允許fastcgi將".png"等文件當做代碼解析。
注:限制fpm允許解析的腳本擴展名。此設置可以預防web服務器配置的錯誤。應當限制fpm僅僅解析.php擴展名,阻止惡意用戶使用其他擴展名運行php代碼。默認值:.php
C32Asm
Apache解析漏洞
apache文件解析漏洞與用戶的配置有密切關系。嚴格來說屬於用戶配置問題。
一個重要文件/etc/mime.types這里記錄了大量的文件后綴和mime類型,當客戶端請求一個文件的時候如果后綴在這個列表里,那么apache就返回對應的content-type給游覽器如果沒有就不會返回而是直接返回文件內容由游覽器自動處理。
apache 1.x 2.x解析漏洞
漏洞原理:Apache 解析文件的規則是從右到左開始判斷解析,如果后綴名為不可識別文件解析,就再往左判斷。比如 test.php.a.b的“.a”和”.b” 這兩種后綴是apache不可識別解析,apache就會把test.php.a.b解析成test.php。
其余配置問題導致漏洞
(1)如果在 Apache 的配置文件中有這樣一行配置 AddHandler php5-script .php 這時只要文件名里包含.php. 即使文件名是 test2.php.jpg 也會以 php 來執行。
(2)如果在 Apache 的配置文件中有這樣一行配置 AddType application/x-httpd-php .jpg 即使擴展名是 jpg,一樣能以 php 方式執行。