漏洞描述
AppWeb
使用以下三种认证方式:
认证方式 | 认证原理 |
---|---|
basic | 传统HTTP基础认证 |
digest | 改良版HTTP基础认证,认证通过后不再传递Authorization头,而使用Cookie保存状态 |
form | 表单认证 |
在7.0.3
之前版本,若认证方式为digest
或form
,此时攻击者可通过不传递密码参数,利用AppWeb
逻辑错误成功认证并获取session
。
AppWeb
使用C/C++
语言进行编写,是Embedthis Software LLC
公司开发维护的一个基于GPL
开源协议的嵌入式Web Server
,主要应用场景在于为嵌入式设备提供Web Application
容器。
影响版本
AppWeb 7.0.3
之前版本。
漏洞复现
git clone https://github.com/vulhub/vulhub.git
cd vulhub/appweb/CVE-2018-8715
docker-compose up -d
访问http://<ip>:<port>
,会弹出一个登录框,此时需要输入一个存在的用户名,猜测为admin
,密码随意输入,抓取登录包并构造Authorization: Digest username=admin
,点击发送,成功绕过认证。
文章许可:本文采用CC BY-NC-SA 4.0许可协议,转载请注明出处。