— 入力フォームに潜む危険を体験しよう —
▶︎ ここは、君のサイトを守るための訓練場。
▶︎ 目の前にあるのは、よくあるログインフォーム。だが、それがまさに敵の侵入口だ。
▶︎ 危険なコードが入力されると、
エラーメッセージが発動する…!(ハッキングの兆しだ!)
▶︎ 攻撃コードを入力して、
敵の手口と潜むリスクを暴け!
▶︎ 君のミッションは:
⚔️ 敵を知り、 守る力を手に入れろ! ⚔️
▶︎ さあ、挑戦開始だ!
⚠️ 注意!
このミッションは学習目的専用。
現実世界での悪用は禁止だ!
IDhack_me
パスワードloginok
を入力し、ログイン突破できるか確かめてみよう!
<script>alert('XSS')</script>
の攻撃コードを入力し、ログイン突破できるか確かめてみよう!
<script> で囲まれたコードは、JavaScript というプログラムを動かすコードです。
これが悪用されると、あなたのサイトに来た人が 悪意のあるサイトに強制移動 させられたり、偽サイトに誘導されてフィッシング詐欺 に遭う危険も!
あなたのサイトが、悪徳エロサイトやフィッシングページへの誘導に利用されるかも!?
' OR '1'='1
の攻撃コードを入力し、ログイン突破できるか確かめてみよう!
' OR '1'='1
は、ログイン認証の仕組みをすり抜けるための攻撃コードです。
入力された文字列をそのままSQL文に組み込んでしまうと、本来照合されるべきIDやパスワードが無視され、
誰でもログインできてしまうという深刻な事態に!
顧客情報が流出し、サイト運営の信頼はゼロに、、、
これらの対策ができていないとーー
サイトの信用は一瞬で失われ、ユーザーは離れ、最悪の場合は裁判沙汰や賠償問題に発展します。
📚 ターゲット:
データベース
🛠️ 攻撃内容:
入力欄に不正なSQL文(データベースに命令をする文)を入れて、データを盗んだり壊したりする
🛡️ 防止策:
入力チェック(サニタイズ)
📚 ターゲット:
Webページを見ている人
🛠️ 攻撃内容:
悪いスクリプトをページに埋め込み、ユーザーのブラウザで勝手に動かす
🛡️ 防止策:
出力エスケープ(無害化)
任意の攻撃コードを作ってフォームに入力してみよう!
手法 | コード例 | 説明 |
---|---|---|
SQLi | ' |
文字列を強制終了し、SQL文を壊す |
" |
上と同様、ダブルクォート版 | |
; |
新しいSQL文を挿入できる | |
-- |
後続のSQLコードをコメントアウトして無効化 | |
= |
値を比較してログイン突破を狙う | |
' OR '1'='1 |
常にtrueになる条件を作りログイン突破 | |
XSS | <script>alert('XSS')</script> |
スクリプトを実行、アラートを表示 |
<img src="x" onerror="alert(1)"> |
画像エラー時にスクリプトを実行 | |
onload= |
HTML要素読み込み時にスクリプト実行 | |
"> |
HTML属性を切り上げスクリプト挿入 |