แยกรหัสผ่านที่บันทึกไว้ของ TortoiseSVN


คำตอบ:


226

คำตอบสั้น ๆ : คุณสามารถใช้TortoiseSVN Password Decrypterเพื่อแสดงข้อมูลประจำตัวที่แคชไว้รวมถึงรหัสผ่านได้อย่างง่ายดาย

คำตอบแบบยาว: นี่คือวิธีการทำงานของเครื่องมือ

%APPDATA%\Subversion\auth\ข้อมูลประจำตัวที่มีการบันทึกไว้ในไดเรกทอรีย่อยของ รายการจากคำตอบก่อนหน้านี้คือ:

  • svn.simple มีข้อมูลประจำตัวสำหรับการพิสูจน์ตัวตนพื้นฐาน (ชื่อผู้ใช้ / รหัสผ่าน)
  • svn.ssl.server มีใบรับรองเซิร์ฟเวอร์ SSL
  • svn.username มีข้อมูลรับรองสำหรับการตรวจสอบชื่อผู้ใช้เท่านั้น (ไม่จำเป็นต้องใช้รหัสผ่าน)

ไดเร็กทอรีแรกเป็นหนึ่งในสิ่งที่น่าสนใจ ดูเหมือนว่าจะมีไฟล์ที่มีชื่อเหมือน GUID หนึ่งสำหรับแต่ละที่เก็บที่คุณได้บันทึกข้อมูลรับรอง

รหัสผ่านในไฟล์เหล่านี้จะถูกเข้ารหัสโดยWindows API ที่การป้องกันข้อมูล เครื่องมือด้านบนใช้โค้ดตัวอย่างจากObviexเพื่อเชื่อมต่อกับ API นี้และทำการถอดรหัส

เพื่อให้สามารถใช้งานได้คุณต้องมีสิทธิ์เข้าถึงบัญชีผู้ใช้ Windows เดียวกันกับที่คุณใช้งานอยู่เมื่อคุณทำเครื่องหมายที่ช่องทำเครื่องหมาย "บันทึกการรับรองความถูกต้อง" เนื่องจาก Windows Data Protection API ใช้คีย์เข้ารหัสที่เชื่อมโยงกับบัญชี Windows ของคุณ ถ้าคุณสูญเสียบัญชีนี้ (หรือผมเชื่อว่าถ้าผู้ดูแลระบบรีเซ็ตรหัสผ่านของคุณ) แล้วคุณจะไม่สามารถถอดรหัสรหัสผ่าน (ยกเว้นอาจจะโดยการใช้กำลังดุร้าย / a เครื่องมือของบุคคลที่สาม ) การมีบัญชี Windows ใหม่ที่มีชื่อผู้ใช้ / รหัสผ่านเดียวกัน (หรืออาจเป็น SID) นั้นไม่เพียงพอ


8

จากข้อมูลด้านล่างดูเหมือนว่าคุณสามารถถอดรหัสได้ในเครื่องในบางรูปแบบ ...

UPDATE:คำตอบที่ชัดเจนจากชุมชน TortiseSVN

เมื่อส่งผ่านสายที่เข้ารหัสระบบจะเข้ารหัสโดยใช้การจับมือและ / หรือคีย์ที่ตกลงกันในขณะเชื่อมต่อ

เมื่อจัดเก็บ / อ่านในเครื่องจะเข้ารหัส / ถอดรหัสผ่าน Windows Crypto API ซึ่งใช้คีย์ที่เชื่อมโยงกับบัญชี Windows ของคุณ

เซิร์ฟเวอร์ไม่สามารถถอดรหัสสำเนาที่เข้ารหัสในเครื่องได้เนื่องจากคีย์อยู่ภายในบัญชีของคุณ

ดังนั้นเมื่อคุณเชื่อมต่อ (สมมติว่าผ่าน HTTPS) ไคลเอนต์ของคุณจะได้รับข้อมูลรับรองที่ถอดรหัสผ่าน Windows API ที่เหมาะสมจากนั้นรวมไว้ในการส่ง HTTPS HTTPS เข้ารหัสการสื่อสารทั้งหมดระหว่างไคลเอนต์และเซิร์ฟเวอร์โดยใช้ใบรับรอง SSL ไม่ใช่แค่ข้อมูลรับรอง


คุณแน่ใจหรือว่ารหัสผ่านไม่ได้ถูกถอดรหัสเมื่อสิ้นสุดไคลเอนต์?
ก.ค. 12

พริตตี้บางอย่าง ... โดยไม่ต้องโพสต์คำถามอย่างชัดเจนกับคน TortiseSVN นี่คือสิ่งที่ผมพบว่า ... tortoisesvn.net/docs/release/TortoiseSVN_en/...นอกจากนี้หากมีการถอดรหัสฝั่งไคลเอ็นต์ผลักแล้วมากกว่าในข้อความธรรมดา เซิร์ฟเวอร์จะล้มเหลวตามวัตถุประสงค์ ฉันเดาว่าคุณสามารถส่งผ่าน SSH ได้
Aaron McIver

แต่ทุกคนสามารถส่ง ciphertext ไปยังเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพและ tortoiseSVN ไม่ได้ให้ความปลอดภัยเพิ่มเติมใด ๆ ด้วยการเข้ารหัส
ก.ค. 12

จริงซึ่งเป็นสาเหตุที่ทำให้พวกเขาทราบว่าจะลบข้อมูลการรับรองความถูกต้องจากพีซีของคุณเมื่อปิดเครื่องหรืออย่างน้อยก็เป็นระยะหากเป็นปัญหา หากเครื่องที่เก็บข้อมูลการรับรองความถูกต้องถูกบุกรุกนั่นไม่ใช่ปัญหา TotoriseSVN จริงๆ
Aaron McIver

ขอบคุณสำหรับการทำงาน ฉันหวังว่าจะมีเครื่องมือสำหรับสิ่งนั้นอยู่แล้ว
12
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.