หากแฮกเกอร์เปลี่ยน blog_charset เป็น UTF-7 นั่นทำให้ WordPress เสี่ยงต่อการถูกโจมตีเพิ่มเติมหรือไม่


19

ฉันมีลูกค้าที่ถูกแฮ็กเมื่อไม่นานมานี้และสังเกตว่ามีตัวละครแปลก ๆ ปรากฏบนไซต์ของเธอเช่นÂและÆ ปรากฎว่าแฮกเกอร์เปลี่ยน blog_charset เป็น UTF-7 ในwp_optionsตารางในฐานข้อมูล ฉันตั้งค่ากลับเป็น UTF-8 แต่ฉันสงสัยว่าในช่วงเวลานั้นถูกตั้งค่าเป็น UTF-7 จะสามารถสร้างจุดอ่อนด้านความปลอดภัยได้หรือไม่

ฉันได้บางค้นหาและพบว่ามีการใช้เป็นช่องโหว่ WordPress UTF-7 ที่ได้รับการแก้ไขในเวอร์ชัน 2.0.6 เรากำลังใช้งานเวิร์ดเพรสรุ่นล่าสุดดังนั้นพวกเขาจึงไม่สามารถใช้การโกงนั้นได้ แต่มีการหาประโยชน์อื่นที่เกี่ยวข้องกับ UTF-7 หรือไม่? จริงๆแล้วมีเหตุผลอะไรที่แฮ็คเกอร์จะเปลี่ยน blog_charset นอกเหนือไปจากความเจ็บปวดหรือไม่? ฉันพยายามระบุว่าพวกเขาเข้ามาได้อย่างไรและฉันสงสัยว่าสิ่งนี้จะเชื่อมโยงกันอย่างไร

คำตอบ:


23

<และ>จะถูกเข้ารหัส+ADw-และ+AD4-ในUTF-7 ลองจินตนาการถึงสิ่งต่อไปนี้:

  1. มีคนส่ง+ADw-script+AD4-alert(+ACI-Hello+ACI-)+ADw-/script+AD4-เป็นข้อความแสดงความคิดเห็น มันจะผ่านการสุขาภิบาลทั้งหมดที่ไม่ใช้ Escape

  2. ฐานข้อมูลคาดหวังและปฏิบัติต่อข้อมูลที่เข้ามาทั้งหมดว่าเป็น UTF-8 ทั้งหมดตั้งแต่ UTF-7 ลำธารที่ถูกต้อง UTF-8 เกินไปนี้จะไม่ส่งผลให้เกิดข้อผิดพลาด SQL และmysql_real_escapeหรือhtmlspecialcharsจะได้สัมผัสมัน

  3. WordPress text/html;charset=utf-7ส่งส่วนหัว

  4. WordPress แสดงความคิดเห็นโดยหวังว่าข้อมูลจะถูกหลบหนี แต่เนื่องจากสิ่งนี้ถือเป็น UTF-7 โดยเบราว์เซอร์ JavaScript จึงถูกเรียกใช้งาน

ใช่มันเป็นปัญหาด้านความปลอดภัย

เบราว์เซอร์ทั้งหมดไม่รองรับ UTF-7 ส่วนใหญ่จะแสดงข้อความเป็น Windows-1252 (หรืออะไรก็ตามที่เป็นการเข้ารหัสเริ่มต้นบนระบบปฏิบัติการของพวกเขา) หรือเป็น UTF-8 ปัญหาหลักคือการหลบหนีจะไม่ทำงานอีกต่อไป


เพียงแค่เปลี่ยนค่าการเข้ารหัสกลับไม่ใช่วิธีการแก้ปัญหา ผู้เข้าชมปกติไม่สามารถเปลี่ยนได้เพื่อให้คุณมีเพื่อหาสิ่งที่เปิดประตู


ขอบคุณ! ฉันจะข้ามมือของฉันที่แก้ไขรายการฐานข้อมูลที่ได้ปิดช่องโหว่ความปลอดภัย
Jennette

ไม่ต้องกังวลฉันได้ดำเนินการหลายอย่างเพื่อปิดช่องโหว่ด้านความปลอดภัยแล้ว ฉันไม่สามารถทราบได้ว่าพวกเขายังคงเข้าไปได้อย่างไรดูเหมือนว่าจะไม่มีการแฮ็คในช่วงสองสามวันที่ผ่านมาดังนั้นหวังว่าการเปลี่ยนการเข้ารหัสกลับไปเป็น UTF-8 เป็นขั้นตอนสุดท้ายในการปิดหลุมทั้งหมด
Jennette

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