1

ハッキングまたは SQL インジェクションが行われたと思われる SQL Server で ASP.NET MVC アプリを実行しています。データベースは毎日大量の新しい偽のアカウントを作成し続けています。私はまだ問題を完全には特定していませんが、以前は SQL インジェクションの影響を受けないと思っていたストアド プロシージャ コードが心配です。

以下は、私のストアド プロシージャ コードの 3 つの短縮バージョンです。

新しいユーザーの作成:

CREATE PROCEDURE [dbo].[NEWUSER]
@Name varchar(50),
@Email varchar(70),
@Language varchar(20)
AS

SET NOCOUNT ON;

INSERT INTO dbo.User (name, email, language)
VALUES (@Name, @Email, @Language);

SET NOCOUNT OFF;

INSERT INTO dbo.Names (name)
VALUES (@Name);

SELECT @@IDENTITY

ユーザーの選択:

CREATE PROCEDURE [dbo].[GETUSER] 
@Name varchar(33)
AS

SET NOCOUNT ON;

SELECT name, email, language FROM dbo.User WHERE name = @Name;

ユーザーの更新:

CREATE PROCEDURE [dbo].[EDITUSER] 
@Name varchar(33),
@Email varchar(70)
AS

SET NOCOUNT ON;

UPDATE dbo.User SET email = @Email WHERE name = @Name;

これを修正するのを手伝ってください、本当に感謝しています。

私の ASP.NET コード: http://www.cindro.com/all/database.txt

4

1 に答える 1

2

ストアド プロシージャは正常に見えます。アプリケーションコードをどこかで調べてみます。

  1. フォームにキャプチャがありますか?
  2. サーバー側の検証を実行していますか?
  3. リクエストの送信元のIPアドレスを確認していますか?
  4. リクエストが実際のブラウザからのものか、スクリプト (Request.Browser.Cookies Request.Browser.Crawler) からのものかを確認しますか?
于 2013-02-17T09:12:44.380 に答える