亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

web服務器怎么做好上傳漏洞安全

發布時間:2020-08-13 21:04:45 來源:ITPUB博客 閱讀:179 作者:199cloud 欄目:網絡安全

web服務器怎么做好上傳漏洞安全【199cloud-艾娜】

Web應用程序通常會有文件上傳的功能,例如,在BBS發布圖片、在個人網站發布Zip壓縮包、在招聘網站上發布DOC格式簡歷等。只要Web應用程序允許上傳文件,就有可能存在文件上傳漏洞。

1. 解析漏洞

攻擊者在利用上傳漏洞時,通常會與Web容器(IIS、Nginx、Apache、Tomc等at)的解析漏洞配合在一起

  • IIS解析漏洞:當建立 *.asa、*.asp格式的文件夾時,其目錄下的任意文件都將被IIS當作asp文件來解析,在瀏覽器打開文件時,內容就會直接暴漏在瀏覽器里,上傳的話,危險腳本就會運行起來,達到攻擊的目的;
    如: http://127.0.0.1/parsing.asp/test.txt

  • Apache解析漏洞;

  • PHP CGI解析漏洞;

2. 繞過上傳漏洞

程序員在防止上傳漏洞時可以分為以下兩種:

  • 客戶端檢測:客戶端使用JavaScript檢測,在文件未上傳時,就對文件進行驗證;
    因此,繞過客戶端的檢測來達到攻擊的方式有以下兩種:

(1)使用FireBug:找到html源代碼里面的Form表單,將onsubmit事件刪除,JavaScript上傳驗證將會失效。
(2)中間人攻擊:使用Burb Suite則是按照正常的流程通過JavaScript驗證,然后在傳輸中的HTTP層做手腳。( 在上傳時使用Burb Suite攔截上傳數據,修改文件擴展名,就可以繞過客戶端驗證)。

注意:任何客戶端驗證都是不安全的。客戶端驗證是防止用戶輸入錯誤,減少服務器開銷,而服務器端驗證才可以真正防御攻擊者。

  • 服務端檢測:服務端腳本一般會檢測文件的MIME類型,檢測文件擴展名是否合法,甚至有些程序員檢測文件中是否嵌入惡意代碼。
    主要有以下幾種,但也有存在漏洞的可能:

(1)白名單與黑名單驗證
在上傳文件時,大多數程序員會對文件擴展名檢測,驗證文件擴展名通常有兩種方式:白名單與黑名單。

黑名單過濾方式:是一種不安全的過濾方式,黑名單定義了一系列不允許上傳的文件的擴展名,服務器端接收文件后,與黑名單擴展名對比,如果發現文件擴展名與黑名單里的擴展名匹配,則認為文件不合法。舉例子:

$BlackList = array('asp', 'php', 'jsp', 'php5', 'asa', 'aspx'); // 黑名單//然而并不能很好的防御: .cer文件并沒有在黑名單里,則,可以通過驗證,因此是無法防御上傳漏洞的。

白名單過濾方式:與黑名單恰恰相反,定義一系列允許上傳的擴展名,白名單擁有比黑名單更好的防御機制。舉例子:

$WhiteList = array('rar', 'jpg', 'png', 'bmp', 'gif', 'doc'); // 白名單// 然而并不能很好的防御:// 例如:Web容器為IIS 6.0,攻擊者把木馬文件改名為pentest.asp;1.jpg上傳,此時的文件為jpg格式,從而可以順利通過驗證,而IIS 6.0卻會把pentest.asp;1.jpg當作asp腳本程序來執行,最終攻擊者可以繞過白名單的檢測,并且執行木馬程序。// 白名單機制僅僅是防御上傳漏洞的第一步。

(2)MIME驗證
MIME類型用來設定某種擴展名文件的打開方式,當具有該擴展名的文件被訪問時,瀏覽器會自動使用指定的應用程序來打開。如GIF圖片MIME為image/gif,css文件MIME類型為text/css。

// 開發人員經常會對文件MIME類型做驗證,PHP代碼如下:if ($_FILES['file']['type'] == 'image/jpg'){ // 判斷是否是jpg格式
    // ...}

因此,如果上傳PHP文件時,并使用Burp Suite攔截查看MIME類型,可以發現PHP文件的MIME類型為 application/php,而上面代碼中會判斷文件類型是否為image/jpg,顯然這里無法通過驗證。
但是在攔截的時候可以將HTTP請求中的content-Type更改為image/jpg類型,這樣即可通過程序驗證,達到攻擊的目的。

(3)目錄驗證
再文件上傳時,程序員通常允許用戶將文件放到指定的目錄中,然而有些Web開發人員為了讓代碼更“健壯”,通常會做一個動作,如果指定的目錄存在,就將文件寫入目錄中,不存在則先建立目錄,然后再寫入文件。

攻擊方式:通過使用工具將普通的文件夾名稱改為 .asp格式的目錄,稱為 畸形文件夾,然后提交 一句話圖片木馬文件,即上傳成功后,這個網頁木馬就會被解析,從而使下攻擊。

(4)截斷上傳攻擊
也是使用工具進行攔截更改。
截斷上傳攻擊在ASP程序中最常見,在PHP、JSP也會存在這樣的攻擊問題。

3. 文本編輯器上傳漏洞

常見的文本編輯器有CKEditor、Ewebeditor、UEditor、KindEditor、XHeditor等。這類編輯器的功能都是非常類似的,比如都有圖片上傳、視頻上傳、遠程下載等功能,這類文本編輯器也稱為副文本編輯器。

使用此類編輯器減少了程序開發的時間,但是卻增加了許多安全隱患,比如: 使用CKEditor編輯器的有10萬個網站,如果CKEditor爆出一個GetShell漏洞,那么著10萬個網站都因此受到牽連。主要的漏洞體現在以下幾種:
(1)敏感信息暴露。
(2)黑名單策略錯誤:黑名單有漏掉的擴展名。
(3)使用Burp Suite攔截修改,達到任意文件都可以上傳。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庐江县| 镇平县| 平谷区| 和政县| 拉孜县| 钦州市| 尉氏县| 方城县| 通城县| 环江| 临夏市| 汝城县| 秭归县| 六枝特区| 克东县| 大竹县| 固阳县| 玉环县| 三都| 滨州市| 布拖县| 视频| 晋中市| 虞城县| 梓潼县| 黄石市| 怀化市| 莆田市| 沙洋县| 普兰店市| 黄骅市| 锡林浩特市| 南江县| 宜都市| 宁安市| 德化县| 临夏县| 霍山县| 呈贡县| 中阳县| 汉源县|