프로파일 교착 상태 보고서에서 "* password ------------"는 무엇을 의미합니까?


10

SQL Server 2008 R2에서 입력 버퍼에 "* password ------------"가있는 교착 상태 보고서가 여러 개 있습니다. 공격처럼 보이지만이 경우 공격의 이유나 종류를 알 수 없습니다.

(로그는 전문가 DBA에 의해 생성되었으며 많은 경험을 가지고 있으며 나에게 말하지는 않았습니다)

누구나 그것이 무엇인지 알고 있습니까? 감사!

예:

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

답변:


12

이는 문장의 텍스트에 "password"라는 문자열이 포함되어 있고 SQL Server가 "helpfully"로 다른 사람의 암호를 볼 수 없도록 보안 기능으로 마스킹했음을 의미합니다.

이것을 다음과 같이 재현 할 수있었습니다

CREATE TABLE T(X varchar(1000))

연결 1

BEGIN TRAN

INSERT INTO T VALUES('password1') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password2'

ROLLBACK

연결 2

BEGIN TRAN

INSERT INTO T VALUES('password2') 

WAITFOR DELAY '00:01:00'

SELECT * FROM T WHERE X = 'password1'

ROLLBACK

그런 다음 확장 이벤트 추적에서 그래프 검색


2
@DiegoJancic-이것이 공격인지 아닌지는 합법적 인 쿼리 에이 문자열이 포함 될지 여부에 달려 있습니다. 이 문자열을 포함하는 개체 이름이 없으면 SQL 삽입 시도를 나타낼 수 있습니다.
Martin Smith

감사합니다 @MartinSmith, 제 경우에는 공격이 아니며 암호 필드가있는 users 테이블이 있습니다. 다시 감사합니다! =)
Diego Jancic

이 기능을 비활성화하는 방법이 있습니까?
jlb

1
@jlb-잘 모르겠습니다. connect.microsoft.com/SQLServer/Feedback 에서 요청을 제기하면 방법이있을 수 있습니다.
Martin Smith

@MartinSmith MSDN 포럼에서 질문 한 결과 모든 회신에이 기능을 비활성화 할 수있는 방법이 없음을 나타냅니다.
jlb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.