เว็บแอปพลิเคชันได้นำมาซึ่งความปลอดภัยของคอมพิวเตอร์ใหม่ของคอมพิวเตอร์เช่นการฉีด SQL มันเป็นคลาสของช่องโหว่การตรวจสอบความถูกต้องของอินพุต การใช้งานโดยทั่วไปของการรั่วไหลของ SQL การรั่วไหลของข้อมูลที่เป็นความลับจากฐานข้อมูลตรรกะการตรวจสอบบายพาสบายพาสหรือเพิ่มบัญชีที่ไม่ได้รับอนุญาตลงในฐานข้อมูล ความปลอดภัยนี้ป้องกันการเข้าถึงฐานข้อมูลของคุณโดยไม่ได้รับอนุญาตและป้องกันไม่ให้ข้อมูลของคุณถูกเปลี่ยนแปลงหรือถูกลบโดยผู้ใช้โดยไม่ได้รับอนุญาตที่เหมาะสม เครื่องตรวจจับข้อความที่เป็นอันตรายการตรวจสอบข้อ จำกัด การตรวจสอบความยาวแบบสอบถามและเครื่องกำเนิดคีย์ที่ใช้ข้อความเป็นเทคนิคการกรองสี่ประเภทที่ใช้ในการตรวจจับและป้องกันการโจมตีการฉีด SQL จากการเข้าถึงฐานข้อมูล
เรากำลังทำโครงการนี้ใน Ubuntu
เราจะตรวจจับการฉีด SQL บนพร็อกซีเซิร์ฟเวอร์เพื่อเพิ่มระดับความปลอดภัย เนื่องจาก Nginx นั้น เร็วขึ้นและใช้งานง่ายขึ้น เราจะใช้มันเป็นพร็อกซีเซิร์ฟเวอร์ เว็บแอปพลิเคชันของเราจะทำงานบนเซิร์ฟเวอร์ Apache
ดังนั้นการรับส่งข้อมูลจากเบราว์เซอร์จะมาที่เซิร์ฟเวอร์ Nginx เราจะกำหนดค่าพอร์ต
เพิ่มไฟล์ webproxy จากที่เก็บเป็น /etc/nginx/sites-enabled
เพิ่ม WebProxy ไปยังเว็บไซต์ของ Nginx ที่นี่เราได้กำหนดเส้นทางการรับส่งข้อมูล HTTP ผ่านเซิร์ฟเวอร์ Nginx ไปยังพอร์ต 8080
ตอนนี้เราจะอัปเดตพอร์ตของเซิร์ฟเวอร์ Apache ของบริการ HTTP อัปเดตไฟล์ ports.conf จากที่เก็บนี้ใน /etc/apache2/ ยังอัปเดตไฟล์ 000-default.conf จากที่เก็บนี้ใน /etc/apache2/sites-enabled
แทนที่โฟลเดอร์ html จากที่เก็บนี้เป็น /var/www/ โฟลเดอร์ เรียกใช้ bank.sql เพื่อสร้างฐานข้อมูลใน mysql. (crediantials สำหรับ mysql: ชื่อผู้ใช้: รูทรหัสผ่าน: รูท)
ที่นี่เราได้เพิ่มใบสมัครธนาคาร
service nginx start
service apache2 startตรวจสอบว่าเซิร์ฟเวอร์ Nginx ได้รับการกำหนดค่าบนพอร์ตหมายเลขหรือไม่ 80 และ Apache Server ได้รับการกำหนดค่าในหมายเลขพอร์ต 8080.
ไปที่ localhost:8080/bank/login.html ป้อนชื่อผู้ใช้เป็น AA และฉีดรหัสผ่านเป็น 'หรือ' y '=' y
ตอนนี้คุณสามารถดูฐานข้อมูลทั้งหมด
ไปที่ localhost/bank/login.html ป้อนชื่อผู้ใช้เป็น AA และฉีดรหัสผ่านเป็น 'หรือ' y '=' y
ตอนนี้คุณไม่เห็นฐานข้อมูลทั้งหมดและคุณไม่สามารถฉีดมันด้วยแบบสอบถามอื่นได้
เมื่อมีการป้อนข้อมูลรับรองผู้ใช้ในระบบ Vulnerables พวกเขาจะถูกส่งผ่านไปยังซอฟต์แวร์ฐานข้อมูลโดยตรง แต่ถ้าเราให้การตรวจสอบความถูกต้องของอินพุตก่อนที่จะเข้าถึงแอปพลิเคชันเว็บไม่เกินเช่นที่พร็อกซีเซิร์ฟเวอร์เราสามารถลดภาระบนเซิร์ฟเวอร์ Apache และประมวลผลได้อย่างมีประสิทธิภาพที่เซิร์ฟเวอร์ Nginx ที่เร็วขึ้น
ดังนั้นฉันได้รวบรวมคำหลัก MySQL ทั้งหมดที่ใช้สำหรับการโจมตีการฉีด SQL และกำหนดน้ำหนักให้กับพวกเขาว่าอินพุตทั้งหมดได้รับการตรวจสอบและตรวจสอบการโจมตี
เป็นการป้องกันการโจมตีแบบฉีด SQL เช่นนี้
ผู้แต่งและผู้สร้าง: Jayant Rane