CVE-2018-8715(AppWeb)

AppWeb认证绕过漏洞

漏洞描述

  1. 漏洞编号:CVE-2018-8715
  2. 影响版本:7.0.3之前的版本

https://www.cvedetails.com/cve/CVE-2018-8715/

         3.漏洞产生原因:

AppWeb可以进行认证配置,其认证方式包括以下三种:

- basic 传统HTTP基础认证

- digest 改进版HTTP基础认证,认证成功后将使用Cookie来保存状态,而不用再传递Authorization

- form 表单认证

 

7.0.3之前的版本中,对于digestform两种认证方式,如果用户传入的密码为`null`(也就是没有传递密码参数),appweb将因为一个逻辑错误导致直接认证成功,并返回session

 

参考链接:

- https://ssd-disclosure.com/index.php/archives/3676

- https://github.com/embedthis/appweb/issues/610

 

启动环境:docker-compose up -d

vulnIP:192.168.1.232

hackIP:192.168.1.37

访问`http://192.168.1.232:8080`,可见需要输入账号密码。

CVE-2018-8715(AppWeb)

 

 

 

漏洞发现

关注AppWeb的版本

 

 

漏洞利用

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

构造头`Authorization: Digest username=admin`,并发送如下数据包:

可见,因为我们没有传入密码字段,所以服务端出现错误,直接返回了200,且包含一个session

CVE-2018-8715(AppWeb)

 CVE-2018-8715(AppWeb)

 设置这个session到浏览器,即可正常访问需要认证的页面:

 CVE-2018-8715(AppWeb)

 

 

问题汇总

1.利用该漏洞需要知道一个已存在的用户名

2.Burp不知名原因,会消失最后一个字节

显示情况

发送的GET请求,用户名为admin

CVE-2018-8715(AppWeb)

 不知名原因,仅显示admi

CVE-2018-8715(AppWeb)

 建议复现的时候确认一下HeadersTab下的是否正确传参

 

 

修复方案

打补丁,升级到最新版本~

 

 

2021-01-02 23:51:50

CVE-2018-8715(AppWeb)

上一篇:SpringAOP


下一篇:SpringBoot进阶教程(六十九)ApplicationContextAware