Shikata Ga Nai

Private? There is no such things.

メソッドベースのアクセス制御を回避してみた

Hello there, ('ω')ノ

 

最近は、脆弱性診断のマニュアルをカテゴリごとにブラッシュアップしていて。

 

f:id:ThisIsOne:20201113182827p:plain

 

これまで経験したことのない脆弱性の確認方法があったので。

HTTPメソッドベースのアクセス制御の回避らしく。

まずは、1つ目のブラウザで下記の管理者でログインして。

次にユーザをアップグレードして。

 administrator/admin

 

f:id:ThisIsOne:20201113172740p:plain

 

その時のセッションIDは以下のとおりで。

 V85xiZeQ8KJoWeZEAPsi1ZoTzSLbCiSm

 

f:id:ThisIsOne:20201113181707p:plain

 

次にもう一つのプライベートブラウザを起動したら、今度はユーザIDでログインして。

 wiener/peter

 

そのときのセッションIDは、以下のとおりで。

 aqOxeWFjbUHFaX8lmkQqT3tdgiHJjpgR

 

f:id:ThisIsOne:20201113182148p:plain

 

再度、初めのブラウザでユーザのアップグレードを実行して。

 

f:id:ThisIsOne:20201113172740p:plain

 

今度は、インターセプトした際にユーザのセッションIDと置き換えてみると。

 

f:id:ThisIsOne:20201113182321p:plain

 

当然ながら、権限がなくてエラーが表示され。

 

f:id:ThisIsOne:20201113173513p:plain

 

さらに再度、もどって初めのブラウザでユーザのアップグレードを実行して。

インターセプトした際に、HTTPメソッドを変更して。

 

f:id:ThisIsOne:20201113182522p:plain

 

セッションIDもユーザのものに変更して。

さらに確認するためにアップグレードするユーザをwienerに変更して実行すると。

 

f:id:ThisIsOne:20201113182614p:plain

 

管理者認証を回避して、ユーザのアップグレードができた。

 

f:id:ThisIsOne:20201113181151p:plain

 

Best regards, (^^ゞ