2012-02-16 11 views
0

複数のステートメントを無効にするWebサイトがPHPで書かれているとします。クエリが次のようになっている場合:複数のステートメントを挿入する方法は無効ですか?

Select id From TableX Where num = >userInput< 

SQLインジェクションによってレコードを更新または削除することはできませんか? union互換でないかもしれないtableBのような別のテーブルからコンテンツを取得することは可能ですか?

ありがとうございます。 GetCharCodeSomeStringFieldCharPositionに文字のコードを返しますUSERINPUT = -1 union select GetCharCode(SomeStringField, CharPosition) from SomeTable where SomeCondition

答えて

0

は、あなたが可能CharPosition SをループでSomeStringFieldの値を取得するのに役立ち、ひいてはバイパスします(あなたはそこにいくつかのDB固有のコードを記述する必要があります) tableBの問題は "union-compatible"ではありません。

+0

文字コードではどういう意味ですか?さらに、以前と同じ数の列を返すのではないでしょうか? 2つのテーブルはどのようにして結合互換になりましたか? – FiniteA

+0

@FiniteA、私はASCIIコードを意味します。興味のあるフィールドの最初の文字を取得し( 'CharPosition'を1に置き換えて)、次に2番目の文字を取得することができます。 – penartur

+0

これは、すべての列の最初の文字を1つの文字列に結合することを意味しますか?クエリ "Select id from ..."の1つの列に一致する?次に、クエリーの最初の部分に複数の列がある場合、「Select id1、id2 from ...」と入力すると、このトリックをどのように適用できるのでしょうか。 – FiniteA

0

"注入方法"、 "侵入方法"、 "情報を盗む方法"などの質問が不思議です。

+0

アプリケーションが危険にさらされているポイントを知りたい人もいます。 – penartur

+0

彼らは確かに彼らのポイントを知っている。その点はその質問に明示されている。 –