从前端代码审计挖掘未授权进入后台到文件上传拿下某色情网站
字数 1430 2025-08-26 22:11:34

从前端代码审计到未授权后台访问及文件上传Getshell实战教学

0x00 前言

本教学文档将详细分析一个色情网站渗透案例,从信息收集开始,通过前端代码审计发现未授权访问漏洞,利用文件上传功能获取服务器权限,最终完成提权。这是一个典型的前后端分离架构的安全审计案例。

0x01 信息收集阶段

  1. 基础信息收集

    • 获取目标IP地址
    • 扫描开放端口(常用工具:nmap)
    • 获取应用程序包
    • 识别框架版本:ThinkPHP 6.0.12
    • 发现后台登录地址
  2. 初步漏洞尝试

    • 尝试ThinkPHP 6.0.12反序列化漏洞(未成功)
    • 验证码机制分析:验证码有效,无法爆破

0x02 前端代码审计与未授权访问

关键发现点

  1. 登录逻辑分析

    • 网站采用前后端分离架构
    • 登录请求通过AJAX发送到/admin/login/index.html
    • 后端返回JSON格式响应,包含code字段
  2. 响应代码含义

    // 验证成功,进入后台
    if(status.code == 1){
        layer.msg(status.msg,{offset: '150px', icon: 6}, function(){
            top.location = "/admin/index/index.html";
        });
    };
    
  3. 漏洞利用步骤

    • 拦截登录响应数据包
    • 修改code字段为1
    • 浏览器会自动跳转到后台主页/admin/index/index.html
  4. 绕过前端跳转限制

    • 后台页面包含强制跳转代码:
      <script>window.location.href = "/admin/login"</script>
      
    • 解决方法:
      • 使用Burp Suite拦截响应
      • 删除跳转代码
      • 保持Burp Suite拦截状态(否则会恢复跳转)

0x03 文件上传Getshell

  1. 发现上传点

    • 后台"网站配置"功能中存在图片上传功能
  2. 上传测试

    • 首次尝试:上传一句话木马(成功但无法连接)
    • 二次尝试:使用哥斯拉(Godzilla)Webshell(连接成功)
  3. 连接工具选择

    • 中国菜刀:连接失败
    • 哥斯拉:成功连接
    • 原因:可能后端对特定函数进行了限制

0x04 权限提升

  1. 初始限制

    • 服务器禁用命令执行函数
  2. 绕过方法

    • 使用哥斯拉的BypassDisableFunctions模块执行命令
    • 建立反弹Shell:
      • 使用MSF(Metasploit Framework)开启监听
      • 通过哥斯拉的PMeterpreter模块上线
      • 稳定性问题:连接易中断
      • 改进方案:使用Cobalt Strike生成稳定木马
  3. 提权操作

    • 利用CVE-2021-4034漏洞(Polkit权限提升漏洞)
    • 成功获取root权限

0x05 后渗透阶段

  1. 信息收集

    • 发现宝塔面板
    • 数据库查询获取管理员凭证
    • MD5解密得到弱密码
  2. 横向移动准备

    • 密码复用测试(撞库)
    • 应用数据挖掘(分析APP程序包)

0x06 攻击路径总结

完整攻击链:

网站路径扫描 → 发现后台地址 → 数据包分析+前端代码审计 → 未授权后台访问 → 文件上传Getshell → CVE-2021-4034提权 → 获取主机完全控制权

0x07 防御建议

  1. 前端安全

    • 避免在前端实现关键权限验证逻辑
    • 对敏感操作增加二次验证
  2. 后端安全

    • 实现严格的权限验证中间件
    • 对API请求进行身份验证和授权检查
  3. 文件上传

    • 实施严格的文件类型检查
    • 使用随机文件名并限制可执行目录
    • 考虑使用云存储服务隔离上传文件
  4. 系统安全

    • 及时更新系统和修复已知漏洞
    • 限制服务器命令执行能力
    • 使用最小权限原则运行服务
  5. 密码安全

    • 强制使用强密码策略
    • 密码存储使用加盐哈希(非纯MD5)

0x08 工具清单

  • 信息收集:nmap
  • 代理工具:Burp Suite
  • Webshell管理:哥斯拉(Godzilla)、中国菜刀
  • 远程控制:Metasploit Framework、Cobalt Strike
  • 漏洞利用:CVE-2021-4034 exploit

通过本案例可以学习到前后端分离架构下的安全审计方法,以及如何通过组合漏洞实现完整的渗透测试路径。

从前端代码审计到未授权后台访问及文件上传Getshell实战教学 0x00 前言 本教学文档将详细分析一个色情网站渗透案例,从信息收集开始,通过前端代码审计发现未授权访问漏洞,利用文件上传功能获取服务器权限,最终完成提权。这是一个典型的前后端分离架构的安全审计案例。 0x01 信息收集阶段 基础信息收集 : 获取目标IP地址 扫描开放端口(常用工具:nmap) 获取应用程序包 识别框架版本:ThinkPHP 6.0.12 发现后台登录地址 初步漏洞尝试 : 尝试ThinkPHP 6.0.12反序列化漏洞(未成功) 验证码机制分析:验证码有效,无法爆破 0x02 前端代码审计与未授权访问 关键发现点 登录逻辑分析 : 网站采用前后端分离架构 登录请求通过AJAX发送到 /admin/login/index.html 后端返回JSON格式响应,包含 code 字段 响应代码含义 : 漏洞利用步骤 : 拦截登录响应数据包 修改 code 字段为1 浏览器会自动跳转到后台主页 /admin/index/index.html 绕过前端跳转限制 : 后台页面包含强制跳转代码: 解决方法: 使用Burp Suite拦截响应 删除跳转代码 保持Burp Suite拦截状态(否则会恢复跳转) 0x03 文件上传Getshell 发现上传点 : 后台"网站配置"功能中存在图片上传功能 上传测试 : 首次尝试:上传一句话木马(成功但无法连接) 二次尝试:使用哥斯拉(Godzilla)Webshell(连接成功) 连接工具选择 : 中国菜刀:连接失败 哥斯拉:成功连接 原因:可能后端对特定函数进行了限制 0x04 权限提升 初始限制 : 服务器禁用命令执行函数 绕过方法 : 使用哥斯拉的BypassDisableFunctions模块执行命令 建立反弹Shell: 使用MSF(Metasploit Framework)开启监听 通过哥斯拉的PMeterpreter模块上线 稳定性问题:连接易中断 改进方案:使用Cobalt Strike生成稳定木马 提权操作 : 利用CVE-2021-4034漏洞(Polkit权限提升漏洞) 成功获取root权限 0x05 后渗透阶段 信息收集 : 发现宝塔面板 数据库查询获取管理员凭证 MD5解密得到弱密码 横向移动准备 : 密码复用测试(撞库) 应用数据挖掘(分析APP程序包) 0x06 攻击路径总结 完整攻击链: 0x07 防御建议 前端安全 : 避免在前端实现关键权限验证逻辑 对敏感操作增加二次验证 后端安全 : 实现严格的权限验证中间件 对API请求进行身份验证和授权检查 文件上传 : 实施严格的文件类型检查 使用随机文件名并限制可执行目录 考虑使用云存储服务隔离上传文件 系统安全 : 及时更新系统和修复已知漏洞 限制服务器命令执行能力 使用最小权限原则运行服务 密码安全 : 强制使用强密码策略 密码存储使用加盐哈希(非纯MD5) 0x08 工具清单 信息收集:nmap 代理工具:Burp Suite Webshell管理:哥斯拉(Godzilla)、中国菜刀 远程控制:Metasploit Framework、Cobalt Strike 漏洞利用:CVE-2021-4034 exploit 通过本案例可以学习到前后端分离架构下的安全审计方法,以及如何通过组合漏洞实现完整的渗透测试路径。