文章仅仅学习使用,所有步骤均来自网络,博主无法鉴别判断用户使用本网站教程及软件的真实用途,敬请用户在本国法律所允许范围内使用,
用户一旦因非法使用而违反国家相关的法律法规,所造成的一切不良后果由该用户独立承担,
博主不负责也不承担任何直接间接或连带等法律责任。
*文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。
AppWeb认证绕过漏洞(CVE-2018-8715)
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。
参考链接:
漏洞环境
1,执行如下命令启动一个带有digest认证的appweb服务器:docker-compose up -d
2,访问靶机ip, 192.168.190.133:8080会提示输入密码
漏洞复现
1,利用这个漏洞需要知道网站有的一个用户名,该环境有个用户名为admin
2,构造数据包头
3, 可见,因为我们没有传入密码字段,所以服务端出现错误,直接返回了200,且包含一个session:
4,设置session到网站上,可以正常进入到需要认证的界面了
原文地址:https://www.cnblogs.com/sym945/p/11787617.html
时间: 2024-10-10 17:23:48