Skip to main content

ข้อมูลการขัดขวาง: ส่วนเสริมของ Firefox

Anonim

นักพัฒนาแอพพลิเคชันเว็บมักเชื่อว่าผู้ใช้ส่วนใหญ่จะปฏิบัติตามกฎและใช้แอพพลิเคชันตามที่ตั้งใจจะใช้ แต่จะเป็นอย่างไรเมื่อผู้ใช้ (หรือแฮ็กเกอร์) ก้มกฎไว้? จะทำอย่างไรถ้าผู้ใช้ข้ามอินเทอร์เฟซเว็บแฟนซีและเริ่ม messing รอบภายใต้ประทุนโดยไม่มีข้อ จำกัด ที่กำหนดโดยเบราว์เซอร์?

สิ่งที่เกี่ยวกับ Firefox?

Firefox เป็นเบราว์เซอร์ที่เป็นตัวเลือกสำหรับแฮกเกอร์ส่วนใหญ่เนื่องจากมีการออกแบบที่เป็นมิตรกับปลั๊กอิน หนึ่งในเครื่องมือแฮ็กเกอร์ที่นิยมใช้กันมากสำหรับ Firefox คือ Add-on ที่เรียกว่า Tamper Data ข้อมูลการเจาะข้อมูลไม่ใช่เครื่องมือที่มีความซับซ้อน แต่เป็นเพียงพร็อกซี่ที่แทรกตัวเองระหว่างผู้ใช้กับเว็บไซต์หรือเว็บแอ็พพลิเคชันที่พวกเขาเรียกดู

ข้อมูลขัดขืนช่วยให้แฮ็กเกอร์สามารถแกะผ้าม่านเพื่อดูและยุ่งกับ "มายากล" HTTP ที่เกิดขึ้นอยู่เบื้องหลัง GETs และ POSTs เหล่านี้สามารถจัดการได้โดยไม่มีข้อ จำกัด ที่กำหนดโดยอินเทอร์เฟซผู้ใช้ที่เห็นในเบราว์เซอร์

สิ่งที่ชอบ?

แฮกเกอร์ทำไมแฮ็กเกอร์ถึงต้องการข้อมูลการเจาะข้อมูลมากและทำไมนักพัฒนาแอ็พพลิเคชันเว็บควรสนใจเรื่องนี้? สาเหตุหลักคือการอนุญาตให้บุคคลหนึ่ง ๆ ยุ่งเกี่ยวกับข้อมูลที่ถูกส่งไปมาระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ (เพราะฉะนั้นชื่อ Tamper Data) เมื่อ Tamper Data เริ่มทำงานและมีการเปิดตัวแอปพลิเคชันเว็บหรือเว็บไซต์ใน Firefox ข้อมูลการท่องเว็บจะแสดงฟิลด์ทั้งหมดที่อนุญาตให้ผู้ใช้ป้อนข้อมูลหรือจัดการได้ แฮ็กเกอร์สามารถเปลี่ยนฟิลด์เป็น "ค่าทดแทน" และส่งข้อมูลไปยังเซิร์ฟเวอร์เพื่อดูว่าระบบตอบสนองได้อย่างไร

เหตุใดจึงอาจเป็นอันตรายต่อแอพพลิเคชัน

บอกว่าแฮ็กเกอร์กำลังเข้าชมไซต์ช้อปปิ้งออนไลน์และเพิ่มรายการลงในรถเข็นช็อปปิ้งเสมือนจริง ผู้พัฒนาแอปพลิเคชันเว็บที่สร้างรถเข็นช็อปปิ้งอาจมีรหัสสั่งซื้อให้ยอมรับค่าจากผู้ใช้เช่น จำนวน = "1" และ จำกัด องค์ประกอบอินเทอร์เฟซผู้ใช้ลงในกล่องแบบเลื่อนลงที่มีการกำหนดไว้ล่วงหน้าสำหรับปริมาณ

แฮ็กเกอร์อาจพยายามใช้ Tamper Data เพื่อหลีกเลี่ยงข้อ จำกัด ของช่องแบบเลื่อนลงซึ่งอนุญาตให้ผู้ใช้เลือกจากชุดค่าเช่น 1, 2, 3, 4, และ 5 เท่านั้นโดยใช้ Tamper Data แฮกเกอร์สามารถลองได้ เพื่อป้อนค่าที่แตกต่างจาก "-1" หรือ ".000001"

หากผู้พัฒนาซอฟต์แวร์ไม่ได้กำหนดรหัสการตรวจสอบการรับเข้าของตนอย่างถูกต้องค่า "-1" หรือ ".000001" นี้อาจถูกส่งผ่านไปยังสูตรที่ใช้ในการคำนวณต้นทุนของรายการ (เช่นราคา x จำนวน) ซึ่งอาจทำให้ผลลัพธ์ที่ไม่คาดคิดขึ้นอยู่กับจำนวนการตรวจสอบข้อผิดพลาดที่เกิดขึ้นและความน่าเชื่อถือของนักพัฒนาซอฟต์แวร์ที่มีอยู่ในข้อมูลที่มาจากฝั่งไคลเอ็นต์ หากรถเข็นมีการเข้ารหัสไม่ดีนักแฮ็กเกอร์อาจได้รับส่วนลดมากเป็นไปได้ที่ไม่ได้ตั้งใจค่าตอบแทนในผลิตภัณฑ์ที่พวกเขาไม่ได้ซื้อเครดิตเก็บหรือผู้ที่รู้ว่าอะไรอีก

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

ในทางกลับกัน Tamper Data เป็นเครื่องมือที่ยอดเยี่ยมสำหรับนักพัฒนาแอพพลิเคชันแอพพลิเคชันที่ใส่ใจในด้านความปลอดภัยเพื่อใช้ในการดูว่าแอปพลิเคชันของพวกเขาตอบสนองต่อการจัดการข้อมูลของลูกค้าได้อย่างไร

นักพัฒนาซอฟต์แวร์มักจะสร้าง "Use Cases" เพื่อเน้นว่าผู้ใช้จะใช้ซอฟต์แวร์เพื่อให้บรรลุเป้าหมายได้อย่างไร แต่น่าเสียดายที่พวกเขามักจะละเลยปัจจัยที่ไม่ดี นักพัฒนาแอปต้องใส่หมวกคนร้ายที่ไม่ดีและสร้าง "Misuse Cases" เพื่อใช้กับแฮกเกอร์โดยใช้เครื่องมือเช่น Tamper Data

ข้อมูลการเจาะข้อมูลควรเป็นส่วนหนึ่งของคลังความปลอดภัยในการทดสอบเพื่อช่วยให้มั่นใจได้ว่าการป้อนข้อมูลฝั่งไคลเอ็นต์ได้รับการตรวจสอบและยืนยันก่อนที่จะมีผลกระทบต่อธุรกรรมและกระบวนการฝั่งเซิร์ฟเวอร์ หากนักพัฒนาซอฟต์แวร์ไม่ได้มีบทบาทอย่างแข็งขันในการใช้เครื่องมือเช่นข้อมูลการเจาะข้อมูลเพื่อดูว่าแอปพลิเคชันของพวกเขาตอบสนองต่อการโจมตีอย่างไรพวกเขาจะไม่ทราบว่าจะต้องคาดหวังอะไรและสามารถจ่ายเงินให้กับทีวีพลาสม่า 60 นิ้วที่แฮ็กเกอร์เพิ่งซื้อได้ สำหรับ 99 เซ็นต์โดยใช้รถเข็นสินค้าชำรุด