Web Security Academy
MySQLとMicrosoftでのデータベースの種類とバージョンの照会 前提:「カテゴリー」パラメータにSQLインジェクションが存在する。UNIONが利用可能 ゴール:データベースのバージョン文字列を表示する 1.「Gifts」カテゴリーを選択した際の、デフォルトリクエ…
UNION attack: 単一カラムから複数値を取得 前提:「カテゴリー」パラメータにSQLインジェクションが存在する。 データベースには users という別のテーブルが存在し、username と password という列が含まれている。 ゴール:全ユーザー名とパスワードを取…
UNION attack: 他テーブルからのデータ取得 前提:「カテゴリー」パラメータにSQLインジェクションが存在する。 ゴール:全ユーザー名とパスワードを取得後、管理者ユーザとしてログインする。 1.「Pets」カテゴリーを選択した際の、デフォルトリクエスト・…
UNION attack: テキストを含む列の発見 前提:「カテゴリー」パラメータにSQLインジェクションが存在する。 ゴール:Webページ上に所定の文字列を出力する。 「アクセサリー」カテゴリーを選択した際の、デフォルトリクエスト・レスポンス GET /filter?categ…
UNION attack: クエリによって返される列の数を決定する 前提:商品カテゴリにSQLインジェクションが存在する クエリの結果はアプリケーションのレスポンスで返されるため UNIONが使える。 デフォルトリクエスト・レスポンス GET /filter?category=Accessori…
ログイン機能のバイパス 前提:administrator というユーザ名が存在することは分かっている。 検証1:Username=administrator, Password=password エラー:Invalid username or password. 検証2:Username=administrator'--, Password=`` 空値 未入力に対…
WHERE 句を使った SQL インジェクション Gifts カテゴリーを選択=全3商品 この時のSQLクエリは次の通り。 SELECT * FROM products WHERE category = 'Gifts' AND released = 1 シングルクォート1つ追加 GET /filter?category=Gifts%27 (今回の例ではURL…
26 of 35 ラボ https://portswigger.net/web-security/learning-paths/file-upload-vulnerabilities/flawed-validation-of-the-file-s-contents/file-upload/lab-file-upload-remote-code-execution-via-polyglot-web-shell-upload 1. デフォルトリクエスト …
ブラックリスト・バイパスによる Web shell のアップロード。23 of 35 ラボ https://portswigger.net/web-security/learning-paths/file-upload-vulnerabilities/insufficient-blacklisting-of-dangerous-file-types/file-upload/lab-file-upload-web-shell-…
ブラックリスト・バイパスによる Web shell のアップロード。20 of 35 ラボ https://portswigger.net/web-security/learning-paths/file-upload-vulnerabilities/insufficient-blacklisting-of-dangerous-file-types/file-upload/lab-file-upload-web-shell-…
パストラバーサルによる Web shell のアップロード。16 of 35 ラボ https://portswigger.net/web-security/learning-paths/file-upload-vulnerabilities/preventing-file-execution-in-user-accessible-directories/file-upload/lab-file-upload-web-shell-u…
Client-side topics Cross-site scripting (XSS) 30 Labs Cross-site request forgery (CSRF) 0 /49, 12 Labs Cross-origin resource sharing (CORS) 0 / 21, 3 Labs Clickjacking 15 /19, 5 Labs DOM-based vulnerabilities 7 Labs WebSockets 19 / 19, 3 L…