CSRF Attack & Session Hijack Vulnerability


12

จากบันทึกประจำรุ่น 1.8CE Alpha:

วีโอไอพีสโตร์มีการป้องกันการปลอมแปลงคำขอข้ามไซต์ (CSRF) เพิ่มเติมซึ่งหมายความว่าผู้แอบอ้างไม่สามารถปลอมตัวเป็นลูกค้าใหม่ที่ลงทะเบียนและดำเนินการในนามของลูกค้าได้อีกต่อไป

และ:

ในเวอร์ชันก่อนหน้าวีโอไอพีเสี่ยงต่อการถูกโจมตีจากการตรึงเซสชั่นในระหว่างกระบวนการลงทะเบียน หลังจากเข้าสู่บัญชีของพวกเขา ID เซสชันของผู้ใช้ที่ลงทะเบียนแล้วจะไม่เปลี่ยนแปลง ดังนั้นหากผู้โจมตีมีความรู้เกี่ยวกับรหัสเซสชันที่ไม่ได้รับอนุญาตและหากผู้ใช้ลงทะเบียนสำเร็จผู้โจมตีก็สามารถเข้าใช้งานบัญชีที่ลงทะเบียนใหม่ได้ ตอนนี้รหัสเซสชันจะเปลี่ยนหลังจากลงทะเบียนสำเร็จทำให้ไม่สามารถใช้บัญชีโดยไม่ได้รับอนุญาต

หากสิ่งนี้อยู่ในบันทึกย่อประจำรุ่นและฉันไม่เห็นจุดที่วางจำหน่ายในรุ่นก่อนหน้านี้ที่กล่าวถึงเรื่องนี้ (ฉันกำลังมองหาสถานที่ที่ไม่ถูกต้องหรือไม่) - นั่นหมายความว่าร้านค้า pre-1.8 ปัจจุบันเปิดทำการโจมตีเหล่านี้ เวกเตอร์ ?

ที่มา: http://www.magentocommerce.com/knowledge-base/entry/ce-18-later-release-notes


ฉันเพิ่งอัปเดตคำตอบของฉันด้านล่างพร้อมรายละเอียดเกี่ยวกับการแก้ไขช่องโหว่เหล่านี้
davidalger

คำตอบ:


9

ในระยะสั้นใช่ CE 1.7 ยังคงมีความเสี่ยงต่อการโจมตีเฉพาะเหล่านั้นเนื่องจากยังไม่มีการปล่อยการรักษาความปลอดภัยซึ่งมีโปรแกรมปะแก้

ในกรณีหลังหนึ่งการโจมตีการตรึงเซสชั่นการเปลี่ยนแปลงคือการอัพเกรดในการปฏิบัติด้านความปลอดภัยที่วีโอไอพีได้ใช้เพื่อให้สอดคล้องกับแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุดในปัจจุบัน ไม่ใช่สิ่งที่น่าจะได้รับการออกให้กับ CE 1.7 หากพวกเขาทำการแก้ไขด้วยการแก้ไข CSRF

คำถามจริงคืออะไรช่องโหว่ CSRF เหล่านี้ที่ได้รับการแก้ไขอย่างแน่นอนคืออะไร? ไม่ต้องสงสัยเลยว่าสิ่งที่ดีที่พวกเขาไม่ได้มีเฉพาะในบันทึกย่อประจำรุ่นจึงเป็นอันตรายต่อการเผยแพร่ก่อนหน้านี้ทั้งหมด

ปรับปรุง # 1: เมื่อถึง Magento เพื่อค้นหาว่าพวกเขาจะออกแพตช์สำหรับช่องโหว่ข้างต้นฉันได้รับคำตอบต่อไปนี้:

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

ฉันจะโพสต์รายละเอียดเพิ่มเติมที่นี่ในขณะที่ฉันรับพวกเขาและจะพยายามอย่างเต็มที่เพื่อรับแพทช์ที่ออกเนื่องจากดูเหมือนว่าขณะนี้ยังไม่มีแพตช์อยู่

UPDATE # 2:หลังจากกลับไปกลับมากับทีมสนับสนุนฉันสามารถรับ patch ที่เหมาะสมสำหรับ Magento EE 1.12.0.2 ไม่มีการออกแพทช์สำหรับ Magento CE 1.7.0.2 และเท่าที่ช่างเทคนิคที่ตรวจสอบภายในสำหรับฉันรู้ไม่มีแผนการที่จะปล่อยแพทช์อย่างเป็นทางการสำหรับ CE 1.7.x แทนที่จะแก้ไขปัญหาเฉพาะใน CE 1.8 ที่กำลังจะมาถึง ปล่อยมั่นคง

สำหรับไฟล์แก้ไขเฉพาะของ EE ฉันไม่สามารถโพสต์ได้ (หรือเครื่องมือแอปพลิเคชันเครื่องมือแก้ไข) ที่นี่โดยตรงเพราะสงสัยว่าจะเป็นการละเมิด NDA ระหว่าง Magento และตัวฉันเองและ บริษัท ที่ฉันทำงานอยู่ ชื่อของแพทช์ที่เกี่ยวข้องคือ: "PATCH_SUPEE-1513_EE_1.12.0.2_v1.sh" - หากคุณมี Enterprise Edition หรือลูกค้าที่ใช้มันคุณควรจะสามารถขอแพตช์นี้จากทีมสนับสนุน Magento พร้อมด้วยหมายเหตุเกี่ยวกับ ช่องโหว่ CSRF ที่ควรแก้ไข

สำหรับผู้ใช้ CE 1.7.0.2 ฉันมีอิสระในการสร้างไฟล์แพทช์ (ขึ้นอยู่กับแพตช์ของ Magento) ซึ่งมีเฉพาะโค้ดที่เปลี่ยนไฟล์หลักของ Magento CE 1.7.0.2 ตามปกติแล้วจะรวมถึงบิตที่ไม่เกี่ยวข้องของความคิดเห็นที่เพิ่มเข้ามาและการจัดรูปแบบที่ปรับเปลี่ยนพร้อมกับการเปลี่ยนแปลงรหัสที่เกี่ยวข้อง การสร้างสิ่งนี้จำเป็นต้องแก้ไขแพตช์ดั้งเดิมด้วยตนเองเพื่อใช้มันโดยใช้เครื่องมือการใช้แพทช์ที่มีให้จากนั้นใช้ git เพื่อสร้างแพทช์ขึ้นอยู่กับการเปลี่ยนแปลงที่นำไปใช้

ไฟล์ดาวน์โหลดที่ฉันสร้างขึ้นสามารถดาวน์โหลดได้จากกระทู้นี้: https://gist.github.com/davidalger/5938568

หากต้องการใช้โปรแกรมปะแก้ให้ใส่ซีดีชุดแรกลงในรูทของการติดตั้ง Magento และเรียกใช้คำสั่งต่อไปนี้: patch -p1 -i ./Magento_CE_1.7.0.2_v1-CSRF_Patch.diff

แพตช์เฉพาะ EE รวมถึงการตรวจสอบความถูกต้องของแบบฟอร์มเพื่อตรวจสอบตัวควบคุมเฉพาะขององค์กรการแก้ไขไฟล์ขององค์กร / ค่าเริ่มต้นและไฟล์เท็มเพลต enterprise / iphone เพื่อรวมคีย์แบบฟอร์มในแบบฟอร์มที่ใช้สำหรับการดำเนินการควบคุม การส่งคีย์ฟอร์มไปมาบนหน้าแคช

การปฏิเสธความรับผิด:ฉันไม่ได้ทดสอบทั้งแพทช์ EE ที่จัดทำโดย Magento หรือแพทช์ที่ฉันอัปโหลดไปยังส่วนสำคัญที่เชื่อมโยง โปรแกรมแก้ไขที่ให้ไว้ในส่วนสำคัญที่อ้างอิงมาพร้อมกับไม่มีการรับประกันและอาจแก้ไขหรือไม่แก้ไขช่องโหว่ที่อ้างถึงในบันทึกประจำรุ่น CE 1.8 ในฐานะที่เป็นแพทช์ที่ยังไม่ทดลองยังไม่มีการรับประกันว่ามันจะทำงานได้ทั้งหมดหรือบางส่วน ฉันใช้ความเสี่ยงของคุณเองและใช้ความขยันเนื่องจากการทดสอบก่อนที่จะปรับใช้กับสภาพแวดล้อมการผลิต หากคุณพบปัญหาเกี่ยวกับแพตช์แจ้งให้เราทราบและฉันจะอัปเดต


1
การรักษาความปลอดภัยด้วยความสับสนนั้นไม่ใช่ความคิดที่ดี พวกเขาควรทำให้เป็นสาธารณะเพื่อให้ทุกคนสามารถแก้ไขการติดตั้งของเขา นอกจากนี้ความแตกต่างอย่างง่ายระหว่างสองเวอร์ชันควรให้ความประทับใจกับคุณว่าการโจมตีทำงานอย่างไรและวิธีการติดตั้งแบบเก่า ดังนั้นข้อมูลจึงออกมาอยู่ดี
Darokthar

1
เห็นด้วยความคลุมเครือไม่ใช่การรักษาความปลอดภัยที่ดีเลยและฉันก็ไม่ได้พยายามที่จะระบุว่า อย่างไรก็ตามการเปิดเผยความรับผิดชอบเป็นสิ่งที่ต้องพิจารณา เท่าที่เราทราบช่องโหว่นั้นอาจถูกส่งไปยัง Magento หลายสัปดาห์ก่อนที่ EE 1.13 และ CE 1.8a1 จะเผยแพร่สู่สาธารณชน FWIW ฉันจะติดต่อคนที่ Magento เพื่อดูว่าพวกเขามีแพตช์สำหรับ EE 1.12 หรือยังและมีแผนอะไรสำหรับการติดตั้ง 1.7; โดยเฉพาะสำหรับช่องโหว่ CSRF
davidalger

มาดูการอัปเดตและแก้ไขคำถาม / คำตอบหากมีการปล่อยแพทช์ ขอบคุณ
philwinkle

ฉันเพิ่งโพสต์การอัปเดตพร้อมคำตอบเบื้องต้นที่ฉันได้รับจาก Magento ดูเหมือนว่าในปัจจุบันไม่มีแพตช์ใด ๆ ดังนั้นฉันจะดูว่าฉันสามารถทำอะไรได้บ้าง ฉันจะโพสต์ y'all ทั้งหมด ... ที่นี่และอาจอยู่ในทวิตเตอร์ของฉันด้วย
davidalger

2

ฉันไม่แน่ใจ 100% เพราะฉันไม่สามารถทำซ้ำปัญหาได้

หมายความว่าผู้แอบอ้างไม่สามารถปลอมตัวเป็นลูกค้าใหม่ที่ลงทะเบียนแล้ว

หมายความว่าจนถึงปัจจุบัน 'ผู้แอบอ้าง' อาจปลอมตัวเป็นลูกค้าที่เพิ่งจดทะเบียนใหม่
ฉันหวังว่ามันจะเป็นแค่ 'ความหมาย' แต่ฉันคิดว่ามันหมายถึงสิ่งที่คุณกลัวนั่นหมายถึง


จนถึงตอนนี้หมายถึงการแก้ไขใน 1.8 - หรือคุณหมายถึงอะไร
Fabian Blechschmidt

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