Shikata Ga Nai

Private? There is no such things.

URL-based access control can be circumventedをやってみた

Hello there, ('ω')ノ

 

URLベースのアクセス制御の回避を。

このWebサイトには、/adminに認証されていない管理パネルがあって。

フロントエンドシステムは、そのパスへの外部アクセスをブロックするとか。

まずは、下記へアクセスして確認してみると。

 

https://acf11f361e00c762807760e700ea0025.web-security-academy.net/admin

 

f:id:ThisIsOne:20210314174204p:plain

 

リクエストを確認してもなにもパラメータらしきものが見つからず。

 

f:id:ThisIsOne:20210314174401p:plain

 

X-Original-URLヘッダは、元のリクエストのURLを上書きできて。

リクエストを下記に変更、追加してSendすると。

 

 GET /

 X-Original-URL: /invalid

 

レスポンスメッセージは、バックエンドシステムが。

X-Original-URLのURLを処理していることを示して。

 

f:id:ThisIsOne:20210314175434p:plain

 

X-Original-URLヘッダを/adminに変更してSendすると管理者パネルが。

ここからDeleteはできないので。

 

f:id:ThisIsOne:20210314174532p:plain

 

ページに管理パネルのメニューが表示されるもの選択すると。

 

f:id:ThisIsOne:20210314174647p:plain

 

ブロックされて。

 

f:id:ThisIsOne:20210314174708p:plain

 

さきほどのレスポンスで、Deleteにあたる箇所を探して。

アドレスとパラメータを確認して。

 

f:id:ThisIsOne:20210314174842p:plain

 

下記のようにパラメータとX-Original-URLヘッダを変更してSendすると。

管理パネルが表示されて、Deleteできるので。

 

 GET /?username=carlos HTTP/1.1

 X-Original-URL:/admin/delete

 

f:id:ThisIsOne:20210314175055p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210314175130p:plain

 

ちなみに別のラボで、下記を追加してみると反映されず。

 X-Original-URL: /invalid

 

f:id:ThisIsOne:20210315080155p:plain

 

下記を追加してみても反映されず。

 X-Original-URL: /admin

 

f:id:ThisIsOne:20210315080121p:plain

 

もとのリクエストは以下のとおりで。

 

f:id:ThisIsOne:20210315080239p:plain

 

Best regards, (^^ゞ