มาพูดถึงวิธีที่เราสามารถป้องกันช่องโหว่เหล่านี้ได้ในตอนนี้และช่องโหว่เหล่านี้เราสามารถเรียกใช้รหัสใด ๆ ที่เราต้องการบนคอมพิวเตอร์แท็บเล็ต
ฟังก์ชันนี้ควรหลีกเลี่ยงอีกครั้งคุณควรหลีกเลี่ยงการอนุญาตให้ผู้ใช้เรียกใช้รหัสประเภทใด ๆ บนเซิร์ฟเวอร์ของคุณ
พยายามหลีกเลี่ยงฟังก์ชันเหล่านี้ทั้งหมดเช่นการส่งผ่านข้อมูลที่ไม่ดีและฟังก์ชั่นเหล่านี้ทั้งหมดที่อนุญาตให้ผู้ใช้เรียกใช้รหัสระบบปฏิบัติการบนเซิร์ฟเวอร์
หากคุณจำเป็นต้องใช้บางสิ่งบางอย่างเช่นนั้นให้แน่ใจว่าคุณวิเคราะห์อินพุตก่อนที่จะดำเนินการ
ตัวอย่างในตัวอย่างที่เราเห็นว่าโค้ดกำลังทำ ping และมันจะคิดอะไรที่เราใส่ในกล่องข้อความดังนั้นฉันจึงใส่ที่นี่เป็น
Slashdot text box เพียงเพื่อแสดงว่านี่คืออินพุตที่เราใส่เข้าไป กล่องข้อความ
นี่คือสิ่งที่โปรแกรมดูเหมือนจริง
ถ้ามันดูซับซ้อนเกินไปลืมมันเราแค่พูดถึงแนวคิดที่นี่
ดังนั้นเราจะพูดถึงสิ่งนี้ที่นี่
ตัวอย่างเช่นคุณใส่สิ่งที่เราทำคือเราใส่ IP ปกติแล้วเราใส่เซมิโคลอนจากนั้นเราก็ใส่คำสั่งที่เราอยากทำ
ปัญหาเกี่ยวกับสิ่งนี้คือ Web Application ที่ใช้วิธีนี้ในการคัดลอกและรันที่นี่ซึ่งจะเมื่อคุณเมื่อคุณรันคำสั่งนี้มันจะทำการ ping ก่อนจากนั้นมันจะทำ
LS L.
A. ซึ่งเป็นคำสั่งที่เราต้องการ
สิ่งที่คุณต้องทำคือถ้าคุณต้องทำสิ่งที่ฉันแนะนำคือคุณไม่ใช้ฟังก์ชั่นเหล่านี้ถ้าคุณต้องใช้ฟังก์ชั่นแบบนี้
จากนั้นสิ่งที่คุณควรทำคือตรวจสอบว่าอินพุตเป็นสิ่งที่คุณคาดหวัง
ตัวอย่างเช่นคุณคาดหวังที่อยู่ IP และไม่มีอะไรอื่น
ดังนั้นคุณสามารถใช้ regex เพื่อให้แน่ใจว่าคุณจะไม่พูดคุยเกี่ยวกับโปรเจ็กต์หรือสิ่งที่
Rodricks
คือ Rodricks เป็นกฎที่จะทำให้แน่ใจว่าอินพุตมีรูปแบบดังต่อไปนี้ ตัวเลขหลักนั้นซึ่งถ้าฉันใส่อย่างอื่นดังนั้นเว็บแอปพลิเคชันควรปฏิเสธมัน
และนี่คือสิ่งที่ระดับความปลอดภัยขั้นสูงใช้สำหรับรหัส
ฉันรู้ว่าเรากำลังพูดถึงการทดสอบกล่องดำและทุกอย่าง แต่ฉันต้องการแสดงให้คุณเห็นว่าโค้ดของคุณควรเป็นอย่างไร
ดังนั้นถ้าเราไปที่การตั้งค่าความปลอดภัยและฉันจะตั้งค่านี้สูงเกินไปมันเรียกว่าเป็นไปไม่ได้จริงและดีวีดีรุ่นใหม่ที่ฉันซื้อมาถูกใช้ในอันที่มากับฉันนั่นมันลอยได้และมันก็เรียกว่าสูง
ดังนั้นเหตุผลที่พวกเขาเรียกมันว่าเป็นไปไม่ได้เพราะมันปลอดภัยมาก
ดังนั้นหากคุณไปที่การดำเนินการคำสั่งอีกครั้งและฉันจะให้แหล่งข้อมูลแก่คุณเพื่อแสดงให้คุณเห็นว่าพวกเขากำลังทำอะไรอยู่
ดังนั้นจึงมีการนำมาใช้ในลักษณะที่คล้ายคลึงกับการใช้งานและโครงการต่างๆ
ฉันคิดว่าโปรเจ็กต์ของผู้ใช้อาจจะดูดีกว่าในแง่ของรูปลักษณ์ของโค้ด แต่มันก็ไม่มีแนวคิดเดียวกัน
โดยพื้นฐานแล้วสิ่งที่พวกเขามีคือพวกเขามีเป้าหมายตรงนี้
นี่คือสิ่งที่คุณป้อนนี่คือสิ่งที่เราใส่เข้าไป
ดังนั้นสิ่งที่คุณพิมพ์ตรงนี้จะเกิดขึ้นเป็นตัวแปรนี้ตรงนี้เป้าหมายดอลลาร์สุดท้ายนี้
ดังนั้นสิ่งแรกที่พวกเขากำลังทำก็คือพวกเขากำลังเปลื้องผ้าและสแลชจากหลังจากที่พวกเขาทำอย่างนั้น
พวกเขากำลังแบ่ง IP โดยใช้ฟังก์ชั่นนี้
ดังนั้นสิ่งที่ฟังก์ชั่นนี้ทำคืออุปกรณ์ที่ยึดตามจุด
ดังนั้นเราจึงมีหมายเลขหมายเลขที่หมายเลขหมายเลขที่หมายเลขหมายเลขที่หมายเลข
ดังนั้นการแบ่งความคิดนี้ออกเป็นอาร์เรย์
ตัวอย่างเช่นถ้าคุณมี
IP ที่พูดอย่างนั้นเมื่อเราใส่ IP ของเราซึ่งคือ 10 20 14: 2 หรือ
8 ฟังก์ชันนี้ทำหน้าที่ฟังก์ชัน explode ตรงนี้มันจะแบ่งมันออกเป็นสี่และเป็นอาร์เรย์สี่องค์ประกอบ .
ดังนั้นอาร์เรย์จะเป็นแบบนี้
มันจะเป็น 10 20 14 troit ตกลง
และแต่ละองค์ประกอบเหล่านี้สามารถเข้าถึงได้ขึ้นอยู่กับตัวเลขที่นี่
ดังนั้นสิ่งที่พวกเขาทำคือตรวจสอบว่าแต่ละองค์ประกอบเหล่านี้เป็นตัวเลขหรือไม่ดังนั้นจึงตรวจสอบว่าเป็นตัวเลขสำหรับการปรับปรุงสำหรับ
0 สำหรับหนึ่งสำหรับสองและสามและตรวจสอบองค์ประกอบนี้องค์ประกอบนี้และสิ่งนี้ ธาตุ.
พวกเขากำลังทำให้แน่ใจว่าเรามีหมายเลขหมายเลข
ดังนั้นเราจึงพยายามที่จะฉีดรหัสของเราที่นี่โดยไม่คำนึงถึงตัวละครที่เราใช้คำว่าเทคนิคที่เราใช้
ตราบใดที่เราจะใส่ตัวละครไว้ที่นี่เช่น P ดับบลิว
ตัวละครจะเข้าไปที่นี่รวมถึงองค์ประกอบสุดท้าย
และหนึ่งองค์ประกอบสุดท้ายนี้ได้รับการตรวจสอบโดยใช้ฟังก์ชั่นนี้โดยใช้ฟังก์ชั่นเป็นตัวเลข
มันจะให้ข้อผิดพลาดเพราะเห็นได้ชัดว่านี่ไม่ใช่หมายเลขสองหรือแปดอัฒภาค PWT ไม่ใช่ตัวเลข
และนั่นจะทำให้เรามีข้อผิดพลาดที่บอกว่าเราได้ป้อน IP ที่ไม่ถูกต้อง
วิธีที่ดีที่สุดในการทำเช่นนี้อีกครั้งคือการตรวจสอบให้แน่ใจว่าสิ่งที่ผู้ใช้นำเข้านั้นเป็นสิ่งที่คุณคาดหวัง
ในกรณีนี้เราคาดว่าจะมีหมายเลขที่เป็นเลขที่สองหมายเลข Dauth หมายเลขที่หมายเลขนั้นจะต้องมีการแบ่งออกเป็นสี่ข้อโต้แย้งและตรวจสอบให้แน่ใจว่าแต่ละองค์ประกอบเหล่านี้เป็นจำนวนที่จะช่วยให้เราป้องกันการป้อนข้อมูลนี้
อินพุตที่ถูกต้อง
และจะไม่เป็นเช่นนั้นและแฮกเกอร์จะไม่สามารถใช้เพื่อแฮ็คเข้าสู่เซิร์ฟเวอร์ของเรา