Shikata Ga Nai

Private? There is no such things.

アクセス制御の基本的な診断手順をなるべく詳細にかいてみた①

Hello there, ('ω')ノ

 

まずは、アクセス制御の基本的な脆弱性から。

 

f:id:ThisIsOne:20211021164519p:plain

 

まずは、下記のファイルがないかを確認して。

なにやらアクセスされたくないディレクトリがあるようで。

 /robots.txt

 

f:id:ThisIsOne:20211021164323p:plain

 

下記のエンドポイントにアクセスしてみると難なく管理者パネルにアクセスできて。

 /administrator-panel

 

f:id:ThisIsOne:20211021164448p:plain

 

次のケースは。

 

f:id:ThisIsOne:20211021164915p:plain

 

robotsファイルは、存在しないようなので。

 /robots.txt

 

f:id:ThisIsOne:20211021164857p:plain

 

念のためソールファイルを確認して、管理者パネルらしきディレクトリを探して。

 

f:id:ThisIsOne:20211021165131p:plain

 

下記のエンドポイントにアクセスしてみると難なく管理者パネルにアクセスできて。

 /admin-eh7b6z

f:id:ThisIsOne:20211021165232p:plain

 

次のケースは。

 

f:id:ThisIsOne:20211021175413p:plain

 

robotsファイルは存在せず。

 /robots.txt

 

ソースコードからもジューシーなリンクも見当たらず。

 

f:id:ThisIsOne:20211021175525p:plain

 

よくあるエンドポイントにアクセスしてみると。

エラーメッセージから存在するようで。

 /admin

 

f:id:ThisIsOne:20211021175625p:plain

 

リクエストの内容を確認しても権限を判別するヒントも見当たらず。

 

f:id:ThisIsOne:20211021180430p:plain

 

一般ユーザでログインしてみて。

 

f:id:ThisIsOne:20211021180508p:plain

 

f:id:ThisIsOne:20211021180645p:plain

 

リクエストを確認してみるとCookieで管理者を判別しているようで。

 

f:id:ThisIsOne:20211021180606p:plain

 

リピータで下記のように変更してSendするとAdmin panelにアクセスできるようで。

 Admin=true

 

f:id:ThisIsOne:20211021180741p:plain

 

ログアウトしてから、インターセプトをオンにしてから再度ログインしなおして。

 

f:id:ThisIsOne:20211021180849p:plain

 

Admin=trueに変更すると。

 

f:id:ThisIsOne:20211021181015p:plain

 

Admin panelのリンクが確認できて。

 

f:id:ThisIsOne:20211021181031p:plain

 

Admin panelをクリックすると、また権限をチェックされているようなので。

もどってから、再度インターセプトをオンにしてからAdmin panelをクリックして。

 

f:id:ThisIsOne:20211021181116p:plain

 

Admin=trueに変更して。

 

f:id:ThisIsOne:20211021181213p:plain

 

Carlosをクリックすると。

 

f:id:ThisIsOne:20211021181330p:plain

 

ここでも権限をチェックしているようなので。

もどってから、再度インターセプトをオンにしてからCarlosをクリックして。

 

f:id:ThisIsOne:20211021181349p:plain

 

Admin=trueに変更すると、ようやくDeleteできて。

 

f:id:ThisIsOne:20211021181444p:plain

 

次のケースは。

 

f:id:ThisIsOne:20211021181748p:plain

 

一般ユーザでログインして。

 

f:id:ThisIsOne:20211021181828p:plain

 

リクエストを確認しても特にジューシーな情報はなくて。

 

f:id:ThisIsOne:20211021182135p:plain

 

メールアドレスを変更して。

 

f:id:ThisIsOne:20211021182204p:plain

 

リクエストを確認してみると。

レスポンスのほうで、権限らしきパラメータが見つかったので。

 

f:id:ThisIsOne:20211021182335p:plain

 

リピータで、リクエストのJSONにパラメータを追加して。

レスポンスのroleidが変更できるかを確認することに。

 "roleid": 2

 

roleidパラメータが変更されて、ステータスコード302がレスポンスで表示されたので。

Follow redirectionをクリックしてリダイレクト先へ。

 

f:id:ThisIsOne:20211021182519p:plain

 

Admin panelのリンクが表示されて。

 

f:id:ThisIsOne:20211021182545p:plain

 

ブラウザをリロードして、Admin panelをクリックすると。

 

f:id:ThisIsOne:20211021182612p:plain

 

Deleteのリンクが。

 

f:id:ThisIsOne:20211021182637p:plain

 

Best regards, (^^ゞ