vulhub漏洞复现系列|Vulhub漏洞系列(AppWeb认证绕过漏洞(CVE-2018-8715))


Vulhub漏洞系列:AppWeb认证绕过漏洞(CVE-2018-8715)

  • 00.前言:
  • 01.AppWeb简介
  • 02.漏洞描述
  • 03.漏洞复现

00.前言: 这篇文章将对该漏洞进行简介并复现,同时简要说明Vulhub的使用方法,适合小白一起学习,大佬看看就好?
01.AppWeb简介 ??AppWeb是Embedthis Software LLC公司负责开发维护的一个基于GPL开源协议的嵌入式Web Server,主要的设计思路是安全。
??这是直接集成到客户的应用和设备,便于开发和部署基于Web的应用程序和设备。Appweb 速度快而且体积小 ,其中包括支持动态网页制作,服务器端嵌入式脚本过程中的CGI ,可加载模块:SSL ,摘要式身份验证,虚拟主机, Apache样式配置,日志记录,单和多线程应用程序。它提供了大量的文档和示例。
02.漏洞描述 AppWeb可以进行认证配置,其认证方式包括以下三种:
  • basic 传统HTTP基础认证
  • digest 改进版HTTP基础认证,认证成功后将使用Cookie来保存状态,而不用再传递Authorization头
  • form 表单认证
其7.0.3之前的版本中,对于digest和form两种认证方式,如果用户传入的密码为null(也就是没有传递密码参数),appweb将因为一个逻辑错误导致直接认证成功,并返回session。
原理参考:https://ssd-disclosure.com/index.php/archives/3676
03.漏洞复现 ??首先,在vulhub-master中漏洞的相应位置打开终端,输入docker-compose up -d打开环境:
sudo docker-compose up -d

??然后输入docker ps查看环境是否打开成功:
docker ps

??接下来便可以开始漏洞的复现了。由于该漏洞是因为在传输密码时输入为空所导致的逻辑漏洞,我们开始实操:
??访问地址http://your-ip:8080并抓包,send to repeater:
vulhub漏洞复现系列|Vulhub漏洞系列(AppWeb认证绕过漏洞(CVE-2018-8715))
文章图片
??然后在get数据包中加入我们构造好的参数(该靶机知道用户名为admin):
Authorization: Digest username=admin

??咋们Go一下看看:
vulhub漏洞复现系列|Vulhub漏洞系列(AppWeb认证绕过漏洞(CVE-2018-8715))
文章图片
??可以看到刚刚因为只传入了用户名而没有密码字段,服务端出现错误并绕过了登录验证直接返回了200,并且在返回包内可以看到set-cookie。
??将得到的session设置在浏览器中,可以看到成功绕过登录后的界面:
vulhub漏洞复现系列|Vulhub漏洞系列(AppWeb认证绕过漏洞(CVE-2018-8715))
文章图片

??在复现的过程中可以看出这个漏洞的利用规则,即要使用这个漏洞必须先知道用户名,这样才能进行下一步的操作:
Authorization: Digest username=xxx

??最后复现完漏洞就可以关闭环境了:
sudo docker-compose down

【vulhub漏洞复现系列|Vulhub漏洞系列(AppWeb认证绕过漏洞(CVE-2018-8715))】结束语:这是抬锅整理出来的复现过程希望能对大家有帮助?

    推荐阅读