ctf web方向与php学习记录34之[RoarCTF 2019]Easy Calc第一次复现尝试(2)

一,linux与windows中搭建phpstudy的区别

首先,想要了解清楚在这两种系统搭建网站的区别就要熟悉你想要实现的网站的功能,其次就是二者命令执行的区别。
(其实说到这里,大佬们可能就清楚本小白要讲的内容了)。
这里就用nepctf的一道【little trick】来说明。
(具体的phpstudy搭建就不讲了,linux的话,用一句官网安装命令,然后装载的本机访问最终得到的内网,登录即可)

1 以下是该题的源码。

在这里插入图片描述

2题目的pl如下:

在这里插入图片描述该题的思路其实说白了就是传入 “ cat * ” 并执行。

3以下是该题的所有文件以及源码:

index.php:

 <?php
    error_reporting(0);
    highlight_file(__FILE__);
    $nep = $_GET['nep'];
    $len = $_GET['len'];
    if(intval($len)<8 && strlen($nep)<13){
        eval(substr($nep,0,$len));
    }else{
        die('too long!');
    }
?> 

nepctf.php:

<?php $flag = 'NepCTF{n3pn3p_l1ttle_tr1ck_c0me_bAck}'; >

4详细说明

然而在已搭建的网站中由于“服务器”类型为window,其shell(即cmd)无法执行linux命令,故在windows搭建的phpstudy网站无法通过简单地在文件夹中放入index.php和nepctf.php来达到复现的目的。
而在linux中搭建的网站可以完全复现该题。
其实,这说明了一个非常基本的道理——网站的功能与搭建网站的服务器的运行系统有关。

二,[RoarCTF 2019]Easy Calc复现

然后,在解决了linux网站的问题的同时,同样解决了在做ctf时,为什么REC之后可以看见“linux目录”的问题,即以linux环境实现即可。而复现出来的题目与真实赛题“linux目录”不同的区别就在于一个是linux实际环境,一个是linux容器环境。

进行到这里该题的复现依旧没有成功,又遇见了新的问题,例如,最近出现的var_dump()执行ls /无法完全返回根目录的问题,waf设置的探索,我相信随着我进一步的学习,它终将揭开神秘的面纱。

至于我为什么写这篇博客,相当于找到了linux服务器复现环境的解决办法吧。

后续仍将继续跟进(即便Easy Calc借出来后已经过去了许久)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这周末在做梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值