Kali挖掘PHP漏洞与后渗透技巧
本篇文章给大家分享《Kali如何挖掘PHP漏洞及后渗透技巧》,覆盖了文章的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
phpsploit 是基于 HTTP 的交互式后渗透通信框架,不能直接拿 shell,需先获得可控 PHP 执行入口(如 eval($_GET['x'])),再通过构造正确 payload endpoint 建立稳定会话。

phpsploit 是什么,能直接拿 shell 吗
phpsploit 不是自动漏洞利用工具,它本身不“挖洞”,也不扫描 PHP 服务是否存在 eval()、system() 或反序列化漏洞。它是一个轻量级的、基于 HTTP 的交互式后渗透通信框架,前提是——你已经通过其他方式(比如手动代码审计、sqlmap --os-shell、或已知 RCE payload)拿到了一个可控的 PHP 执行入口(例如 shell.php?cmd=ls 这类可执行命令的页面)。
它的核心作用是:把零散的、一次性的 PHP 命令调用,封装成稳定、带会话管理、支持插件和文件传输的交互式 shell 环境。
- 不能替代
gobuster或nikto扫目录、找phpinfo.php - 不能绕过
disable_functions—— 它只是帮你更方便地调用已有的可用函数 - 依赖目标服务器上能成功执行
base64_decode()和eval()(或assert()、create_function()等等)
怎么让 phpsploit 连上一个已有 PHP 执行点
关键不是“装 phpsploit”,而是构造好那个 payload endpoint。常见失败原因是 payload 格式不对或被 WAF 拦截。
假设你已确认 http://target.com/test.php 存在如下代码:
eval($_GET['x']);
那么你启动 phpsploit 的命令应该是:
./phpsploit -u "http://target.com/test.php?x="
-u后面必须是完整 URL,且参数名(这里是x)要和目标脚本里接收的变量名一致- 如果目标用的是
$_POST['cmd'],就得配合-X POST -d "cmd="参数,不能只靠-u - 若目标开了
open_basedir或禁了proc_open,shell插件会卡住,此时应先用run ls -la测试基础命令是否通 - 遇到 403/500 但手工 curl 能执行,大概率是 phpsploit 默认 User-Agent 被 WAF 拦了,加
--user-agent "Mozilla/5.0"试试
disable_functions 绕过失败时,phpsploit 还能做什么
当 system、exec、shell_exec 全被禁用,但 file_get_contents、scandir、readfile 还开着,phpsploit 依然有用——重点转向信息收集和横向移动准备。
- 用
run file_get_contents('/etc/passwd')读敏感文件(注意路径是否受限) - 用
run print_r(scandir('/var/www/html'))列目录,找备份文件、配置文件、数据库连接脚本 - 用
upload /local/config.php /var/www/html/config.php.bak备份原始配置,为后续改写铺路 - 如果
curl或file_put_contents可用,可通过download插件拉取远程恶意 payload 再eval,绕过本地上传限制
此时别硬刚 shell,优先导出数据库连接串、JWT 秘钥、API token —— 很多时候比弹 shell 更快见效。
为什么连上了却卡在 “Loading plugins…” 或 “No response”
这是最常被忽略的网络与环境细节问题。phpsploit 本质是发 HTTP 请求并解析响应体里的 base64 编码结果,任何破坏这个闭环的环节都会中断。
- 目标响应里不能有额外输出:比如
echo "debug";、print_r($GLOBALS)、甚至末尾多一个空格或换行,都会导致 base64 解码失败 - 确保目标 PHP 脚本以
die()或exit()结尾,避免输出 HTML 模板或 footer - 如果目标用了 gzip 压缩(
ob_start('ob_gzhandler')),phpsploit 默认不处理压缩响应,会解码失败 —— 此时需手动 patch 源码或换用未压缩的 endpoint - 某些 CDN(如 Cloudflare)会缓存 200 响应,导致你改了 payload 脚本但 phpsploit 仍收到旧响应,加时间戳参数绕过:
?x=...&t=171xxxx
真正卡住的时候,别急着换工具,先用 curl -v 抓原始请求/响应,看 body 是否干净、是否含不可见字符、是否被重定向 —— 这些细节比选什么 payload 更决定成败。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
中国移动app代充话费步骤详解
- 上一篇
- 中国移动app代充话费步骤详解
- 下一篇
- QQ音乐网页版在线听入口详解
-
- 文章 · php教程 | 11小时前 |
- PHP Lazy Objects 延迟初始化实体的状态边界
- 409浏览 收藏
-
- 文章 · php教程 | 13小时前 |
- PHP Attributes 扫描控制器元数据的缓存方法
- 357浏览 收藏
-
- 文章 · php教程 | 15小时前 |
- PHP Enum 映射数据库值的类型安全方案
- 278浏览 收藏
-
- 文章 · php教程 | 18小时前 | php教程 · php Fiber 事件循环 非阻塞I/O Fiber::suspend Fiber::resume
- PHP Fiber 在阻塞 I/O 封装中的调度边界
- 176浏览 收藏
-
- 文章 · php教程 | 20小时前 |
- PHP DateTimeImmutable 按时区转换并保持原对象
- 485浏览 收藏
-
- 文章 · php教程 | 22小时前 | PHP · 日期时间 · php 时区 DateTimeImmutable createFromInterface
- PHP DateTimeImmutable createFromInterface 怎么保留时区
- 201浏览 收藏
-
- 文章 · php教程 | 1天前 |
- PHP Closure bindTo 改变作用域时有哪些限制
- 394浏览 收藏
-
- 文章 · php教程 | 1天前 | HTTP · php教程 · php Http请求 file_get_contents stream_context
- PHP stream_context 怎么为单次 HTTP 请求设置选项
- 263浏览 收藏
-
- 文章 · php教程 | 1天前 | PHP ·
- PHP filter_input 为什么读取不到代码中后改的值
- 237浏览 收藏
-
- 文章 · php教程 | 1天前 | 异常处理 · php教程 · 异常堆栈 日志脱敏 PHP 8.2 PHP SensitiveParameter SensitiveParameterValue
- PHP SensitiveParameter 怎么隐藏堆栈中的敏感值
- 125浏览 收藏
-
- 文章 · php教程 | 1天前 |
- PHP Randomizer 怎么实现可替换的随机引擎
- 337浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 263次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 312次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 291次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 267次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 82次使用
-
- PHP JSON_THROW_ON_ERROR 抛错后怎么保留原始字段位置
- 2026-09-09 501浏览
-
- PHP 8.5 array_last() 怎么处理空数组:从 null 结果到兼容旧版本的 Polyfill
- 2026-08-16 501浏览
-
- 宝塔配置Ruby环境:RVM+Nginx反代教程
- 2026-05-29 501浏览
-
- unset函数作用范围详解
- 2026-05-29 501浏览
-
- VS Code配置Xdebug教程:PHP调试技巧全解析
- 2026-05-13 501浏览
