概要
今回の記事ではWebアプリの一般的な脆弱性を利用してジュースを販売するWebアプリを攻撃します。
今回、「教科書」とは別に次のページを参考にさせていただきました。
TryHackMeで行うハッキング
-
Injectionによるアカウント乗っ取り
SQLインジェクションを使い、パスワードを指定しなくてもログインできる方法で攻撃しています。
今回の問題はメールアドレスで使えない文字は入力させない処理があれば良かったのでは? と思います。 -
認証不正によるアカウント乗っ取り
Burp Suite というツールを使いBrute force Attack を使ってパスワードを入手しています。
また特定ユーザーのパスワードを再設定する方法も説明しています。
ログインの試行回数を制限、答えを容易に推測できる可能性があるので「秘密の質問」でパスワードをリセットできるようにしないなどの対策があると思われます。 -
機密文書アクセス
機密データを公開フォルダに保存することで機密データが入手される攻撃を説明しています。
機密データは公開しないというのが対策かと思います。 -
アクセス権限の脆弱性を利用した権限乗っ取り
URLを直接指定してアクセスできるべきでないページにアクセスしたり、Burp Suiteのproxy機能を利用し、GETメソッドのパラメータを変更することで他のユーザーの情報を参照するなどの攻撃を説明しています。
対策としてはユーザーごとに利用できるページを制限したり、リクエストのパラメータチェックなどを行う方法があると思われます。 -
XSSによる攻撃
XSS(Cross Site Scripting)を利用した攻撃を説明しています。
入力内容をチェックしてスクリプトを排除するなどの対策が考えられます。
まとめ
基本、ページに書かれている内容に従っていれば正解が出せます。が、本格的なWebアプリを作ったことがないので、正解は出せたものの内容が理解できていないという問題が...(特にXSS)
この辺りは、おいおい学習していきます。