AppWeb認證繞過 CVE-2018-8715 漏洞複現
- 一、漏洞描述
- 二、漏洞影響
- 三、漏洞複現
-
- 1、環境搭建
- 2、漏洞複現
- 四、漏洞POC
- 五、參考連結
一、漏洞描述
AppWeb 是 Embedthis Software LLC 公司負責開發維護的一個基于 GPL 開源協定的嵌入式 Web Server。使用 C/C++ 來編寫,能夠運作在幾乎現今所有流行的作業系統上。當然最主要的應用場景還是為嵌入式裝置提供 Web Application 容器。
AppWeb 可以進行認證配置,其認證方式包括以下三種:
- basic 傳統 HTTP 基礎認證
- digest 改進版 HTTP 基礎認證,認證成功後将使用 Cookie 來儲存狀态,而不用再傳遞 Authorization 頭
-
form 表單認證
其
之前的版本中,對于 digest 和 form 兩種認證方式,如果使用者傳入的密碼為7.0.3
(也就是沒有傳遞密碼參數),AppWeb 将因為一個邏輯錯誤導緻直接認證成功,并傳回 Session。null
二、漏洞影響
AppWeb <= 7.0.3
三、漏洞複現
1、環境搭建
使用 Vulhub 在伺服器上搭建
cd /vulhub/thinkphp/5.0.23-rce
docker-compose up -d
通路
127.0.0.1:8080
,進入到首頁面:
2、漏洞複現
利用該漏洞需要知道一個已存在的使用者名,目前環境下使用者名:
admin
,使用 BurpSuite抓取資料包:
構造請求頭
Authorization: Digest username=admin
,并發送資料包。
得到的 Response 的中,傳回了
admin
使用者的 Session :
在浏覽器中,将獲得的 Session 填入:
重新整理頁面,成功以
admin
身份進入:
四、漏洞POC
Authorization: Digest username=admin
沒有傳入密碼字段,是以服務端出現錯誤,但直接傳回了
200
,且包含了使用者 Session。
五、參考連結
https://ssd-disclosure.com/ssd-advisory-appweb-authentication-bypass-digest-and-forms/