-: ในส่วนนี้ เราจะพูดถึงการทดสอบการเจาะระบบเว็บแอปพลิเคชัน
ก่อนที่เราจะพูดถึงเรื่องนั้นได้
เราต้องเข้าใจก่อนว่าเว็บไซต์คืออะไร
อย่างที่ฉันพูดไปก่อนหน้านี้
เว็บไซต์เป็นเพียงแอปพลิเคชันที่ติดตั้งบนคอมพิวเตอร์
คอมพิวเตอร์เครื่องนั้นอาจมีข้อมูลจำเพาะที่ดีกว่าคอมพิวเตอร์ของคุณ
แต่โดยพื้นฐานแล้วมันทำงานได้เหมือนกับคอมพิวเตอร์เครื่องอื่น
มีระบบปฏิบัติการและมีแอพพลิเคชั่นมากมายที่อนุญาตให้ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์
สองแอปพลิเคชันหลักที่อาจมีคือเว็บเซิร์ฟเวอร์และฐานข้อมูล
เว็บเซิร์ฟเวอร์ก็เหมือน Apache
และฐานข้อมูลก็เหมือน MySQL
โดยทั่วไปเว็บเซิร์ฟเวอร์จะเข้าใจและดำเนินการเว็บแอปพลิเคชัน
เว็บแอปพลิเคชันของคุณจะเขียนด้วย PHP หรือ Python
ในภาษาการเขียนโปรแกรมใดๆ จริงๆ
สิ่งเดียวคือเว็บเซิร์ฟเวอร์ต้องสามารถเข้าใจและดำเนินการเว็บแอปพลิเคชันนี้ได้
ฐานข้อมูลประกอบด้วยข้อมูลที่เว็บแอปพลิเคชันใช้
ทั้งหมดนี้ถูกเก็บไว้ในคอมพิวเตอร์ที่เรียกว่าเซิร์ฟเวอร์
คอมพิวเตอร์เชื่อมต่อกับอินเทอร์เน็ต และมีที่อยู่
IP จริง ดังนั้นใครก็ตามที่สามารถเข้าถึงคอมพิวเตอร์เครื่องนั้นและทำการ
ping ได้
เว็บแอปพลิเคชันดำเนินการโดยเว็บเซิร์ฟเวอร์ที่ติดตั้งบนเซิร์ฟเวอร์ของคุณ
ที่เป้าหมายของคุณ
ดังนั้น ทุกครั้งที่คุณขอหน้าเว็บหรือเรียกใช้เว็บแอปพลิเคชัน
หน้าเว็บนั้นจะดำเนินการบนเว็บเซิร์ฟเวอร์จริง
ๆ และไม่ได้ดำเนินการที่คอมพิวเตอร์ของไคลเอ็นต์
จะได้รับการดำเนินการที่เว็บเซิร์ฟเวอร์
และจากนั้นจะส่งหน้า HTML ซึ่งพร้อมที่จะอ่านสำหรับบุคคลเป้าหมายหรือสำหรับลูกค้า
มาดูตัวอย่างกัน
สมมติว่าคุณกำลังใช้โทรศัพท์หรือคอมพิวเตอร์และต้องการไปที่
Facebook คอม
ดังนั้นคุณพิมพ์ใน facebook ลงใน URL ของคุณ
สิ่งนี้จะถูกแปลโดยใช้เซิร์ฟเวอร์ DNS เป็นที่อยู่
IP
มีเซิฟเวอร์ที่แปลทุกชื่อ,. คอม, . edu หรือเว็บไซต์ใดๆ ที่มีชื่อโดเมน ดังนั้นนี่คือชื่อโดเมน
ไปยังที่อยู่ IP ที่เกี่ยวข้อง
ดังนั้นคุณขอเฟสบุ๊ค com คำขอไปที่เซิร์ฟเวอร์
DNS มันแปล
facebook com ไปยัง IP ที่จัดเก็บ Facebook
จากนั้นไปที่ที่อยู่
IP ของ Facebook ระบบจะดำเนินการหน้าเว็บที่คุณต้องการโดยใช้แอปพลิเคชันทั้งหมดที่เราพูดถึง
จากนั้นให้ HTML ที่พร้อมใช้งาน
สิ่งที่คุณได้รับกลับเป็นเพียงมาร์กอัปที่เขียนด้วย
HTML ซึ่งเป็นภาษามาร์กอัปของผลลัพธ์ของการดำเนินการโปรแกรม
โปรแกรมทำงานบนเซิร์ฟเวอร์ แล้วคุณจะได้แค่ผลลัพธ์เท่านั้น
สิ่งนี้สำคัญมากเพราะในอนาคตหากเราต้องการให้ดำเนินการใดๆ
บนเว็บเซิร์ฟเวอร์ หากเราต้องการรับเชลล์ รีเวิร์สเชลล์ หรือไวรัสที่ดำเนินการบนคอมพิวเตอร์เป้าหมาย เราต้องส่งมันเป็นภาษา
ที่เว็บเซิร์ฟเวอร์เข้าใจ
ตัวอย่างเช่น PHP
เมื่อคุณเรียกใช้งานที่นั่น มันจะถูกดำเนินการบนคอมพิวเตอร์เครื่องนั้น
ไม่ใช่บนคอมพิวเตอร์ของคุณ
ไม่ว่าใครจะเข้าถึงหน้านี้ เว็บเชลล์ที่คุณจะส่ง ถ้ามันเขียนด้วย
PHP ในภาษาที่เซิร์ฟเวอร์เข้าใจ
เว็บเชลล์ที่คุณส่งจะถูกเรียกใช้งานบนเซิร์ฟเวอร์ ไม่ใช่บนคอมพิวเตอร์ของคุณ
ดังนั้นมันจะทำให้คุณสามารถเข้าถึงเซิร์ฟเวอร์ได้
และไม่สามารถเข้าถึงบุคคลที่เข้าถึงเซิร์ฟเวอร์นั้นได้
ในทางกลับกัน JavaScript มีบางเว็บไซต์ที่ใช้
JavaScript
JavaScript เป็นภาษาฝั่งไคลเอ็นต์
หากคุณจัดการเพื่อค้นหาเว็บไซต์ที่อนุญาตให้คุณเรียกใช้โค้ด
JavaScript ได้ ไคลเอ็นต์จะรันโค้ดนั้น
แม้ว่าโค้ดอาจถูกฉีดเข้าไปในเว็บเซิร์ฟเวอร์
แต่โค้ดจะถูกดำเนินการในฝั่งไคลเอ็นต์
และช่วยให้คุณสามารถทำสิ่งต่างๆ
กับคอมพิวเตอร์ไคลเอ็นต์ได้ ไม่ใช่กับเซิร์ฟเวอร์
การแยกระหว่างภาษาฝั่งไคลเอ็นต์กับภาษาฝั่งเซิร์ฟเวอร์เป็นสิ่งสำคัญมาก