2010-11-23 12 views
6

シンプルなSQLインジェクション攻撃で、できるだけ少数の文字で入力します。 SQLインジェクション攻撃を防ぐため、インプットを特定のサイズに制限するのではなく、もっとも簡単な攻撃を実行するために必要な文字の数が本当に不思議です。可能な限り小さなSQLインジェクション攻撃文字シーケンスは何ですか?

最後に、最小の表名が4文字(「ユーザー」など)であるとします。でそれを考慮してください

答えて

10

1文字は、あなたがコントロールの上に持っている最小単位です。問題は、あなたがやっていることに大きく依存しています。あなたがサイトからプロファイルを削除するためのインタフェースを扱っている、とあなたの代わりに自分の名前の「%」を送信する場合、例えば、:

"Delete from Users where name like '"+username+"'" 

その後、%にユーザー名を設定すると、すべてのユーザーを削除します。

+5

「好き」を使用する正気なサイトは何ですか? – SLaks

+9

SQLインジェクション攻撃を許可する正常なサイトは何ですか? – david

+0

何もありませんが、どのような正常なサイトでデータベースの入力を害さないでしょうか? – UnkwnTech

0

を文字列リテラルの中に注入すると、クエリがこの

"Select * from user where userid = " + myVar 

1; delete from user; 
+0

「truncate user」はどうですか? – david

6

のように生成されたとします。

';drop database;-- 
+0

もっと現実的なユースケースなので、これが私が求めていた答えだと思います。しかし、以下の答えは、現実的でないかもしれないが、短い答え(と創造的)です。ご回答有難うございます。 – coderintherye

関連する問題