首页 > 其他分享 >CTF练习日记——[HCTF 2018]WarmUp 1

CTF练习日记——[HCTF 2018]WarmUp 1

时间:2024-03-14 18:11:07浏览次数:25  
标签:.. WarmUp flag HCTF source CTF 根目录 php page

一点进去就是一个大大的笑脸,暂时没有头绪,点开页面源码试试看

发现了一个source.php,从这里入手试试呢

能看到在source.php中有许多的if语句,猜测适用于验证过滤啥的,但看的不是太懂,一个个分析下先

这里isset()验证变量是否声明,is_string判断是否是字符串,只要有一个不符合,就会输出"you can't see it A"

判断传进来的变量是否在白名单whitelist里面

首先使用mb_strpos函数找到$page中第一个问号的位置,然后使用mb_substr函数将问号之前的部分作为$_page进行处理,也就是一个过滤问号的函数(如果$page的值有?则从?之前提取字符串)。

这里再次进行了白名单检测

对$page进行URL解码后,再次进行了白名单验证

检测传入的file是否是非空且是字符串并调用emmm::checkFile方法进行检查,如果一个不是就返回笑脸图片。若都满足,则通过include语句包含$_REQUEST['file']指定的文件并终止程序执行。在刚刚的source.php中还提到了hint.php,我们利用试试

提示我们flag in ffffllllaaaagggg,让我们来分析一下传入这个东西后,php代码是如何进行判断的:这里是参考了https://blog.csdn.net/Myon5/article/details/134286537里解释的。source.php一般是在html目录下,往上是www,var,然后到根目录,flag一般就放在根目录下面,这里还有一个hint.php?/或者source.php?/,因此需要返回四层才能到根目录。也就是我们可以构造如下payload:source.php?file=hint.php?/../../../../ffffllllaaaagggg,得到结果flag:flag{9ea6a0d5-bd15-4008-9bf0-6246f018a463}

标签:..,WarmUp,flag,HCTF,source,CTF,根目录,php,page
From: https://www.cnblogs.com/Evan66/p/18073643

相关文章

  • CTF练习日记——[极客大挑战 2019]EasySQL
    启动靶机后,首先能看到这样一个界面:这个题是和SQL注入相关,首先随意输入username和password试试看:提示用户名和密码错误,那么我们尝试输入用户名输入1',得到提示SQL语句出错,那么我们就可以从这里下手,直接在用户名那输入1'or'1'='1#注入成功,得到了我们需要的flag:flag{08f72......
  • CTF练习日记——[极客大挑战 2019]Havefun 1
    开启靶机后,看到该界面,一只可爱的小猫,题目也没有更多信息,查看源代码试试看我们可以看到这样一段代码,我们试试cat=dog,发现结果自己出来了,得到了flag:flag{4962ffca-1564-415b-b9e0-77699a797784}......
  • CTF学习的第二天
    完成了CTFHUB中web前置技能剩下的两道题web前置技能-HTTP协议4.基础认证在这道题中,打开靶机看题目意思,有一个可以点击的click选项,正常思路点了一下,出来了一个登陆界面,先尝试了一下admin并不正确尝试用bp抓包,发现了一串Base64编码复制一下去解密看看发现admin中间有一个:......
  • [BJDCTF2020]Easy MD5 1
    [BJDCTF2020]EasyMD51审题看到一个登录框,并且题目为ezMD5,猜测使用md5绕过SQL知识点md5的绕过解题使用ffifdyop绕过SQL查看源代码弱比较绕过输入?a[]=1&b[]=2发现为===强比较,由于md5对数组不敏感也可以使用数组绕过,这是md5的另一个特性,就是md5无法对数组进行......
  • [RoarCTF 2019]Easy Calc 1
    [RoarCTF2019]EasyCalc1审题题目就是一个计算器。看到源代码有calc.php进入看到waf的源代码知识点RCE解题审核代码<?phperror_reporting(0);if(!isset($_GET['num'])){show_source(__FILE__);}else{$str=$_GET['num'];$blacklist=[......
  • [ACTF2020 新生赛]BackupFile 1
    [ACTF2020新生赛]BakupFil1审题让我们找到源代码。题目为bakup尝试index.php.bak下载成功知识点bak备份文件,简单RCE。解题看到index.php代码<?phpinclude_once"flag.php";if(isset($_GET['key'])){$key=$_GET['key'];if(!is_numeric($key)){......
  • 文件上传[SUCTF 2019]CheckIn
    文件上传[SUCTF2019]CheckIn打开提交js图片马后台检测文件类型在木马出添加GIF89a绕过显示上传成功的地址uploads/f65a0ca982c669865231909b0ec85a0c上传.user.ini解马关于.user.ini和.htaccess后者有局限性,只能用于apache前者只要能运行php都可用auto_prepend_file......
  • 文件上传例题:[GXYCTF2019]BabyUpload
    文件上传例题:[GXYCTF2019]BabyUpload打开网址明显文件上传上传简单php马尝试后缀名过滤,使用BP抓包进行修改提示文件类型不对,修改成image/jpeg提示还是php,那换成js马<scriptlanguage="php">eval($_POST['cmd']);</script>上传成功解析php代码需要.htaccess文件在文......
  • 记CTF小白的第一次刷题经历
    师傅推荐先从CTFHub的技能树先刷起,今天只做了Web基础的三道题Web基础Web前置技能操作系统数据库HTTP协议HTML/CSS程序语言HTTP协议1.请求方式先学习了一下什么是HTTP协议里的请求方式首先看到题面,HTTP请求的方法是GET,让我们用CTFHUB方法,他就会给我们......
  • BUUCTF靶机笔记
    BUUBRUTE11启动靶机后可以看到是一个登陆页面查看源代码:没有有用的信息只是单纯的html页面随便填一个用户:admin密码:123提示密码为四位怀疑是暴力破解使用burp进行单点爆破payload设定暴力完成查看length不同的数据包返回flag:flag{6982d5b6-a2f8-48d8-aec6......