はまやんはまやんはまやん

hamayanhamayan's blog

finger-warmup (beginner) [DamCTF 2020]

finger-warmup (beginner)
babayet2
A finger warmup to prepare for the rest of the CTF, good luck!
You may find this or this to be helpful.
https://realpython.com/python-requests/
https://programminghistorian.org/en/lessons/intro-to-beautiful-soup
finger-warmup.chals.damctf.xyz

推測

アクセスするたびに違うURLに誘導される。
かつ、自動化を促されているような気がするので、自動でどんどん辿っていくようなpythonプログラムを書く。
すると、3000回目くらいで出力が変わるので、そこでフラグが手に入る。

import requests
import re
import time

url = 'https://finger-warmup.chals.damctf.xyz/'
tag = 's4eb0tykwwbpel4hwdc55'

for _ in range(101010):
    r = requests.get(url+tag)
    with open('res.txt', mode='a') as f:
        f.write(r.text + '\n')
    p = re.findall(r'<a href="(.*)">click here, if you are patient enough I will give you the flag</a>', r.text)
    tag = p[0]
    print(tag)
    time.sleep(1)

dam{I_hope_you_did_this_manually}
自動化しました…