CTF-2021中国能源网络WEB题目全解

本文详细介绍了2021年中国能源网络安全大赛的WEB题目解题过程,涵盖ezphp、phar、HardCode等多个挑战,涉及PHP安全、黑盒测试和代码审计等领域。
摘要由CSDN通过智能技术生成

0x01 前言

在2021年10月15日的“中国能源网络安全大赛”,笔者对WEB题目进行了尝试,幸运的做出了所有题目。

感觉WEB的考点形形色色,其中有1道偏于黑盒测试的简单题目,4道是白盒审计类题目,还有一道是Python的反序列化题目,题目名称大致如下:

因为唯一的一道黑盒题目还是文件包含题目,所以笔者将题目源代码全部扒下来了,给大家提供复现环境。(flag自己创建)。

下面笔者将分享这次比赛的解题过程。

0x02 ezphp

这是一道很简单的题目,同时也被大家刷成了签到题。

打开界面显示如下:

单机按钮后会返回源代码,如图:

这里MD5的判断已经是千年老题了,使用数组就可以绕过。

问题是下面的$res的结果不可以包含flag字符串,这里的话我们可以通过php伪协议将它进行base64加密绕过即可。但是我们可以注意到$request_url中间是拼接了一个url地址的,如图:

这里我们可以将php伪协议拆分成两段,例如:

php://filter/read=convert.base64-encode/v/popular/all/resource=/flag,这样虽然PHP会抛出异常,但是也是可以正常运行的,如图:

Base64解密获得flag:

0x03 phar

这道题有一定的黑盒成分,也是比较简单的一道题目,首页如下:

我们可以看到这里给出了一个hint,那么访问include.php看一下,如图:

给出了提示,说参数的key值为file,那么包含/etc/passwd看一下结果:

显然这里包含失败了,在这里我们只能对源代码的编写进行猜测,这里有两条路可选:

1: 程序写法为 include $_GET[file] . '.xxx'; 针对这一种情况,我们可以fuzz后缀到底是什么,然后再进行读源码或包含一系列操作。

2: 显然这一条路是比较离谱的,也就是说,根据题目名为phar,是否考点为phar反序列化?或者这里存在一个辅助的class.php文件,只是我们不知道class的文件名而已,但是由于这里的hint为include.php,显然这一条路是比较离谱的。

那么这里可以包含以下include,如图:

显然形成自己包含自己,后缀确定为.php,使用伪协议阅读源码:

这里不让使用base,那么我们可以使用url二次编码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值