Zuck3r’s Study

エンジニアではありません

Hack The Box : Emdee five for life

はじめに

Hack The Boxってめっちゃ難しいイメージがあって、ほぼ登録だけして終わってた僕がEasy問題なら誰でも解けることに気付いて解いてみただけの話です。

本題

取り敢えず、インスタンスを起動して指定されたアドレスにアクセスしてみる。すると、以下のような画面が出る。

f:id:Zuck3r:20220215180216p:plain

ハッシュ化した値をsubmitすると良さそう。 しかしながら、値を入れてみるもToo Slowと怒られる。また、適当な値を入れても同じだった。

f:id:Zuck3r:20220216031802p:plain

もっと早く送る必要がありそうなので、コードで書いて自動化してみた。 ちなみに、h3タグ内のハッシュにする為の値を抽出するのにBeautiful Soupを使ってみたが、処理が遅いせいか、Too Slowと出てきたので正規表現で抜くことにした。

import re
import requests
import hashlib

URL = "http://178.62.44.230:30685/"

session = requests.session()
res = session.get(URL)
res_str = str(session.get(URL).text)

#ハッシュ化する文字列の抽出
plain = re.search(r'<h3.+>(.+)</h3>', res_str).group(1)

#ハッシュ化の後にURLに値を送信
hs = hashlib.md5(plain.encode()).hexdigest()
ans = session.post(url=URL, data={'hash' : hs })
#レスポンスを表示
print(ans.text)

すると、レスポンスの中にフラグがあった。複数回送ると、Too Slowと返ってくることもあった。

f:id:Zuck3r:20220216033456p:plain