以下の内容はhttps://cysec148.hatenablog.com/entry/2025/07/19/163548より取得しました。


第21回 SQLインジェクション:パラメーター攻撃実践入門

Hello there, ('ω')ノ

SQLインジェクションとは?

SQLインジェクションとは:

  • 入力値を悪用して
  • データベースに対して意図しない命令を実行させる攻撃

たとえば「社員名を検索」する欄に悪意ある入力をすると、本来見えない社員情報まで取得できてしまう、という状態です。


よく発生する場所

  • ログインフォーム
  • 検索機能
  • データ一覧ページ
  • URLパラメーターにidやnameが含まれる場合

基本的なテスト文字列例

まずは入力欄やURLパラメーターに以下を試してみます:

  • '(シングルクォート)
  • ' OR '1'='1
  • " OR "1"="1
  • admin' --
  • %27(URLエンコード版)

✅ 反応がある場合:

  • 画面が真っ白になる
  • SQLエラーらしきメッセージが出る 例:You have an error in your SQL syntax

実際のチェック手順① URLパラメーターで確認

  1. ブラウザで対象ページを開く
  2. URL内のidやsearchパラメーターを次のように変更:

例:

https://intra.example.co.jp/user?id=1https://intra.example.co.jp/user?id=1'

  1. ページの反応を確認

✅ 正常:エラーが表示されず通常動作 ✅ 異常:エラーメッセージや予期しない動作


実際のチェック手順② フォーム入力で確認

  • ログイン画面
  • 検索画面
  • お問い合わせフォーム

これらの入力欄に ' OR '1'='1 などを入力して、結果がどうなるか観察します。


チェックリストまとめ

  • [ ] URLパラメーターにシングルクォートを入れて確認したか?
  • [ ] フォーム入力欄でSQLi用文字列を試したか?
  • [ ] エラーメッセージや挙動がおかしくならないか確認したか?
  • [ ] ログインフォームでも同様に試したか?

注意事項

  • 本番環境では必ず事前許可を取ること
  • ログやデータに影響が出る場合があるので慎重に
  • 本番環境よりテスト環境での実施を推奨

まとめ

  • SQLインジェクションは今も現役の脆弱性
  • URLやフォームの入力値を書き換えるだけで簡単に発見できる
  • シングルクォート+エラー確認が基本的な流れ

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/07/19/163548より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14