การทดสอบความปลอดภัย - พื้นฐานโปรโตคอล HTTP

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

โปรโตคอล HTTP

Hypertext Transfer Protocol (HTTP) เป็นโปรโตคอลระดับแอปพลิเคชันสำหรับระบบข้อมูลแบบกระจายการทำงานร่วมกันและไฮเปอร์มีเดีย นี่เป็นรากฐานสำหรับการสื่อสารข้อมูลสำหรับเวิลด์ไวด์เว็บตั้งแต่ปี 1990 HTTP เป็นโปรโตคอลทั่วไปและไม่มีสถานะซึ่งสามารถใช้เพื่อวัตถุประสงค์อื่น ๆ ได้เช่นกันโดยใช้ส่วนขยายของวิธีการร้องขอรหัสข้อผิดพลาดและส่วนหัว

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

คุณสมบัติพื้นฐาน

มีคุณสมบัติพื้นฐานสามประการดังต่อไปนี้ซึ่งทำให้ HTTP เป็นโปรโตคอลที่เรียบง่าย แต่ทรงพลัง -

  • HTTP is connectionless- ไคลเอนต์ HTTP กล่าวคือเบราว์เซอร์เริ่มต้นคำขอ HTTP หลังจากทำการร้องขอไคลเอนต์จะยกเลิกการเชื่อมต่อจากเซิร์ฟเวอร์และรอการตอบกลับ เซิร์ฟเวอร์ประมวลผลคำขอและสร้างการเชื่อมต่อกับไคลเอ็นต์อีกครั้งเพื่อส่งการตอบกลับกลับ

  • HTTP is media independent- HTTP สามารถส่งข้อมูลประเภทใดก็ได้ตราบเท่าที่ทั้งไคลเอนต์และเซิร์ฟเวอร์รู้วิธีจัดการกับเนื้อหาข้อมูล สิ่งนี้จำเป็นสำหรับไคลเอนต์และเซิร์ฟเวอร์เพื่อระบุประเภทเนื้อหาโดยใช้ประเภท MIME ที่เหมาะสม

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

HTTP / 1.0 ใช้การเชื่อมต่อใหม่สำหรับการแลกเปลี่ยนคำขอ / การตอบกลับแต่ละรายการในขณะที่การเชื่อมต่อ HTTP / 1.1 อาจใช้สำหรับการแลกเปลี่ยนคำขอ / การตอบกลับอย่างน้อยหนึ่งรายการ

สถาปัตยกรรม

แผนภาพต่อไปนี้แสดงสถาปัตยกรรมพื้นฐานของเว็บแอปพลิเคชันและแสดงตำแหน่งที่ HTTP อยู่ -

โปรโตคอล HTTP เป็นโปรโตคอลการร้องขอ / การตอบสนองตามสถาปัตยกรรมไคลเอนต์ / เซิร์ฟเวอร์ที่เว็บเบราว์เซอร์โรบ็อตและเครื่องมือค้นหา ฯลฯ ทำหน้าที่เป็นไคลเอนต์ HTTP และเว็บเซิร์ฟเวอร์ทำหน้าที่เป็นเซิร์ฟเวอร์

  • Client - ไคลเอนต์ HTTP ส่งคำขอไปยังเซิร์ฟเวอร์ในรูปแบบของวิธีการร้องขอ URI และเวอร์ชันโปรโตคอลตามด้วยข้อความคล้าย MIME ที่มีตัวปรับเปลี่ยนคำขอข้อมูลไคลเอ็นต์และเนื้อหาที่เป็นไปได้ผ่านการเชื่อมต่อ TCP / IP

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

HTTP - ข้อเสีย

  • HTTP ไม่ใช่โปรโตคอลที่ปลอดภัยอย่างสมบูรณ์

  • HTTP ใช้พอร์ต 80 เป็นพอร์ตเริ่มต้นสำหรับการสื่อสาร

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

  • ไม่จำเป็นต้องมีการเข้ารหัส / ใบรับรองดิจิทัลสำหรับการใช้ HTTP

รายละเอียดโปรโตคอล HTTP

เพื่อทำความเข้าใจเกี่ยวกับ HTTP Protocol แบบเจาะลึกให้คลิกที่ลิงค์ด้านล่าง

  • HTTP Parameters

  • HTTP Messages

  • HTTP Requests

  • HTTP Responses

  • HTTP Methods

  • HTTP Status Codes

  • HTTP Header Fields

  • HTTP Security