5

最近、NV32ts の User-Agent を使用して、自分の Web サイトで多くの攻撃を受けています。

これらはすべて、クエリ文字列変数に対する次のインジェクション攻撃のバリエーションです (99999 は有効なクエリ文字列値を表し、攻撃は値に追加されます)。

(便宜上、次の攻撃を URL デコードしました)

999999 And char(124)+(Select Cast(Count(1) as varchar(8000))+char(124) From [sysobjects] Where 1=1)>0

また

999999' And char(124)+(Select Cast(Count(1) as varchar(8000))+char(124) From [sysobjects] Where 1=1)>0 and ''='

また

999999' And char(124)+(Select Cast(Count(1) as varchar(8000))+char(124) From [sysobjects] Where 1=1)>0 and ''='

sysobjects は Sql Server マスター データベースと関係があると思いますが、何を達成しようとしているのかわかりません。

編集: 私は今、2 つの異なるユーザー エージェントでこれらの同じことを見てきました:

  • NV32ts
  • Mozilla/4.0 (互換性; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5. 21022 ; WWTClient2 )
4

3 に答える 3

5

私はこれを 2 つの方法で読みましたが、どちらが 100% 確実かはわかりません。

  1. この時点で、彼らはただ釣りをしています。このスクリプトは、オープン インジェクションの脆弱性と、SQL サーバーの sysobjects テーブルへのアクセスの両方を持つ Web サイトを探しています。そのテーブルは、データベース内のすべてのテーブルと列 (およびそれらのタイプ) のリストを提供します。ページがエラーをスローするのではなく、実際に結果を返す場合、スクリプトはそれをログに記録し、将来のより詳細な攻撃に備えます。最終的には、データベース全体のすべてのテーブルのすべての行のすべてのテキスト (varchar、nvarchar、char、nchar、text) 列に悪意のある JavaScript コードが追加されることになります。これは可能性が高いオプションだと思います。
  2. 常に true を返す式を作成し、おそらく認証システムをバイパスできるようにします。sysobjects の参照によって必要以上に複雑になるため、これはあまりありそうにありません。また、:AndではなくOr.
于 2009-01-12T19:52:30.490 に答える
0

HP には、自分のサイト (または任意のサイト) に sdrawlr と呼ばれる SQL インジェクションの脆弱性があるかどうかを確認するために実行できる無料のツールがあります。ここからダウンロードできます:

于 2009-05-31T06:38:11.567 に答える