AppWeb 身份验证绕过漏洞 (CVE-2018-8715)漏洞复现

漏洞描述

AppWeb 是一个嵌入式 Web 服务器,基于由 Embedthis Software LLC 开发和维护的开源 GPL 协议。它是用C / C++编写的,几乎可以在任何现代操作系统上运行。当然,它旨在为嵌入式设备提供一个 Web 应用程序容器。

AppWeb 可以配置为身份验证,其中包括以下三种身份验证方法:

  • basic、传统HTTP基本认证
  • digest,改进了 HTTP 基本身份验证。在此模式下,Cookie 将用于身份验证而不是标头。
  • form、基于 HTML 的表单身份验证

在低于 7.0.3 的 Appweb 版本中,存在与 authCondition 函数相关的逻辑缺陷。使用伪造的 HTTP 请求,可以绕过 和 登录类型的身份验证,对于digest和form两种认证方式,如果用户传入的密码为null(也就是没有传递密码参数),appweb将因为一个逻辑错误导致直接认证成功,并返回session。

漏洞环境及复现

搭建docker环境

AppWeb 身份验证绕过漏洞 (CVE-2018-8715)漏洞复现_第1张图片

访问8080端口,抓包修改Authorization,因为我们没有传入密码字段,所以服务端出现错误,直接返回了200,且包含一个session:

AppWeb 身份验证绕过漏洞 (CVE-2018-8715)漏洞复现_第2张图片

利用获取到的 session,修改请求头为POST 添加 session 请求体

AppWeb 身份验证绕过漏洞 (CVE-2018-8715)漏洞复现_第3张图片

 

你可能感兴趣的:(安全)