5

私はApacheサーバーのログを見ていますが、ほとんどの場合、誰かがサーバーの脆弱性をスキャンしていると、クエリ文字列にこれが表示されます...

+--+

以下のさまざまな例のように...

.
.
.
/includes/usercp_register.php?phpbb_root_path=1'+--+?
/includes/profilcp_constants.php?module_root_path=1'+--+?
/includes/functions_user_viewed_posts.php?phpbb_root_path=1'+--+?
/includes/orderSuccess.inc.php?&glob=1&cart_order_id=1&glob[rootDir]=1'+--+
.
.
.

彼らが一般的な脆弱性をスキャンしていることは知っていますが、+--+ の目的は何でしょうか?

私はfail2banを使用してフィルタリングできるものとしてそれを使用することを考えています

4

1 に答える 1

6

クエリ文字列では、プラス記号はスペースの簡略表記です。URL ではスペースを使用できないため、パーセント エンコード ( %20) するか、URL のクエリ文字列部分のみをプラスで表す必要があります。(結果として、これは、実際のプラスはクエリ文字列でパーセント エンコードする必要がありますが、URL の他の場所ではエンコードしないことを意味します。)

この場合、攻撃者は単純なSQL インジェクションを試みています。は'引用符 ( ') であり、+URL はスペースにデコードされます。したがって、最終的には次のようになります。

phpbb_root_path=1' -- 

(--は SQL コメントです。)

+--+URL でのリクエストの禁止には注意してください。これは正当な入力である可能性があります -- つまり、https://www.google.com/search?q=dash+ --+separated

于 2013-06-06T18:45:41.910 に答える