Was bedeutet "* Passwort ------------" in einem Profil-Deadlock-Bericht?


10

In SQL Server 2008 R2 wurden mehrere Deadlock-Berichte mit dem Kennwort "* password ------------" im Eingabepuffer angezeigt. Es sieht aus wie ein Angriff, aber in diesem Fall kenne ich den Grund oder die Art des Angriffs nicht.

(Das Protokoll wurde von einem erfahrenen DBA erstellt, der viel Erfahrung hat und mir das sagte, nicht mir)

Weiß jemand was es ist? Vielen Dank!

Beispiel:

<?xml version="1.0"?>
<blocked-process>
  <process id="process879948" taskpriority="0" logused="0" waitresource="KEY: 5:72057602473263104 (1d69201d0ba6)" waittime="5185" ownerId="88389135" transactionname="SELECT" lasttranstarted="2012-09-25T18:11:02.507" XDES="0x1f7d2a590" lockMode="S" schedulerid="2" kpid="4552" status="suspended" spid="86" sbid="2" ecid="0" priority="0" trancount="0" lastbatchstarted="2012-09-25T18:11:02.507" lastbatchcompleted="2012-09-25T18:11:02.507" lastattention="2012-09-25T18:07:35.740" clientapp=".Net SqlClient Data Provider" hostname="IP-xxxxxxxx" hostpid="4868" loginname="sa" isolationlevel="read committed (2)" xactid="88389135" currentdb="1" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
    <executionStack>
      <frame line="14" stmtstart="374" stmtend="764" sqlhandle="0x03000500dac2967f208e4000a19d00000000000000000000"/>
      <frame line="1" stmtstart="44" sqlhandle="0x02000000632f7e131f79ec7312284505961e537a61b81be7"/>
      <frame line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"/>
    </executionStack>
    <inputbuf>

*password---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------   </inputbuf>
  </process>
</blocked-process>

Antworten:


12

Dies bedeutet lediglich, dass der Text der Anweisung die Zeichenfolge "Kennwort" enthielt und SQL Server "hilfreich" sie als Sicherheitsfunktion maskiert hat, um zu verhindern, dass Sie das Kennwort eines anderen Benutzers sehen.

Ich konnte dies wie folgt reproduzieren

CREATE TABLE T(X varchar(1000))

Verbindung 1

BEGIN TRAN

INSERT INTO T VALUES('password1') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password2'

ROLLBACK

Verbindung 2

BEGIN TRAN

INSERT INTO T VALUES('password2') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password1'

ROLLBACK

Rufen Sie dann das Diagramm aus der erweiterten Ereignisablaufverfolgung ab


2
@DiegoJancic - Ob dies ein Angriff ist oder nicht, hängt davon ab, ob Sie erwarten, dass legitime Abfragen diese Zeichenfolge enthalten oder nicht. Wenn Sie keine Objektnamen haben, die diese Zeichenfolge enthalten, könnte dies möglicherweise auf einen SQL-Injection-Versuch hinweisen.
Martin Smith

Danke @MartinSmith, in meinem Fall ist es kein Angriff, ich habe eine Benutzertabelle mit einem Passwortfeld. Danke noch einmal! =)
Diego Jancic

Gibt es eine Möglichkeit, diese Funktion zu deaktivieren?
jlb

1
@jlb - Nicht dass ich es wüsste. Sie können hier eine Anfrage stellen connect.microsoft.com/SQLServer/Feedback und vielleicht werden Sie herausfinden, dass es einen Weg gibt.
Martin Smith

@MartinSmith Habe in den MSDN-Foren nachgefragt und alle Antworten zeigen an, dass es keine Möglichkeit gibt, diese Funktionalität zu deaktivieren.
jlb
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.