每日一题 —— [MoeCTF 2023]大海捞针¶
题目地址:https://github.com/XDSEC/MoeCTF_2023/tree/main 自己克隆了之后搭建环境
搭建环境¶
首先搭建环境,我们使用 docker-compose 搭建环境。由于是动态靶机,根据本届 moectf 的规则,我们使用 moectf{}
的格式作为 flag。上一届是咋样的我已经忘了,其实使用 flag{}
这种格式也不影响,待会细说。
搭建环境用的 docker-compose.yml
:
开始做题¶
按照我现在搭建的方式,我访问 http://localhost:8099
就可以。题目提示我们需要用 ?id=1
的方式来连接到平行世界。我们试运行一下,这道题和上一题“彼岸的 flag”一样,可惜因为平台限制,他的做题顺序被打乱了,所以并不能体现这道题是上一题的延续(没有把这一道题放在上一题前面就算好的了。。。)
按照"彼岸的 flag" 的思路,我们需要查看页面源代码,直接查找有没有 flag。我们按下 f12
来直接搜索关键词 moectf
,可以发现有一个 MoeCTF
,可能会影响到我们的扫描,但是因为它是大写,所以不影响我们的扫描。
另外因为源代码里没有
flag
这个字眼,所以我们靶机的 flag 改为flag{}
格式也没有关系,照样扫。这里我们还是以moectf{}
举例
我们现在直接来编写一个 python 脚本,然后查找哪一个 id 的平行世界下面的源代码里面,有我们想要的 moectf
关键词:
import requests
url = "http://localhost:8099?id="
for i in range(1, 1001):
r = requests.get(url=url + str(i))
if 'moectf' in r.text:
print(i)
最后终端也是非常干脆地给出了 451
这个数字。那么 flag 就在这个 id 下无疑了。我们直接访问 http://localhost:8099?id=451
就可以看到 flag 了。
文章热度:0次阅读