WebページのURLと、以下のファイルが与えられた。
An URL of a web page and these files were given:
また、問題文より、/flag.txt
の存在が示唆されていた。
web-traversal/lb/conf/default.conf
を読むと、merge_slashes off;
という行があった。
「merge_slashes off」でググると、以下のページが見つかった。
Also, the challenge descryption suggested that there is a file /flag.txt
.
Reading web-traversal/lb/conf/default.conf
, I found a line merge_slashes off;
.
I googled "merge_slashes off" and found this page:
ALB配下のApache HTTP Serverに対して脆弱性(CVE-2021-41733)の再現ができない理由をNGINXの挙動から考えてみた | DevelopersIO
このページを参考に %2e%2e/
が勝手に消えてしまい、うまくリクエストを送れなかった。
また、問題で指定されているWebページはHTTPSでしかアクセスできず、HTTPでアクセスしようとしてもリダイレクトされてしまうようだった。
そこで、OpenSSL 1.1.1l の s_client
で指定のWebページのサーバの443番ポートに接続し、以下の内容を送信した。
Referring this page, I tried to send requests from %2e%2e/
in the URL vanished and I failed to send proper requests.
Also, the web page specified for this challenge looked available only via HTTPS (HTTP requests are redirected).
Seeing this, I connected to the port 443 of the server for the specified web page using s_client
of OpenSSL 1.1.1l and sent this:
(Connection: close
の後に空行 (改行文字だけの行) を1行入れる)
すると、flagが得られた。
(Put an empty line (a line that contains only a newline character) after Connection: close
)
As a result, I obtained the flag.