มีวิธีใดบ้างในการดึงข้อมูลรับรองที่ TortoiseSVN บันทึกไว้
มีวิธีใดบ้างในการดึงข้อมูลรับรองที่ TortoiseSVN บันทึกไว้
คำตอบ:
คำตอบสั้น ๆ : คุณสามารถใช้TortoiseSVN Password Decrypterเพื่อแสดงข้อมูลประจำตัวที่แคชไว้รวมถึงรหัสผ่านได้อย่างง่ายดาย
คำตอบแบบยาว: นี่คือวิธีการทำงานของเครื่องมือ
%APPDATA%\Subversion\auth\
ข้อมูลประจำตัวที่มีการบันทึกไว้ในไดเรกทอรีย่อยของ รายการจากคำตอบก่อนหน้านี้คือ:
svn.simple
มีข้อมูลประจำตัวสำหรับการพิสูจน์ตัวตนพื้นฐาน (ชื่อผู้ใช้ / รหัสผ่าน)svn.ssl.server
มีใบรับรองเซิร์ฟเวอร์ SSLsvn.username
มีข้อมูลรับรองสำหรับการตรวจสอบชื่อผู้ใช้เท่านั้น (ไม่จำเป็นต้องใช้รหัสผ่าน)ไดเร็กทอรีแรกเป็นหนึ่งในสิ่งที่น่าสนใจ ดูเหมือนว่าจะมีไฟล์ที่มีชื่อเหมือน GUID หนึ่งสำหรับแต่ละที่เก็บที่คุณได้บันทึกข้อมูลรับรอง
รหัสผ่านในไฟล์เหล่านี้จะถูกเข้ารหัสโดยWindows API ที่การป้องกันข้อมูล เครื่องมือด้านบนใช้โค้ดตัวอย่างจากObviexเพื่อเชื่อมต่อกับ API นี้และทำการถอดรหัส
เพื่อให้สามารถใช้งานได้คุณต้องมีสิทธิ์เข้าถึงบัญชีผู้ใช้ Windows เดียวกันกับที่คุณใช้งานอยู่เมื่อคุณทำเครื่องหมายที่ช่องทำเครื่องหมาย "บันทึกการรับรองความถูกต้อง" เนื่องจาก Windows Data Protection API ใช้คีย์เข้ารหัสที่เชื่อมโยงกับบัญชี Windows ของคุณ ถ้าคุณสูญเสียบัญชีนี้ (หรือผมเชื่อว่าถ้าผู้ดูแลระบบรีเซ็ตรหัสผ่านของคุณ) แล้วคุณจะไม่สามารถถอดรหัสรหัสผ่าน (ยกเว้นอาจจะโดยการใช้กำลังดุร้าย / a เครื่องมือของบุคคลที่สาม ) การมีบัญชี Windows ใหม่ที่มีชื่อผู้ใช้ / รหัสผ่านเดียวกัน (หรืออาจเป็น SID) นั้นไม่เพียงพอ
จากข้อมูลด้านล่างดูเหมือนว่าคุณสามารถถอดรหัสได้ในเครื่องในบางรูปแบบ ...
UPDATE:คำตอบที่ชัดเจนจากชุมชน TortiseSVN
เมื่อส่งผ่านสายที่เข้ารหัสระบบจะเข้ารหัสโดยใช้การจับมือและ / หรือคีย์ที่ตกลงกันในขณะเชื่อมต่อ
เมื่อจัดเก็บ / อ่านในเครื่องจะเข้ารหัส / ถอดรหัสผ่าน Windows Crypto API ซึ่งใช้คีย์ที่เชื่อมโยงกับบัญชี Windows ของคุณ
เซิร์ฟเวอร์ไม่สามารถถอดรหัสสำเนาที่เข้ารหัสในเครื่องได้เนื่องจากคีย์อยู่ภายในบัญชีของคุณ
ดังนั้นเมื่อคุณเชื่อมต่อ (สมมติว่าผ่าน HTTPS) ไคลเอนต์ของคุณจะได้รับข้อมูลรับรองที่ถอดรหัสผ่าน Windows API ที่เหมาะสมจากนั้นรวมไว้ในการส่ง HTTPS HTTPS เข้ารหัสการสื่อสารทั้งหมดระหว่างไคลเอนต์และเซิร์ฟเวอร์โดยใช้ใบรับรอง SSL ไม่ใช่แค่ข้อมูลรับรอง