2016-04-06 16 views
-1

";"の挿入をブロックすると、入力からSQLインジェクションを行うことは可能ですか?キャラクター?入力からのSQLインジェクション

+1

あなたはパラメータ化クエリ/ストアドプロシージャかを使用する場合、それはすべての依存... – Alex

答えて

0

セミコロンを無視するだけでは避けることはできません。 データベースによって、コマンドセパレータが異なります。たとえば、SQL Server上で "GO"を使用することができます。

パラメータ化されたクエリを使用して注入を回避します。文字列連結の問題を回避するために魔法のトリックをやり始めないでください。パラメータを使用します。

0

はい、サブクエリを使用します。

あなたが適切な予防措置を講じていない場合は、ブロック ';'キャラクターは最終的に何も修正しません。

3

もちろん、その可能性は、SQL injectionを使用する101の異なる方法があります。例えば

:これは、バックエンドのデータベースを知っている攻撃者を助ける

SELECT id, name FROM users WHERE id=1 UNION SELECT 1, version() limit 1,1 

:追加OR 1=1あなたWHERE句を行います常にTRUE

もう一つの方法は、このようなUNIONを使用することです。我々が必要な注入を避けるために、クエリにいくつかの本当の条件を注入するために、その可能性はもちろん

Here you can read about preventing SQL Injection.

This is a document that explain all about SQL injection.

0

はい:

についてSQL Injectionを説明し、このリンクにあなたreffer私をしてみましょうpdoを使う。

SELECT * FROM Users WHERE UserId = 105 or 1=1 
関連する問題