การกำหนดค่าความปลอดภัยผิด

การกำหนดค่าความปลอดภัยผิดเกิดขึ้นเมื่อมีการกำหนดการใช้งานและดูแลการตั้งค่าความปลอดภัยเป็นค่าเริ่มต้น ความปลอดภัยที่ดีต้องการการกำหนดค่าที่ปลอดภัยที่กำหนดและปรับใช้สำหรับแอปพลิเคชันเว็บเซิร์ฟเวอร์เซิร์ฟเวอร์ฐานข้อมูลและแพลตฟอร์ม การปรับปรุงซอฟต์แวร์ให้ทันสมัยมีความสำคัญเท่าเทียมกัน

ตัวอย่าง

ตัวอย่างคลาสสิกบางส่วนของการกำหนดค่าความปลอดภัยมีดังที่ระบุ -

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

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

  • เซิร์ฟเวอร์ของแอปมักจะมาพร้อมกับแอปตัวอย่างที่ไม่ปลอดภัย หากไม่ถูกลบออกจากเซิร์ฟเวอร์ที่ใช้งานจริงจะส่งผลให้เซิร์ฟเวอร์ของคุณบุกรุก

Hands ON

Step 1- เปิด Webgoat และไปที่ส่วนการกำหนดค่าที่ไม่ปลอดภัยและให้เราพยายามแก้ปัญหานั้น ภาพรวมของสิ่งเดียวกันอยู่ด้านล่าง -

Step 2- เราสามารถลองใช้ตัวเลือกต่างๆได้มากเท่าที่จะคิดได้ ทั้งหมดที่เราต้องหา URL ของไฟล์ config และเรารู้ว่านักพัฒนาทำตามหลักการตั้งชื่อสำหรับไฟล์ config อาจเป็นอะไรก็ได้ที่ระบุไว้ด้านล่าง โดยปกติจะทำโดยเทคนิค BRUTE force

  • web.config
  • config
  • appname.config
  • conf

Step 3 - เมื่อลองใช้ตัวเลือกต่างๆเราพบว่า 'http://localhost:8080/WebGoat/conf'ประสบความสำเร็จ หน้าต่อไปนี้จะปรากฏขึ้นหากความพยายามสำเร็จ -

กลไกการป้องกัน

  • สภาพแวดล้อมการพัฒนา QA และการผลิตทั้งหมดดังกล่าวควรได้รับการกำหนดค่าให้เหมือนกันโดยใช้รหัสผ่านที่แตกต่างกันที่ใช้ในแต่ละสภาพแวดล้อมที่ไม่สามารถแฮ็กได้โดยง่าย

  • ตรวจสอบให้แน่ใจว่ามีการนำสถาปัตยกรรมแอ็พพลิเคชันที่แข็งแกร่งมาใช้ซึ่งให้การแยกระหว่างส่วนประกอบที่มีประสิทธิภาพและปลอดภัย

  • นอกจากนี้ยังสามารถลดความเป็นไปได้ของการโจมตีนี้ด้วยการสแกนอัตโนมัติและทำการตรวจสอบเป็นระยะ