9 ประเภทแอปพลิเคชันยอดนิยมในการโจมตีเว็บ

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


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

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

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

การฉีดรหัส

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

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

ตัวอย่างเช่นจำเป็นต้อง จำกัด จำนวนข้อมูลที่คาดว่าจะตรวจสอบรูปแบบข้อมูลก่อนที่จะยอมรับและเพื่อ จำกัด ชุดอักขระที่อนุญาต.

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

การฉีด SQL

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

แอปพลิเคชัน PHP และ ASP มีแนวโน้มที่จะถูกโจมตีจากการฉีด SQL เนื่องจากอินเทอร์เฟซการทำงานเก่า แอป J2EE และ ASP.Net มักจะได้รับการปกป้องจากการโจมตีเหล่านี้ เมื่อพบช่องโหว่การฉีด SQL และพบได้ง่าย – ขนาดของการโจมตีที่อาจเกิดขึ้นจะถูก จำกัด ด้วยทักษะและจินตนาการของผู้โจมตี ดังนั้นผลกระทบของการโจมตีการฉีด SQL จะสูงอย่างแน่นอน.

การฉีดคำสั่ง

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

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

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

การเขียนสคริปต์ข้ามไซต์

เมื่อใดก็ตามที่แอปพลิเคชันแทรกการป้อนข้อมูลจากผู้ใช้ภายในผลลัพธ์ที่สร้างโดยไม่ต้องตรวจสอบหรือเข้ารหัสมันจะเปิดโอกาสให้ผู้โจมตีสามารถส่งรหัสที่เป็นอันตรายไปยังผู้ใช้ปลายทางคนอื่นได้ การโจมตี Cross-Site Scripting (XSS) ใช้โอกาสเหล่านี้เพื่อแทรกสคริปต์ที่เป็นอันตรายลงในเว็บไซต์ที่เชื่อถือได้ซึ่งท้ายที่สุดจะถูกส่งไปยังผู้ใช้แอปพลิเคชันอื่น ๆ ซึ่งกลายเป็นเหยื่อของผู้โจมตี.

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

โดยทั่วไปการโจมตี XSS สามารถแบ่งออกเป็นสองประเภท: จัดเก็บและสะท้อน.

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

XPath ฉีด

การโจมตีประเภทนี้เป็นไปได้เมื่อเว็บแอปพลิเคชันใช้ข้อมูลที่ผู้ใช้สร้างขึ้นเพื่อสร้างแบบสอบถาม XPath สำหรับข้อมูล XML วิธีการทำงานของการโจมตีเหล่านี้คล้ายกับการฉีด SQL: ผู้โจมตีส่งข้อมูลที่ไม่ถูกต้องไปยังแอปพลิเคชันเพื่อค้นหาว่าโครงสร้างข้อมูล XML มีโครงสร้างอย่างไรจากนั้นพวกเขาจะโจมตีอีกครั้งเพื่อเข้าถึงข้อมูลนั้น.

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

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

การฉีดคำสั่งเมล

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

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

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

ฉีด CRLF

การแทรกอักขระขึ้นบรรทัดใหม่และอักขระป้อนบรรทัด – การรวมกันเรียกว่า CRLF ในช่องป้อนข้อมูลในเว็บฟอร์มแสดงวิธีการโจมตีที่เรียกว่าการฉีด CRLF อักขระที่มองไม่เห็นเหล่านี้บ่งบอกถึงจุดสิ้นสุดของบรรทัดหรือจุดสิ้นสุดของคำสั่งในโปรโตคอลอินเทอร์เน็ตแบบดั้งเดิมมากมายเช่น HTTP, MIME หรือ NNTP.

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

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

โฮสต์หัวฉีด

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

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

การฉีด LDAP

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

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

ป้องกันการโจมตีของการฉีด

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map