เขียนขึ้น: บายพาสการรับรองความถูกต้องผ่านการเปิดเผยข้อมูลที่ PortSwigger Academy
บทความนี้สำหรับบายพาสการรับรองความถูกต้องของแล็บผ่านการเปิดเผยข้อมูลเป็นส่วนหนึ่งของชุดคำแนะนำของฉันสำหรับ Web Security Academy ของPortSwigger
เส้นทางการเรียนรู้ : หัวข้อฝั่งเซิร์ฟเวอร์ → การเปิดเผยข้อมูล
สคริปต์ Python: script.py
คำอธิบายห้องปฏิบัติการ
ขั้นตอน
การวิเคราะห์
แอปพลิเคชันห้องปฏิบัติการเป็นเว็บไซต์ร้านค้าที่มีผลิตภัณฑ์ที่น่าสนใจมาก ตามปกติ ขั้นตอนแรกคือการตรวจสอบเว็บไซต์
หลังจากเรียกดูไปรอบๆ และเข้าสู่ระบบด้วยข้อมูลประจำตัวที่รู้จัก ไม่มีอะไรน่าสนใจเกินไปปรากฏขึ้น เวลาตรวจสอบคำขอในเรอ ไม่มีอะไรน่าสนใจเกินไปเช่นกัน
พบจุดสิ้นสุดของผู้ดูแลระบบในแล็บก่อนหน้านี้บางส่วนภาย/admin
ใต้ แต่เพื่อหลีกเลี่ยงการใช้ความรู้นี้ ฉันสามารถใช้การค้นหาเนื้อหาได้หลายวิธี Burp Professional มาพร้อมกับฟังก์ชันดังกล่าวและเครื่องมือฟรีที่ดีหลายตัวช่วยให้ค้นพบเนื้อหาได้เช่นกัน
สิ่งที่ฉันใช้ที่นี่เป็นffufพร้อมกับรายการคำศัพท์ที่ยอดเยี่ยมจากSecLists :
เยี่ยมชมจุดสิ้นสุด
ฉันไปที่หน้านี้เพื่อรับข้อความนี้:
ไม่มีข้อมูลเพิ่มเติม
วิธีทั่วไปในการเผยแพร่ IP เริ่มต้นไปยังเว็บเซิร์ฟเวอร์ (ใช้ในสถานการณ์พร็อกซีหรือโหลดบาลานซ์) คือX-Forwarded-For
ส่วนหัว อย่างไรก็ตาม สิ่งนี้ใช้ไม่ได้ที่นี่ (และคำอธิบายของห้องปฏิบัติการระบุว่าเป็นส่วนหัวที่กำหนดเองอยู่แล้ว)
สามารถใช้กริยา HTTP สองตัวเพื่อรับข้อมูลเพิ่มเติมOPTIONS
และ TRACE
หลังสร้างผลลัพธ์ที่น่าสนใจ:
จัดหาส่วนหัวที่กำหนดเอง
ตอนนี้ฉันรู้ส่วนหัวแล้ว การเข้าถึงอินเทอร์เฟซผู้ดูแลระบบกลายเป็นเรื่องง่าย ฉันต้องแน่ใจว่าได้ส่งส่วนหัวที่กำหนดเองไปพร้อมกับคำขอแต่ละรายการ ดังนั้นฉันจึงเพิ่มMatch and Replace
กฎเพื่อเพิ่มส่วนหัวใหม่นี้ในคำขอเสมอ
ฉันใช้127.0.0.1
เป็นเนื้อหาเพื่อหลอกให้แอปพลิเคชันเชื่อว่าคำขอนั้นมาlocalhost
จาก
ตอนนี้เพียงโหลดหน้าซ้ำในเบราว์เซอร์ เข้าถึงแผงการดูแลระบบ และลบผู้ใช้carlos
เพื่อแก้ไขแล็บ:
เผยแพร่ครั้งแรกที่https://github.com
New to Medium? Become a Medium member to access all stories on the platform and support me at no extra cost for you!