天天看点

AppWeb认证绕过 CVE-2018-8715 漏洞复现一、漏洞描述二、漏洞影响三、漏洞复现四、漏洞POC五、参考链接

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 表单认证

    7.0.3

    之前的版本中,对于 digest 和 form 两种认证方式,如果用户传入的密码为

    null

    (也就是没有传递密码参数),AppWeb 将因为一个逻辑错误导致直接认证成功,并返回 Session。

二、漏洞影响

AppWeb <= 7.0.3

三、漏洞复现

1、环境搭建

使用 Vulhub 在服务器上搭建

cd /vulhub/thinkphp/5.0.23-rce
docker-compose up -d
           

访问

127.0.0.1:8080

,进入到主页面:

AppWeb认证绕过 CVE-2018-8715 漏洞复现一、漏洞描述二、漏洞影响三、漏洞复现四、漏洞POC五、参考链接

2、漏洞复现

利用该漏洞需要知道一个已存在的用户名,当前环境下用户名:

admin

,使用 BurpSuite抓取数据包:

AppWeb认证绕过 CVE-2018-8715 漏洞复现一、漏洞描述二、漏洞影响三、漏洞复现四、漏洞POC五、参考链接

构造请求头

Authorization: Digest username=admin

,并发送数据包。

得到的 Response 的中,返回了

admin

用户的 Session :

AppWeb认证绕过 CVE-2018-8715 漏洞复现一、漏洞描述二、漏洞影响三、漏洞复现四、漏洞POC五、参考链接

在浏览器中,将获得的 Session 填入:

AppWeb认证绕过 CVE-2018-8715 漏洞复现一、漏洞描述二、漏洞影响三、漏洞复现四、漏洞POC五、参考链接

刷新页面,成功以

admin

身份进入:

AppWeb认证绕过 CVE-2018-8715 漏洞复现一、漏洞描述二、漏洞影响三、漏洞复现四、漏洞POC五、参考链接

四、漏洞POC

Authorization: Digest username=admin
           

没有传入密码字段,所以服务端出现错误,但直接返回了

200

,且包含了用户 Session。

五、参考链接

https://ssd-disclosure.com/ssd-advisory-appweb-authentication-bypass-digest-and-forms/

继续阅读