SQLインジェクション
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*SQLインジェクション とは [#e0c86690]
**名称 [#c1407e07]
-SQL Injection
**概要 [#t43de739]
-WebページのフォームにSQLを含めた不正な入力データを与える...
-CWE-89
*SQLインジェクションの分類 [#j86c9ead]
-エラーメッセージを利用
--SQLの構文エラー等を発生させる原因として、SQLの値を指定...
-和集合(union select)を利用
--実行されるSQLに和集合で漏洩対象のデータを抽出するselect...
-認証を回避
--認証で使われるSQLの抽出条件の式を成立(true)する文字列...
--SQLの抽出条件の式を成立(true)にする差し込み文字列
' or '1'='1
-終了記号(;)を利用
--実行されるSQLの抽出条件に、差し込みたい任意のSQLの直前...
-OSコマンドを実行
--終了記号(;)とOSコマンドを付けた文字列を差し込むことで...
--DBエンジンによって、当操作が実行できるものとできないも...
*対策 [#e1b37fca]
-バインド機構を使う
--SQLの変数部分にプレースホルダを使う(プリペアードステー...
--プレースホルダ:「?」などの特殊文字。
--SQLの実行時にプレースホルダに値を割り当てて処理する方法
-バインド機構を使わない場合は、入力値をエスケープ処理する。
--サニタイジング([[サニタイズ]])
--SQLで特別な意味のある文字([[メタキャラクタ]])をエスケー...
---「'」->「''」
---「;」->「\;」
---「%」->「\%」
---「+」->「\+」
-詳細なエラーメッセージをブラウザに送らない
--データベースの種類やエラーコード、エラー原因などサーバ...
-データベースへのアクセス権限が最小限となるよう設定する
--アカウントが最小限のクエリしか発行できないようにする
-[[WAF]]を使う
*ツール [#p55023a9]
***sqlmap [#c9908613]
-https://sqlmap.org/
-https://github.com/sqlmapproject/sqlmap
*SQLインジェクション事件 [#g399c4c3]
-セキュリティ対策が不十分であることでシステム開発業者が債...
-東京地判平成26年1月23日判時2221号71頁
*関連サイト [#z7368e49]
-CWE-89: Improper Neutralization of Special Elements used...
https://cwe.mitre.org/data/definitions/89.html
-CWE-89 SQLインジェクション [[JVN]]~
https://jvndb.jvn.jp/ja/cwe/CWE-89.html
-The Lord of the SQLI~
SQLI injection の演習問題サイト~
https://los.rubiya.kr/
*関連用語 [#o51d97b0]
-[[インジェクション]]
-[[脆弱性]]
-[[セキュリティ]]
終了行:
*SQLインジェクション とは [#e0c86690]
**名称 [#c1407e07]
-SQL Injection
**概要 [#t43de739]
-WebページのフォームにSQLを含めた不正な入力データを与える...
-CWE-89
*SQLインジェクションの分類 [#j86c9ead]
-エラーメッセージを利用
--SQLの構文エラー等を発生させる原因として、SQLの値を指定...
-和集合(union select)を利用
--実行されるSQLに和集合で漏洩対象のデータを抽出するselect...
-認証を回避
--認証で使われるSQLの抽出条件の式を成立(true)する文字列...
--SQLの抽出条件の式を成立(true)にする差し込み文字列
' or '1'='1
-終了記号(;)を利用
--実行されるSQLの抽出条件に、差し込みたい任意のSQLの直前...
-OSコマンドを実行
--終了記号(;)とOSコマンドを付けた文字列を差し込むことで...
--DBエンジンによって、当操作が実行できるものとできないも...
*対策 [#e1b37fca]
-バインド機構を使う
--SQLの変数部分にプレースホルダを使う(プリペアードステー...
--プレースホルダ:「?」などの特殊文字。
--SQLの実行時にプレースホルダに値を割り当てて処理する方法
-バインド機構を使わない場合は、入力値をエスケープ処理する。
--サニタイジング([[サニタイズ]])
--SQLで特別な意味のある文字([[メタキャラクタ]])をエスケー...
---「'」->「''」
---「;」->「\;」
---「%」->「\%」
---「+」->「\+」
-詳細なエラーメッセージをブラウザに送らない
--データベースの種類やエラーコード、エラー原因などサーバ...
-データベースへのアクセス権限が最小限となるよう設定する
--アカウントが最小限のクエリしか発行できないようにする
-[[WAF]]を使う
*ツール [#p55023a9]
***sqlmap [#c9908613]
-https://sqlmap.org/
-https://github.com/sqlmapproject/sqlmap
*SQLインジェクション事件 [#g399c4c3]
-セキュリティ対策が不十分であることでシステム開発業者が債...
-東京地判平成26年1月23日判時2221号71頁
*関連サイト [#z7368e49]
-CWE-89: Improper Neutralization of Special Elements used...
https://cwe.mitre.org/data/definitions/89.html
-CWE-89 SQLインジェクション [[JVN]]~
https://jvndb.jvn.jp/ja/cwe/CWE-89.html
-The Lord of the SQLI~
SQLI injection の演習問題サイト~
https://los.rubiya.kr/
*関連用語 [#o51d97b0]
-[[インジェクション]]
-[[脆弱性]]
-[[セキュリティ]]
ページ名: