“ * รหัสผ่าน ------------” หมายความว่าอย่างไรในรายงานการหยุดชะงักของโปรไฟล์


10

ใน SQL Server 2008 R2 ฉันได้รับรายงานการหยุดชะงักหลายครั้งที่มี "* รหัสผ่าน ------------" ในบัฟเฟอร์อินพุต ดูเหมือนว่าจะเป็นการโจมตี แต่ในกรณีนั้นฉันไม่รู้เหตุผลหรือชนิดของการโจมตี

(บันทึกถูกสร้างขึ้นโดย 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

หมายความว่าข้อความของคำสั่งประกอบด้วยสตริง "รหัสผ่าน" และ SQL Server "อย่างเป็นประโยชน์" ได้ปิดบังเป็นคุณลักษณะด้านความปลอดภัยเพื่อป้องกันไม่ให้คุณเห็นรหัสผ่านของผู้อื่น

ฉันสามารถทำสิ่งนี้ซ้ำได้ดังนี้

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 ในกรณีของฉันมันไม่ได้โจมตีฉันมีตารางผู้ใช้ที่มีฟิลด์รหัสผ่าน ขอบคุณอีกครั้ง! =)
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.