IIS-解析漏洞(下)

  • 2019 年 11 月 20 日
  • 筆記

漏洞知識庫

網路安全/滲透測試/程式碼審計/

關注

IIS-解析漏洞(下)

漏洞復現環境

Windows Server 2008_x64    IIS 7.*    PhpStudy

2008伺服器必須能和PC物理主機相互Ping通

在這裡我物理主機的IP是:192.168.1.100

2008虛擬機的IP是:192.168.119.137

提示:如果物理主機Ping不通2008,那麼就吧2008的防火牆關閉就可以了!

安裝IIS7.0

伺服器管理器 – 角色 – 下一步 Web伺服器IIS – 勾選CGI

因為我們漏洞復現所需的條件就是CGI是開啟的!

安裝成功以後,在開始菜單管理工具Internet 資訊服務(IIS)管理器

訪問http://192.168.119.137/:

這個就是IIS7.0的頁面!

不知道你們注意沒有,在2008伺服器中,右鍵新建,只能新建文件夾,不能新建文件:

其實就是許可權的問題!

解決方法:來到目錄 – 右鍵屬性 -安全 -添加一個Evervone許可權

這個時候就可以新建文件了!

安裝PhpStudy

安裝完PhyStudy後,他顯示Apache已經停止,其實就是埠的問題 – 埠衝突導致的!

因為我們在IIS7.0已經安裝了一個網站了,埠是80,所以導致Apache異常!

切換版本 – IIS7/8 + PHP5.2

這個時候IIS就會有一個Phpstudy的網站,我們不用它,把它停止,用默認網站就行了!

這個時候伺服器的PHP環境就搭建好了,就可以運行PHP腳本了!

在網站根目錄創建一個1.php的文件看看能不能訪問:

環境都搭建完畢了!

漏洞成因

liuwx.jpg/.php

漏洞形成條件

1、php.inicgi.fix_pathinfo=1

2、IIS7在Fast-CGI運行模式下

漏洞復現

先新建一個liuwx.jpg的文件:

訪問一下看看:

http://192.168.119.137/liuwx.jpg

圖片是正常訪問的!

我們訪問:

http://192.168.119.137/liuwx.jpg/.php

提示:伺服器錯誤,404-找不到文件或目錄

很顯然漏洞復現失敗!是因為漏洞形成條件沒有達到!

來到這裡:C:phpstudyphp52有一個php.ini配置文件:

默認cgi.fix_pathinfo0,我們把前面的;去掉,因為那是注釋,然後把0改為1

這個時候就滿足漏洞的第一個條件了,接下來我們去配置第二個條件:

來到Internet 資訊服務(IIS)管理器處理程式映射

phpstudy_FastCGI請求限制 – 吧哪個映射√取消掉

這個時候,漏洞形成的條件都滿足了!

再來訪問:

http://192.168.119.137/liuwx.jpg/.php

漏洞成功復現,當我們把一個jpg圖片後面加上/.php,它就會吧圖片當做php腳本來執行!

漏洞防禦

1、配置php.inicgi.fix_pathinfo=1,並重啟伺服器

2、在模組映射中勾選請求設置