こんな怪しい入力にしたらどうだろう。]Webサーバの内部では、こんな感じに。'A'やべぇwwパスワード違っててもログインできる。いうか、UNION句とか入れるとUPDATEやDELETEまで出来るんじゃね?ヤバくね?これがSQLインジェクションでごわす。似たような理屈でOSコマンドインジェクションもある。根本的には、Webサーバのプログラムソースを修正すべきプレースホルダ(Bind変数)の使用PreparedStatementの使用(Java)入力値のチェック(Validation)特別な意味を持つ記号のエスケープ処理(Sanitize)でも、すぐ修正って訳にはいかないよね。現状のサービスも止めるわけにはいかないし。ウィルスでもないし、OSI7階層モデルで言うところのアプリケーション層にあるので、ファイアウォールも役に立たない。プロコトル的にも正しい。いう文字列のパスワードを禁止してなかったりして。WAFならOSI7階層モデルのアプリケーション層にあるデータを見て(ただしHTTPに限る)、通信を制御できます。不正なパターンを検出。シグネチャによるパターンマッチング。positive)...異常なパケットを正常とみなしてしまうこと。正しいと定義した通信のみ通す。negative)...正常なパケットを異常とみなしてしまうこと。不正なパターンを検出。シグネチャによるパターンマッチング。positive)...異常なパケットを正常とみなしてしまうこと。正しいと定義した通信のみ通す。negative)...正常なパケットを異常とみなしてしまうこと。OSSでModSecurityがあるWAFは、HTTPしか見れない(HTTPSは?)¶HTTPSでの通信は暗号化されているので、途中にWAFを設置してもチェックできない。WAFでSSLを終端にしたりする。