1. 什麼是FTP伺服器怎麼使用它
FTP(File Transfer Protocol)是文件傳輸協議的簡稱。 x0dx0aFTP的作用 x0dx0a正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。 x0dx0aFTP工作原理 x0dx0a拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。 x0dx0a簡單地說,支持FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議(文件傳輸協議) x0dx0a一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。 x0dx0a與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。 x0dx0a在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。 x0dx0a使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。 x0dx0a匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。 x0dx0a通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。 x0dx0a值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。 x0dx0a當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。 x0dx0a作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。 Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。 x0dx0a匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。 x0dx0a匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標准協議提供標准服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。 x0dx0aInternet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。 x0dx0ax0dx0aFTP是一種上傳和下載用的軟體。 x0dx0a定義如下:FTP(File Transfer Protocal),是用於Internet上的控制文件的雙向傳輸的協議。同時,它也是一個應用程序。用戶可以通過它把自己的PC機與世界各地所有運行FTP協議的伺服器相連,訪問伺服器上的大量程序和信息。 x0dx0ax0dx0a傳輸文件的一般步驟如下: x0dx0a1在本地電腦上登陸到國際互聯網, x0dx0a2搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑) x0dx0a3當與遠程主機或者對方的個人電腦建立連接後,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦. x0dx0a4在遠程主機或對方的個人電腦登陸成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這里的東東是指能放到電腦里去又能在顯示屏上看到的東東) x0dx0a5完成工作後關閉FTP下載軟體,切斷連接. x0dx0a為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,各有各的特色. x0dx0ax0dx0aFTP協議:文件傳輸協議 x0dx0aFTP伺服器:可以下載和上傳文件的伺服器。但是你必須擁有一定的許可權才可以上傳或者下載,這種伺服器一般用於公司內部使用
2. 出現ftp遠程主機關閉連接怎麼解決
在遠程主機上開啟ftp服務。
3. FTP傳輸時「遠程主機強迫關閉一個現有鏈接」咋回事
ftp伺服器可以接受的連接數是有限制的,你應該限制你的連接數,而且在使用完後要及時釋放。在你的代碼中一直連接,我覺得不是個好方法。
4. 修改FTP密碼發生連接遠程主機關閉怎回事
FTP的密碼更改操作,就改變了當前連接的安全性,所以需要重新連接,與操作結果無關,所以會被遠程主機端開連接,而上傳的文件都正常;使用多個域名需要刷公網的DNS,費錢而且還慢,建議你更改網頁文件的文件名的方式,只有你自己知道,而別人卻訪問不了,你可以試一下
5. ftp遠程主機關閉連接
遠程的主機已經關機了,你通過FTP已經連接不上伺服器了,不可能再下載軟體或者上傳東西了。
6. 本地是Windows系統,遠程主機是Linux系統,遠程主機關閉了ftp下載功能,怎麼可以拿到遠程
你可以反過來處理。
把本地windows上安裝一個ftp server,把遠程的linux當ftp的客戶端(Linux主機只是關閉了Ftp server,但作為ftp客戶端還是可以的),
telnet 到linux主機上,向windows上的ftp server put文件就可以了。
7. 在DOS裡面,使用ftp命令連接linux虛擬機ftpfu伺服器,出現遠程主機關閉,怎麼回事
密碼和用戶名可對?檢查linux虛擬機的/var/log/pureftpd.log。
8. iis曾經出現過的漏洞不包括哪些
不包括反序列化漏洞。
Internet Information Services(IIS,以前稱為 Internet Information Server)互聯網信息服務是 Microsoft 公司提供的可擴展 Web 伺服器,支持 HTTP,HTTP/2,HTTPS,FTP,FTPS,SMTP 和 NNTP 等。起初用於 Windows NT 系列,隨後內置在 Windows 2000、Windows XP Professional、Windows Server 2003 和後續版本一起發行。IIS 目前只適用於 Windows 系統,不適用於其他操作系統。
根據 Netcraft 在 2018 年 9 月的最新全球 Web 伺服器報告顯示,Microsoft IIS 依舊以 9.57% 的比例占據全球第三大最繁忙伺服器,落後於 Apache 34.07%和 Nginx 25.45%。目前流行的 Windows 版本都默認安裝 IIS 服務 , 但同時 IIS 的安全性一直被業內詬病,一旦 IIS 出現高危漏洞,將會出現范圍廣、影響深的特點。
目前 IIS 一共發行 12 個版本,從 IIS 1.0 版本至 IIS 10.0 版本,IIS 1.0-4.0 已經基本退出市場,IIS 5.0-10.0 是 Web 市場主要使用的網站伺服器。隨著 Windows 版本發布和不斷更新,IIS 自身的安全性也有了較大的提升。在 2005-2018 年期間,IIS 漏洞呈現逐年減少的趨勢,同時也說明了 IIS 漏洞 POC 公布越來越少、漏洞挖掘的難度也在提升。
從上述 IIS 漏洞統計表格可以看出,IIS 7.5、IIS 8.5 和 IIS 10.0 是目前全球使用最多的三款 IIS 版本,分別對應受影響漏洞 12 個、4 個和 2 個,呈現受影響漏洞數量遞減的趨勢。同時,在歷年的 IIS 版本漏洞中,IIS 6.0、IIS 5.1、IIS 7.5 和 IIS 7.0 受影響的漏洞數居前四位。
二、IIS 漏洞分析
千里目實驗室針對 IIS 近十幾年(2005 年以後)的 35 個漏洞進行和整理和分析,IIS 漏洞主要分布在緩沖區溢出、認證繞過、DOS 拒絕服務、代碼執行和信息泄露,其中以 MS15-034 遠程代碼執行漏洞最為嚴重。
由上表可以看到,IIS 歷年漏洞主要以遠程漏洞為主,占漏洞總數 85.71%,本地漏洞有 5 個,占漏洞總數 14.29%。其中 5 個本地漏洞分別是: ( MS12-073 ) Microsoft IIS 密碼信息泄露漏洞 CVE-2012-2531、 Microsoft IIS 源代碼泄露漏洞 CVE-2005-2678、 ( MS17-016 ) Microsoft Internet 信息伺服器跨站腳本漏洞 CVE-2017-0055、 ( MS16-016 ) IIS WEBDAV 特權提升漏洞 CVE-2016-0051、 ( MS08-005 ) Microsoft IIS 文件更改通知本地許可權提升漏洞 CVE-2008-0074。
以下主要針對 IIS 漏洞中可以遠程利用的重點漏洞做分析和復現:
1. 緩沖區溢出漏洞
1.1 ( MS09-053 ) Microsoft IIS FTPd 服務 NLST 命令棧緩沖區 CVE-2009-3023
1.1.1 漏洞描述
Microsoft IIS 內嵌的 FTP 伺服器中存在基於棧的緩沖區溢出漏洞。如果遠程攻擊者對帶有特製名稱的目錄發布了包含有通配符的 FTP NLST ( NAME LIST ) 命令的話,就可以觸發這個溢出,導致執行任意代碼。僅在攻擊者擁有寫訪問許可權的情況下才可以創建帶有特殊名稱的目錄。
1.1.2 漏洞分析和復現
· 漏洞影響版本:IIS 5.0、IIS 5.1、IIS 6.0
· 漏洞分析:
IIS 包括用於通過 TCP 計算機網路交換和操作文件的 FTP 伺服器服務。它默認偵聽埠 21 以獲取來自 FTP 客戶端的傳入連接。IIS 支持的 FTP 命令之一是名稱列表(NLST)命令。此命令用於將目錄列表從伺服器傳輸到客戶端。該命令的語法如下:
NLST
此命令中的路徑名應指定目錄或其他特定於系統的文件組描述符;在 pathname 為 NULL 時,使用當前目錄。NLST 命令可以使用諸如「 * 」之類的通配符來引用多個路徑。
Microsoft Internet 信息服務(IIS)中存在緩沖區溢出漏洞。該漏洞是由於處理 NLST FTP 命令時邊界檢查不足造成的。當 FTP 用戶請求包含通配符的路徑名過長的目錄列表時,易受攻擊的代碼會將目錄路徑名復制到 0x9F(159)位元組的基於堆棧的緩沖區中,而不進行邊界驗證。提供包含大於 0x9F(159)位元組的路徑名會使堆棧緩沖區溢出,從而可能會覆蓋關鍵進程數據(如函數返回地址)。
遠程身份驗證的攻擊者可以通過連接到易受攻擊的 IIS FTP 伺服器並向目標伺服器發送惡意 NLST 命令來利用此漏洞。成功利用將導致使用 System 許可權執行代碼。如果代碼執行攻擊不成功,可能會導致受影響的 FTP 會話異常終止。
注意:為了成功利用此漏洞,NLST 命令中指定的長路徑名必須存在於目標系統上。因此,利用此漏洞的攻擊可能伴隨著 MKD 命令的使用。
· 漏洞類型:可遠程利用,存在緩沖區溢出漏洞,可觸發代碼執行
· 漏洞復現:
復現環境:Win XP SP3 x64 專業版,默認 IIS 5.1
1. 搭建好 IIS FTP 靶機環境,測試 anonymous 默認匿名用戶可用,且可創建和讀寫目錄;
2. 測試正常 MKD 創建和 NLST 正常長度的目錄的功能是否正常:
以上 somefolder 為 FTP 伺服器上正常長度文件夾,NLST 命令執行成功並返回結果提示 226。
3. 測試創建和 NLST 異常目錄長度,伺服器返回 150,打開數據連接,成功執行命令。
· 漏洞緩解:
1. 此漏洞僅在 IIS 5.x 和 6.0 版本存在,升級 IIS 版本或者更新 MS09-053 補丁即可規避此漏洞;
2. 此漏洞成功利用的條件主要包括:IIS 啟用 FTP 服務且存在 FTP 默認站點、攻擊者登陸 FTP 的賬戶有創建和讀寫文件夾的許可權。
2.DOS 拒絕服務漏洞
2.1 ( MS07-041 ) Microsoft IIS 5.1 遠程緩沖區溢出漏洞 CVE-2005-4360
2.1.1 漏洞描述
Microsoft IIS 處理某些畸形的 HTTP 請求時存在漏洞,遠程攻擊者可能利用此漏洞對伺服器進行拒絕服務攻擊。遠程攻擊者可以使用 WEB 瀏覽器之類的工具發送特製的匿名 HTTP 請求導致 IIS 服務進程 inetinfo.exe 崩潰。僅在文件夾的 " 執行許可權 " 設置為 " 腳本和可執行程序 " 時才會出現這個漏洞。有漏洞的虛擬文件夾包括 "/_vti_bin" 等。此外如果提交惡意請求還可能會觸發緩沖區溢出,導致在用戶系統上執行任意代碼。
2.1.2 漏洞分析和復現
· 漏洞影響版本:IIS 5.1
IIS 包括一個能夠提供靜態和動態內容的 Web 伺服器組件。IIS 的 Web 組件提供 Web 應用程序功能。通過 Web 應用程序,伺服器可以在後端執行腳本,並將生成的內容提供給請求客戶端。客戶端可以請求許多可執行資源,例如 Perl 腳本、Active Server Pages(ASP)或動態鏈接的庫資源。用於提供動態動態內容的虛擬目錄需要配置後台執行腳本的許可權。
Microsoft Internet Information Services 產品的 HTTP 伺服器組件中存在可遠程利用的拒絕服務漏洞。在特殊情況下,當多次請求動態鏈接的庫資源時,受影響的服務可能會因此而關閉。由於伺服器無法處理格式錯誤的 URL 請求,因此創建了該漏洞。惡意請求必須滿足幾個條件才能觸發此漏洞。請求 URL 必須包含來自以下字元的有限集合中的字元(注意,不可見字元需要使用以下字元范圍的 URL 編碼形式):
%3f
」
字元 %01 – %1f 的范圍
請求還必須包含波形符「 ~ 」字元,後面跟一個十進制數字。
· 漏洞類型:可遠程利用,可觸發 DOS 攻擊
1. 配置 IIS 默認 wwwroot 根目錄下的虛擬目錄 _vti_bin 執行許可權為「腳本和可執行文件」許可權;
2. 瀏覽器發送惡意 url 遠程訪問靶機環境,復現成功,伺服器返回 500 錯誤:
Eg:http://192.168.180.200/_vti_bin/.dll/%1f~0
1. 此漏洞僅在 IIS 5.1 版本存在,升級 IIS 版本或者更新 MS07-041 補丁即可規避此漏洞;
2. 此漏洞成功利用的條件主要包括:要求在伺服器端將請求的虛擬目錄配置為「腳本和可執行文件」許可權,不開啟此許可權的伺服器不存在漏洞。
2.2 ( MS09-053 ) Microsoft IIS FTP 伺服器遞歸列表拒絕服務漏洞 CVE-2009-2521
2.2.1 漏洞描述
IIS 5.0 至 7.0 版本的 FTP 服務在處理遞歸目錄列表請求時存在棧消耗漏洞。擁有對目錄寫訪問許可權的遠程攻擊者可以通過提交包含有通配符 ( 如星形標識符 ) 的請求導致拒絕服務(守護進程崩潰)。
2.2.2 漏洞分析和復現
· 漏洞影響版本:IIS 5.0、IIS 5.1、IIS 6.0、IIS 7.0
通過包含通配符的 list(ls)-R 命令在 Microsoft IIS FTP 伺服器 5.0 到 7.0 中觸發拒絕服務條件,即 ls "-R p*/../" 命令可導致 FTP 伺服器拒絕服務。 此漏洞利用有三個條件:
(1)一個有效的 ftp 帳戶,擁有隻讀或寫入許可權;
(2)「 FTP 發布」服務必須在啟動類型中配置為「手動」模式;
(3)FTP 根目錄下至少有一個目錄。
1. 添加 FTP 伺服器角色,IIS 信息服務管理控制台「 FTP 站點下」啟動 FTP 默認站點
2. 配置 ftp 默認用戶 anonymous/anonymous,擁有讀寫目錄許可權;
3. 目錄下創建一個文件夾 BB,然後輸入 ls "-R p*/../",成功復現 DOS 拒絕服務,ftp 連接關閉:
中間很多重復:
p*/../BB: BB
FTP 伺服器提示「遠程主機關閉連接」,FTP 拒絕服務,漏洞復現成功。
1. 此漏洞僅在 IIS 5.0-7.0 版本存在,升級 IIS 版本或者更新 MS09-053 補丁即可規避此漏洞;
3. 認證繞過漏洞
3.1IIS 認證繞過和源碼泄露漏洞復現
3.1.1 漏洞描述
Microsoft IIS ( Internet Information Server ) 是 Microsoft Windows 系統默認自帶的 Web 伺服器軟體,其中默認包含 FTP 服務。Microsoft IIS 中存在認證繞過漏洞和源碼泄露漏洞,該漏洞源於對用戶提供的輸入未經正確的驗證。攻擊者可利用這些漏洞在伺服器進程上下文中獲取密碼保護資源和查看源代碼文件的未授權訪問,且有助於進一步攻擊。
3.1.2 漏洞分析和復現
· 漏洞影響版本:IIS 6.0、IIS 7.5
Microsoft IIS 由於無法正確清理用戶提供的輸入,容易出現身份驗證繞過漏洞和源代碼泄露漏洞。主要包括以下三類繞過:
(1)安裝了 PHP 的 Microsoft IIS 6.0 身份驗證繞過:
IIS / 6.0 載入受保護(如 :admin)目錄中的 PHP 文件需要用戶認證信息(用戶名和密碼訪問),如果將「 :: $ INDEX_ALLOCATION 」後綴附加到目錄名稱後面,存在繞過認證並可能訪問管理文件等特殊情況,導致 IIS 伺服器重要信息泄露;
Eg:/admin::$INDEX_ALLOCATION/index.php
(2)Microsoft IIS 7.5 經典 ASP 身份驗證繞過:
配置了經典 ASP 和 .NET Framework 4.0 的 Microsoft IIS 7.5,通過將「:$ i30:$ INDEX_ALLOCATION 」後綴附加到需要認證的請求目錄名稱後面,可以繞過經典的 ASP 文件訪問限制;
Eg: 舉例:/admin:$i30:$INDEX_ALLOCATION/index.asp
(3)Microsoft IIS 7.5 .NET 源代碼公開和身份驗證繞過:
在配置中安裝了 PHP 的 Microsoft IIS / 7.5,存在認證繞過漏洞;
Eg:http:///admin:$i30:$INDEX_ALLOCATION/admin.php
除此之外,通過將 /.php 附加到 ASPX 文件(或使用未通過請求過濾規則阻止的 .NET 框架的任何其他文件,如錯誤配置:.CS,.VB 等文件)。IIS 7.5 使用文件的完整源代碼進行響應,並將其作為 PHP 代碼執行。這意味著通過使用上傳功能,可以(在特殊情況下)執行任意 PHP 代碼。
Eg: http:///Default.aspx/.php(php 任意代碼執行)
· 漏洞類型:可遠程利用,可觸發認證繞過和信息泄露
復現環境:Windows 7 x64 位,默認 IIS 7.5
以下驗證復現上述(3)的漏洞,(1)和(2)類似此處不做驗證:
1.IIS 網站根目錄下創建 admin 用戶目錄,關閉默認用戶認證,換言之,訪問 /admin/index.php 目錄下的文件需要認證信息,認證失敗或者無認證信息將會返回 401 未授權頁面;
2. 配置完成後,重啟 IIS 伺服器,瀏覽器遠程訪問此文件:http://192.168.180.207/admin/index.php,默認 IIS 賬戶訪問提示 401 未授權;
3. 接下來,利用 :$i30:$INDEX_ALLOCATION 來繞過此限制,瀏覽器遠程訪問:
http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.php,成功繞過並訪問到敏感信息;
4. 除此之外,如果目標站點限制上傳和訪問 php 文件,可以利用上傳 aspx(.net 支持解析的文件類型)文件逃避限制,將其當做 php 代碼執行;
Eg:網站目錄下有一個 index.aspx 的文件,裡面寫有 php 代碼,正常通過 http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.aspx 訪問此文件無法執行代碼,通過在末尾加上 index.aspx/.php 形式訪問將會成功執行 php 代碼;
a. 正常繞過訪問 index.aspx 文件,頁面返回亂碼,未執行 phpinfo 代碼:
b. 通過在末尾加上 /.php,成功執行 php 代碼:
1.IIS 7.5 配置 .NET Framework 2.0 不受上述 ( 2 ) 的繞過影響;
2. 攻擊者需要事先獲取 IIS 伺服器受認證保護目錄;
4. 信息泄露漏洞
4.1Microsoft IIS 短文件名泄露漏洞
4.1.1 漏洞描述
IIS 短文件名漏洞是由於 HTTP 請求中攜帶舊 DOS 8.3 名稱約定(SFN)的代字元(~)波浪號引起的。它允許遠程攻擊者在 Web 根目錄下公開文件和文件夾名稱(不應該可被訪問)。攻擊者可以找到通常無法從外部直接訪問的重要文件,並獲取有關應用程序基礎結構的信息。
4.1.2 漏洞分析和復現
· 漏洞影響版本:IIS 5.0-10.0 全系列版本
Windows 支持以 8.3 格式生成與 MS-DOS 兼容的(短)文件名,以允許基於 MS-DOS 或 16 位 Windows 的程序訪問這些文件。基於 Windows 的 IIS 伺服器默認根目錄 C:inetpubwwwroot 下的網頁腳本文件和目錄符合一定條件時,會生成相應的短文件名。此時,攻擊者利用 HTTP 的 DEBUG、OPTIONS、GET、POST、HEAD、TRACE 等方法攜帶波浪號,可以對 IIS 伺服器短文件名進行暴力猜解,依據返回的頁面信息和狀態碼來確認真實存在的文件名,從而獲取伺服器敏感信息,為下一步攻擊做准備。
· 漏洞類型:可遠程利用,可觸發信息泄露
1. 通過 cmd 下進入 IIS 網站根目錄 C:inetpubwwwroot,輸入「 dir /x 」查看已存在的短文件名:
2. 使用公開 POC 或者掃描程序探測目標靶機的短文件名,成功猜解到伺服器根目錄短文件名稱:
1. 限制 IIS 伺服器 HTTP 方法,除了必要的 GET、POST 方法,其他 HTTP 方法建議關閉,視情況開啟;
2.IIS 伺服器文件建議使用復雜字元或者中文命名,增後期攻擊者暴力破解難度;
3. 針對已存在的 IIS 伺服器,建議關閉 NTFS 8.3 文件格式的支持或者修改注冊表禁用短文件名功能。
註:詳細原理和解決方案請參考:https://www.freebuf.com/articles/web/172561.html
5. 代碼執行漏洞
5.1Microsoft IIS 畸形文件擴展名繞過安全限制漏洞 CVE-2009-4444
5.1.1 漏洞描述
IIS 伺服器錯誤的執行了帶有多個擴展名的文件中所包含的 ASP 代碼。例如,malicious.asp;.jpg 被執行為了 ASP 文件。很多文件上傳程序僅檢查文件擴展名的最後部分,因此這可能導致繞過保護機制向伺服器上傳惡意可執行文件。
5.1.2 漏洞分析和復現
· 漏洞影響版本:IIS 6.0
此漏洞主要原因是 IIS 第三方上傳應用沒有限制文件上傳格式或者限制不夠嚴格,只檢查了文件末尾的格式,導致攻擊者可以將如 Asp webshell 偽裝成 malicious.asp;.jpg 文件格式上傳到 IIS 伺服器。IIS 的 Classic ASP 功能在處理 asp 文件時,被此畸形文件格式的分號截斷了,認為是 asp 文件並進行相應的解析處理。攻擊者則在獲取上傳路徑後通過遠程訪問執行此 webshell,控制 IIS 伺服器甚至 Windows 宿主機器。
· 漏洞類型:可遠程利用,文件上傳繞過可觸發代碼執行
復現環境:Win server 2003 Sp2 32 位企業版,默認 IIS 6.0
1.IIS 伺服器根目錄下創建一個名為 aspwebshell.asp;.jpg 的文件,用記事本打開,放入 asp webshell 代碼(實際利用過程中是通過第三方應用上傳繞過漏洞上傳此文件,並設法獲取此上傳路徑);
2. 通過瀏覽器遠程訪問此文件,http://192.168.180.201/aspwebshell.asp;.jpg,成功執行 asp webshell 代碼:
1. 嚴格限制 IIS 第三方應用上傳文件的格式;
2. 此漏洞僅影響 IIS 6.0,其他版本解析 asp 文件不會被分號截斷,可升級至無此漏洞的 IIS 版本。
5.2 ( MS15-034 ) Microsoft IIS 遠程代碼執行漏洞復現 CVE-2015-1635
5.2.1 漏洞描述
Microsoft Windows 是美國微軟(Microsoft)公司發布的一系列操作系統。Microsoft Internet Information Services(IIS)是一套運行於 Microsoft Windows 中的互聯網基本服務。使用 Microsoft IIS 6.0 以上版本的 Microsoft Windows 的 HTTP 協議堆棧 ( HTTP.sys ) 中存在遠程執行代碼漏洞,該漏洞源於 HTTP.sys 文件沒有正確分析經特殊設計的 HTTP 請求。成功利用此漏洞的攻擊者可以在系統帳戶的上下文中執行任意代碼。
5.2.2 漏洞分析和復現
· 漏洞影響版本:IIS 7.5、IIS 8.0、IIS 8.5
IIS 進程 w3wp.exe 接收到 HTTP 請求後,將數據緩存到內核中,並整合 HTTP 回應頭,最後由 http.sys 組織數據包經由網路內核組件發送出去。請求中包括 Range 對象的指定范圍,而緩存中則包含了 http 文件和大小信息等。
根據公開 POC,構造包含「 Range: bytes=0-18446744073709551615 」的 HTTP 請求並發送到 IIS 7.5-8.5 伺服器,如果 IIS 伺服器返回「 Requested Range Not Satisfiable 」,則存在漏洞,如果返回「 The request has an invalid header name 」或者沒有回應,則說明漏洞已經修補或者不存在漏洞。
· 漏洞類型:可遠程利用,可觸發代碼執行
復現環境:Win server 2008 R2 64 位企業版,默認 IIS 7.5
1. 開啟 IIS 默認網站
2. 根據公開 poc 發送包含特殊設計的 Range 欄位攻擊靶機環境,成功檢測到漏洞:
1. 禁用 IIS 內核緩存,詳情見微軟官方公告:
https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2015/ms15-034
2. 升級 IIS 至 IIS 10.0 版本,此版本不存在此漏洞。
三、漏洞總結
IIS 遠程漏洞主要包括緩沖區溢出、認證繞過、拒絕服務、代碼執行和信息泄露漏洞,本地漏洞主要分布在信息泄露和許可權提升漏洞分類,大部分漏洞利用難度較大,但是一旦成功被攻擊者利用,影響的不僅僅只是 IIS 伺服器,甚至可能是運行 IIS 的 Windows 主機。如果用戶主機被利用,那麼攻擊者可以將此台主機當作肉雞攻擊內網中的其他主機、伺服器或者網路設備等,後果不堪設想。
如果 IIS 伺服器的網站配置不當,攻擊者可以通過 IIS 短文件名猜解和暴力破解用戶隱私文件並進行認證繞過訪問,獲取用戶隱私信息。此外,不合理的上傳限制也會導致攻擊者上傳含有惡意代碼或 webshell 並偽裝成合法的文件,進而導致 IIS 伺服器被攻陷。攻擊者利用提權漏洞或者命令執行等漏洞,對 IIS 伺服器甚至是 Windows 操作系統進行進一步的攻擊。無論是對 IIS 伺服器本身的服務還是該 IIS 伺服器所處的網路環境,IIS 漏洞都是一個極大的隱患。
9. 華為交換機FTP 遠程主機關閉連接
ftp伺服器可以接受的連接數是有限制的,應該限制連接數,而且在使用完後要及時釋放。
在代碼中一直連接,覺得不是個好方法。
10. ftp命令詳細資料大全
檔案傳輸軟體的使用格式為:FTP,若連 接成功,系統將提示用戶輸入用戶名及口令: LOGIN: (輸入合法的用戶名或者「anonymous」): PASSWORD: (輸入合法的口令,若以「anonymous」方式登錄,一般輸入自己的信箱):
基本介紹
- 中文名 :ftp命令
- 使用格式 :FTP
- 口令 :LOGIN
- FTP :一個客戶機/伺服器系統
簡介
與大多數Inter服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協定的客戶機程式,連線到在遠程主機上的FTP伺服器程式。用戶通過客戶機程式向伺服器程式發出FTP命令,伺服器程式執行用戶所發出的FTP命令,並將執行的結果返回到客戶機。 FTP命令是Inter用戶使用最頻繁的命令之一,不論是在DOS、Windows的命令行、LINUX、UNⅨ 還是AⅨ作業系統下都可以使用FTP,都會遇到大量的FTP內部命令,熟悉並靈活套用FTP命令,可以大大方便使用者,並收到事半功倍之效。 比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個檔案的一份拷貝,伺服器會回響這條命令,將指定檔案送至用戶的機器上。客戶機程式代表用戶接收到這個檔案,將其存放在用戶目錄中。基礎命令
進入想要連線的FTP站點後,用戶就可以進行相應的檔案傳輸操作了,其中一些重要 的命令及相似的命令 如下: 1、HELP、、RHELP、REMOTEHELP HELP顯示LOCAL端的命令說明,若不接受則顯示所有可用命令; ?相當於HELP,例如:?CD: RHELP同HELP,只是它用來顯示REMOTE端的命令說明; REMOTEHELP相當於RHELP。 2、ASC(ASCll)、bin(BINARY)、IMAGE、TYPE ASCⅡ切換傳輸模式為文字模式(只能用來傳送DOC檔案,因為是7-BIT); BINARY切換傳輸模式為二進制模式(除文字檔案外皆用此模式); IMAGE相當於BINARY: TYPE讓你更改或顯示傳輸模式。 3、BYE、QUIT BYE退出FTP: QUIT相當於BYE。 4、CD、CDUP、LCD、P~WD、 ! CD改變當前工作目錄,例如:CDPUB; CDUP回到上一層目錄,相當於你打CD..: LCD讓你更改或顯示LOCAL端的工作目錄,例如:LCDTMP; PWD顯示的工作目錄(REMOTE端): !讓你執行外殼命令,例如:!LS。 5、DELETE、MDELETE、RENAME DELETE刪除REMOTE端的檔案: MDELETE批量刪除檔案,需配合?或,* RENAME更改REMOTE端的檔案名稱。 6、GET、MGET、PUT、MPUT、RECV、SEND GET下傳檔案; MGET批量下傳檔案,需配合萬用字元,例如:MGET*.GZ; PUT上傳檔案; MPUT批量上傳檔案,需配合萬用字元; RECV相當於GET(RECV為RECEIVE的簡寫): SEND相當於PUT。 7、HASH、PROMPT、VERBOSE、STATUS、BELL HASH切換#字型大小的出現,每一個#字型大小表示傳送了1024/8192BYTES: PROMPT切換iNTERACTⅣEON/OFF; VERBOSE切換所有檔案傳輸過程的顯示; STATUS顯示的一些參數: BELL當指令做完時會發出叫聲。 8、LS、DIR、MLS、MDIR、MKDIR、RMDIR LS有點像UNIX下的LS(LIST)命令: DIR相當於LS-L(LIST-LONG); MLS只是將遠端某目 錄下的檔案存於LOCAL端的某檔案里; MDIR相當於MLS; MKDIR像DOS下的MD(創建子目錄)一樣: RMDIR像DOS下的RD(刪除子目錄)一樣。 9、OPEN、CLOSE、DISCONNECT、USER OPEN連線某個遠端FTP伺服器; CLOSE關閉連線; DISCONNECT相當於CLOSE; USER再輸入一次用戶名和口令(有點像UNⅨ下的SU)。命令進階
語法
ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ] -C 允許用戶指定:通過 send_file 命令發出的檔案必須在網路高速緩沖區(NBC)中經過快取處理。此標志必須在指定了-q 標志的情況下使用。只有當檔案在無保護的情況下以二進制方式傳送時此標志才適用。 -d 將有關 ftp 命令操作的調試信息傳送給 syslogd 守護進程。如果您指定-d 標志,您必須編輯/etc/syslog.conf 檔案並添加下列中的一項: OR user.debug FileName 請注意:syslogd 守護進程調試級別包含信息級別訊息。 如果不編輯/etc/syslog.conf 檔案,則不會產生訊息。變更了/etc/syslog.conf 檔案之後,請運行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守護進程其配置檔案的變更。關於調試級別的更多信息,請參考/etc/syslog.conf 檔案。也請參考 debug 子命令。 -g 禁用檔案名稱中的元字元拓展。解釋元字元可參考為擴展(有時叫做檔案名稱匹配替換)檔案名稱。請參考 glob 子命令。 -i 關閉多檔案傳送中的互動式提示。請參考 prompt、mget、mput 和 mdelete 子命令,以取得多檔案傳送中的提示的描述。 -n 防止在起始連線中的自動登錄。否則, ftp 命令會搜尋$HOME/rc 登錄項,該登錄項描述了遠程主機的登錄和初始化過程。請參考 user 子命令。 -q 允許用戶指定:send_file 子常式必須用於在網路上傳送檔案。只有當檔案在無保護的情況下以二進制方式傳送時此標志才適用。 -v 顯示遠程伺服器的全部回響,並提供數據傳輸的統計信息。當 ftp 命令的輸出是到終端(如控制台或顯示)時,此顯示方式是預設方式。 如果 stdin 不是終端,除非用戶調用帶有-v 標志的 ftp 命令,或傳送 verbose 子命令,否則 ftp 詳細方式將禁用。 -f 導致轉發憑證。如果Kerberos 5 不是當前認證方法,則此標志將被忽略。 -k realm 如果遠程站的域不同於本地系統的域,系統將允許用戶指定遠程站的域。因此,域和DCE 單元是同義的。如果Kerberos 5 不是當前認證方法,則此標志將被忽略。 ?詳解
1、[crud[args)1:在本地機中執行互動shell,exit回到FTP環境, 列如:!LS*.zip. 2、$macro-amc[args兒執行宏定義macro-name。 3、aount[password]:提供登錄遠程系統成功後訪問系統資源所需的補充口令。 4、append local-file[remote-file]:將本地檔案追加到遠程系統主機,若未指定遠系統檔案名稱,則使用本地檔案名稱。 5、ASCii:使用ascⅡ型傳輸方式。 6、bell:每個命令執行完畢後計算機響鈴—次 7、bin:使用二進制檔案傳輸方式 8、bye..退出FTP會話過程— 9、case:在使用mget時,將遠程主檔案名稱中的大寫字母轉為小寫字母 10、cdremote·dir:進入遠程主機目錄。 11、cp..進入遠程主機目錄的父目錄。 12、chmodmodefile-name:將遠程主機檔案file-name的存取方式設定為mode。列如:chmod777a.OUt。 13、close:中斷與遠程伺服器的FTP會話(與open對應)。 14、cr:使用ASCii「方式傳輸檔案時,將回車換行轉換為回行 15、deleteremote-file-刪除遠程主機檔案: 16、debugldebug-value3:.設定調試方式,顯示傳送至遠程主機的每條命令。例如:debug3,若設為0,表示取消debug。 17、dir[remote-dir][Local-file]:顯示遠程主機目錄,並將結果存入本地檔案local-file: 18、disconnection-.同close。 19、formformat:將檔案傳輸方式設定為format,預設為file方式。 20、getremote-file[10cal-file]:將遠程主機的檔案remote-file傳至本地 硬碟的local-file。 21、glob:設定mdelete,mget,mput的檔案名稱擴展,預設時不擴展檔案名稱,同命令行的-g參數。 22、hash:每傳輸1024位元組,顯示一個hash符號(#)。 23、help[cmd]:顯示FTP內部命令cmd的幫助信息,如.-helpget。 24、idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。 25、image:設定二進制傳輸方式(同binary)。 26、LCD[DIR]:將本地工作目錄切換至dir。 27、LS[remote-DIR][LOCAL-FILE]:顯示遠程目錄remote-dir,並存入本地文local-fileo 28、macdefmacro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。 29、mdelete[remote-file]:刪除遠程主機檔案。 30、mdirremote-fileslocal-file:與dlr類似,但可指定多個遠程檔案。列如mdir*.O.*.zipoutfiLe。 31、mgetremote-files:傳輸多個遠程檔案。 32、mkdirdirname:在遠程主機中建一目錄。 33、misremote-filelocal-file.同nlist,但可指定多個檔案名稱。 34、mode[modename]:將檔案傳輸方式設定為modename,預設為stream方式。 35、modtimefile-name..顯示遠程主機檔案的最後修改時間。· 36、mputlocal-file:將多個檔案傳輸至遠程主機, 37、newerfile-name:如果遠程機中file-name的修改時間比本地硬碟同名檔案的時間巨近,則重新傳輸該檔案。·其它
FTP伺服器及匿名FTP FTP的全稱是File Transfer Protocol(檔案傳輸協定),顧名思義,就是專門用來傳輸檔案的協定。FTP的主要作用,就是讓用戶連線上一個遠程計算機(這些計算機上運行著 FTP伺服器程式)察看遠程計算機有哪些檔案,然後把檔案從遠程計算機上拷到本地計算機,或把本地計算機的檔案送到遠程計算機去。 其實 早期在Inter上傳輸檔案,並不是一件容易的事,我們知道 Inter是一個非常復雜的計算機環境,有PC、工作站、MAC、伺服器、大型機等等,而這些計算機可能運行不同的作業系統,有Unix、Dos、 Windows、MacOS等等,各種作業系統之間的檔案交流,需要建立一個統一的檔案傳輸協定,這就是所謂的FTP。雖然基於不同的作業系統有不同的 FTP應用程式,而所有這些應用程式都遵守同一種協定,這樣用戶就可以把自己的檔案傳送給別人,或者從其它的用戶環境中獲得檔案。 與大 多數Inter服務一樣,FTP也是一個客戶機/伺服器系統(C/S)。用戶通過一個支持FTP協定的客戶機程式,連線到遠程主機上的FTP伺服器 程式。用戶通過客戶機程式向伺服器程式發出命令,伺服器程式執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個檔案,將其存放在用戶指定目錄中。FTP客戶程式 有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程式,操作上要簡潔方便的多。 在FTP的使用當 中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"檔案就是從遠程主機拷貝檔案至自己的計算機上;"上載"文 件就是將檔案從自己的計算機中拷貝至遠程主機上。用Inter語言來說,用戶可通過客戶機程式向(從)遠程主機上載(下載)檔案。 在ftp的使用過程中,必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上傳或下載檔案。也就是說,要想同哪一台計算機傳送檔案,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送檔案。這種情況違背了Inter的開放性,Inter上的FTP主機何止千 萬,不可能要求每個用戶在每一台主機上都擁有帳號。因此就衍生出了匿名FTP。