Cosa significa "* password ------------" in un report di deadlock del profilo?


10

In SQL Server 2008 R2, ho ricevuto diversi report di deadlock con "* password ------------" nel buffer di input. Sembra un attacco ma in quel caso non conosco la ragione o il tipo di attacco.

(il registro è stato generato da un DBA esperto che ha molta esperienza e me lo ha detto, non io)

Qualcuno sa di cosa si tratta? Grazie!

Esempio:

<?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>

Risposte:


12

Significa solo che il testo dell'istruzione conteneva la stringa "password" e che SQL Server "utile" l'ha mascherato come una funzione di sicurezza per impedirti di vedere la password di qualcun altro.

Sono stato in grado di riprodurre questo come segue

CREATE TABLE T(X varchar(1000))

Connessione 1

BEGIN TRAN

INSERT INTO T VALUES('password1') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password2'

ROLLBACK

Connessione 2

BEGIN TRAN

INSERT INTO T VALUES('password2') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password1'

ROLLBACK

Quindi recuperare il grafico dalla traccia degli eventi estesi


2
@DiegoJancic: se si tratta di un attacco o meno dipende se ci si aspetta che le query legittime contengano o meno questa stringa. Se non hai nomi di oggetti contenenti questa stringa, forse potrebbe indicare un tentativo di iniezione SQL.
Martin Smith,

Grazie @MartinSmith, nel mio caso non è un attacco, ho una tabella utenti con un campo password. Grazie ancora! =)
Diego Jancic,

C'è un modo per disabilitare questa funzione?
jlb,

1
@jlb - Non che ne sia a conoscenza. È possibile inoltrare una richiesta qui connect.microsoft.com/SQLServer/Feedback e forse scoprirai che esiste un modo.
Martin Smith,

@MartinSmith Hanno chiesto nei forum MSDN e tutte le risposte indicano che non c'è modo di disabilitare questa funzionalità.
jlb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.