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

hamayanhamayan's blog

Web-wiki. The beginning [M*CTF 2020 Quals]

Web-wiki. The beginning
by @rive_n (rivenfornotifications@mail.ru)
I decided to develop a more secure version of Wikipedia related to web development. However, so far I have only managed to design one page… Check it out!
http://web-library.mctf.online/index

調査

急にノゲラが始まってびっくりする。

以下のようにIPを見ているような記載がある。

And by the way, to completely understand what exactly you are doing, we decided to track your IP.
Here it is: 10013

他には特に気になる所はない。

Server: nginx
X-Forwarded-For: 10.0.1.3

ん?なにもないぞ?

公式 Writeup

んー、パストラバーサルか…いや、推測で何とかなったかもしれない。
パストラバーサルソースコードを抜けることは分かったが、公式Writeupとは違う方針で考察過程を作ってみる。

"we decided to track your IP. "

IPを辿っていくという所から想像する。
サーバからすると、リクエスからしか情報がないので、これを考えてみると、これくらいしかないなぁとなる。

これでX-Forwarded-For: 192.168.0.1, 192.168.0.2とすると、

Here it is: 19216802

のように変化する。
これはユーザー入力が画面に反映されていることに他ならない。
やっとソースを手に入れることができた。

SSTI

adminにURLを送ったりはしないので、ここからSSTIとかRCEとかを想像するのはそれほど変じゃない。
192.168.0.1, 192.168.0.{{4*4}}とすると、192168016と出力される。OK。

自分の環境では{{config}}とするとフラグが見えてしまった。
公式WriteupではRCEしている。