网鼎杯2020-朱雀phpweb

本文介绍了在网鼎杯2020比赛中遇到的一个PHPWeb挑战,涉及利用date函数参数执行系统命令,但因安全限制未能成功。通过查看源码,发现可以通过未过滤的函数绕过黑名单,并利用类的析构函数进行反序列化执行自定义操作。最终,构造payload成功获取flag位置,并使用ls和cat命令读取。该挑战重点考察了反序列化知识及Linux命令的运用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

页面不断地刷新,也没看到什么有用的提示和信息,抓包看一下

在这里插入图片描述
根据资料可得,date是php中一个获取时间的函数,而后面的p是它的参数,获取当地的时间。

利用func和p的传参,我们可以执行我们想要的函数。于是尝试了system执行我们想要的命令,发现被禁了,提示为Hacker。

换个思路,查看源码:

func=file_get_contents&p=index.php    func=highlight_file &p=index.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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值