“ allrequestsallowed.com” …พยายามแฮ็ค?


11

ฉันมีความพยายามหลายครั้งในเว็บเซิร์ฟเวอร์ (เล็กส่วนตัวและไม่สำคัญ) และ apache และ fail2ban มักจะทำงานได้อย่างถูกต้อง แต่มีบันทึกที่ฉันกังวล:

xx.yy.www.zzz - - [9/Jul/2011:12:42:15 +0100] "GET http://allrequestsallowed.com/?PHPSESSID=5gh6ncjh00043YVMWTW_B%5CFAP HTTP/1.1" 200 432 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"

ปัญหาคือคำตอบไม่ใช่รหัส 404 แต่เป็น 200 แทน ไม่เป็นไร ดูเหมือนจะแปลกสำหรับฉัน แต่ความรู้ของฉันในสาขานี้ (และอื่น ๆ อีกมากมาย) คือการทำให้มันนุ่มนวล จำกัด


1
ดูเหมือนว่าฉันไม่ได้รับอนุญาตให้โพสต์คำตอบใหม่ curl -v http://allrequestsallowed.com/?PHPSESSID=5gh6ncjh00043YVMWTW_B%5CFAP -x www.example.com:80แต่เราได้พบรายการเช่นนี้ในบันทึกของเราและเราก็สามารถที่จะตรวจสอบว่ามันก็ไม่ได้เป็นอันตรายโดยการทำซ้ำคำขอด้วยขด: การกำหนดค่าเริ่มต้นดูเหมือนจะส่งคืนหน้า "ยินดีต้อนรับสู่ nginx" โดยไม่มีเนื้อหาที่มีความหมายในระบบอูบุนตูของเรา ดังนั้นมันจึงเป็นการตอบสนอง 200 ครั้ง แต่เป็นหน้าเว็บที่ง่ายต่อการรวบรวม - เราไม่ได้ส่งคำขอไปที่อื่นหรืออะไรทำนองนั้น
Frank Farmer

คำตอบ:


12

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

เซิร์ฟเวอร์ของคุณมีพฤติกรรมตรงตามที่คาดไว้ 200 คือรหัสที่คาดไว้ในสถานการณ์นั้นเนื่องจาก Apache แปลความหมายของ URL ที่ส่งไปยังมันอย่างไร

ครั้งแรกที่http://allrequestsallowed.comได้รับการปฏิบัติเหมือนปกติ 'พิธีกร:' ส่วนหัว ( ทราบว่าฉันไม่คิดว่านี้จะถูกระบุใน RFC และเซิร์ฟเวอร์อื่น ๆ ที่ไม่อาจตีความว่าวิธีนี้ผมผิดนี้จะถูกระบุใน RFC 2616 ในส่วน 5.1 2 ถึงแม้ว่าลูกค้าไม่ค่อยจะใช้แบบฟอร์มนั้นขอโทษฉันต้องไปแก้ไขการใช้งานเซิร์ฟเวอร์ HTTP ฉันเขียนกลับไปสักครู่ ... )

ทีนี้สมมุติว่าคุณไม่มีเว็บไซต์ชื่อ 'allrequestsallowed.com' ดังนั้นจะเกิดอะไรขึ้นเมื่อ Apache ได้รับHost:ส่วนหัว (หรือเทียบเท่า) สำหรับชื่อโฮสต์ที่ไม่รู้จัก มันเลือกโฮสต์เสมือนแรกเป็นค่าเริ่มต้น นี่คือพฤติกรรมที่กำหนดไว้อย่างดีและมีเอกสารสำหรับ Apache ดังนั้นสิ่งที่โฮสต์เสมือนแรกของคุณคือ (หรือเพียงแค่การกำหนดค่าเซิร์ฟเวอร์หลักหากไม่มี vhosts ใด ๆ ) ก็เข้าครอบครองไม่ว่าจะมีชื่ออะไรก็ตาม

ตอนนี้ส่วนที่เหลือของ URL ที่ระบุประกอบด้วยสองส่วน - พา ธ/และพารามิเตอร์ GET ( ?PHPSESSID...บิต)

ทีนี้เส้นทาง/ควรจะปรากฏบนเว็บเซิร์ฟเวอร์ทุกอันที่นั่น ในกรณีส่วนใหญ่มันแมปกับสิ่งที่ชอบindex.htmlหรืออาจเป็นindex.phpสคริปต์แม้ว่าคุณสามารถแทนที่ใด ๆ ของหลักสูตรนี้

หากแมปไปยังไฟล์ HTML แบบคงที่ไม่มีอะไรผิดปกติเกิดขึ้นอย่างแน่นอน - เนื้อหาของไฟล์ถูกส่งคืนและนั่นคือพารามิเตอร์นั้นจะถูกละเว้น (สมมติว่าคุณไม่ได้มีคำสั่งกำหนดค่าขั้นสูงบางอย่างและคุณเกือบจะไม่แน่นอน)

ในทางกลับกันหากเป็นสคริปต์บางประเภทPHPSESSIDตัวแปรนั้นจะถูกส่งผ่านไปยังสคริปต์ หากสคริปต์ใช้ตัวแปรนั้นจริง ๆ(ในกรณีนี้เฉพาะสคริปต์ PHP ที่ใช้การจัดการเซสชันในตัวของ PHP เท่านั้น) พฤติกรรมของมันจะขึ้นอยู่กับเนื้อหา

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

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

แก้ไข: นอกจากนี้ '% 5C' ภายใน SESSIONID จะจับคู่กับอักขระเครื่องหมายทับขวา นี่น่าจะเป็นการทดสอบการโจมตีผ่านไดเรกทอรีในโฮสต์ windows


ฉันมีคำขอที่คล้ายกัน 404, 500, 403 และ 20x บนเซิร์ฟเวอร์ของฉันที่ใช้งานnginxหรือlighttpdและหลังจากส่ง IP / โฮสต์ต้นทางไปยัง บริษัท วิเคราะห์ไซเบอร์มันได้รับการยืนยันว่ามันพยายามเจาะช่องโหว่ในเซิร์ฟเวอร์จากสิ่งอื่น ๆ . คำขอที่คล้ายกันเป็นคำขอที่ระบุโดย OP ซึ่งเป็นโฮสต์ที่แตกต่างกัน คุณกำลังบอกว่าพวกเขาควรถูกเพิกเฉยหรือไม่? เพราะหากพวกเขากังวลอย่างแท้จริงพวกเขาสามารถบล็อกโฮสต์iptablesได้
Thomas Ward

@The Evil Phoenix: โฮสต์ใน URL ไม่ได้มาจากคำขอเป็นเพียงส่วนหัวของ 'Host:' ที่อยู่ IP ของลูกค้าจริงซึ่ง OP บดบังอาจถูกบล็อกด้วย iptables หากเขาต้องการ แต่ถ้าเขาไม่ได้รับคำขอมากเกินไปมันก็ไม่สำคัญ เพียงเพราะมีคนพยายามเอาเปรียบหลุมไม่ได้หมายความว่ามีหลุมอยู่ ฉันจัดการเซิร์ฟเวอร์จำนวนมาก (Linux) ซึ่งบันทึกคำขอแปลก ๆ มากมายที่ตั้งใจจะใช้ประโยชน์จากช่องโหว่ทุกวัน - ส่วนใหญ่เป็นช่อง Windows / IIS! มันเป็นแค่การสแกนตาบอด หากไม่ได้รับการตอบรับก็จะย้ายไปยังที่อยู่ IP ถัดไป
Nicholas Knight

@The ชั่วร้ายฟินิกซ์: ต่อไปหากหลุมเป็นปัจจุบันการปิดกั้นที่อยู่ IP ที่ใช้ประโยชน์มันจะไม่ทำอย่างหนึ่งบิตของดี เซิร์ฟเวอร์ของคุณอาจถูกโจมตีอยู่แล้วและยังคงเสี่ยงต่อการถูกโจมตีแบบเดียวกันจากแหล่งอื่น - และมีแหล่งข้อมูลมากมาย ระบบซอมบี้ทุกตัวในนั้น (และมีอีกหลายล้าน) เป็นแหล่งที่มีศักยภาพในการสแกนที่เป็นอันตราย
Nicholas Knight

คำอธิบายที่ดีและละเอียด .... ขอบคุณมาก ฉันปิดบังIP ที่ละเมิดในกรณีที่เขา / เธอ ip-ego-surfes :) ของฉัน / แมปไปยังค่าเริ่มต้นของ apache "มันใช้งานได้" (ฉันรู้ว่าไม่เป็นมืออาชีพ ... แต่ฉันบอกว่ามันเป็นเรื่องส่วนตัว lol) ดังนั้นฉันคิดว่าฉันจะต้องไม่ทำอะไรนอกจาก IP เดียวกันจะกลายเป็นความเจ็บปวดซึ่งในกรณีนี้ฉันจะบล็อกมันด้วย iptables (หรือแม้กระทั่ง hosts.deny?) ขอบคุณอีกครั้ง.
luri

1

ฉันได้รับคำขอทั้งหมดนี้บันทึกไว้ใน IP ที่ใช้เป็นบันทึกสำหรับโดเมนที่จอดรถของเราทั้งหมด

ยิงของฉันคือชื่อโฮสต์นี้จะใช้ร่วมกับ hostfile ท้องถิ่น "ผู้โจมตี" ชี้ไปที่โฮสต์เป้าหมาย

เว็บเซิร์ฟเวอร์ที่แท้จริงที่ 31.44.184.250 เป็นเพียงการจัดการคำขอภายนอก

ความคิดเห็นของฉัน: ทั้งหมดไม่เป็นอันตราย ไม่เห็นการใช้มูลค่าเพิ่มใด ๆ ยกเว้นสิ่งที่คุณสามารถทำได้กับชื่อโดเมนปลอมอื่น ๆ ใน hostfile ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.