แฮ็กเกอร์ทำอะไรกับ wp-config.php ของฉัน


11

ฉันพยายามที่จะรักษาความปลอดภัยบล็อก WordPress ของฉัน ผมอ่านโพสต์ในเว็บบางที่ฉันควรเปลี่ยนของฉันและซ่อนของฉันtable_prefix wp-config.phpอย่างไรก็ตามฉันไม่ได้รับมัน? ผู้โจมตีสามารถทำอะไรกับฉันได้wp-config.phpบ้าง

ฉันหมายถึงมีการกำหนดค่า db ของฉัน แต่ผู้โจมตีต้องการDB_HOSTตัวอย่างของฉันซึ่งไม่ง่ายที่จะได้รับเพื่อเชื่อมต่อกับฐานข้อมูลของฉันได้อย่างไร (ในกรณีของฉันมัน: define('DB_HOST', 'localhost');ซึ่งผู้โจมตีไม่สามารถใช้เพื่อเชื่อมต่อกับฐานข้อมูลของฉัน )

หรือฉันจะหายไปฏ?

ฉันขอขอบคุณคำตอบของคุณ!


ฉันเดาว่ามันจะง่ายสำหรับเขาที่จะฉีด SQL ติดดาว รอให้ผู้เชี่ยวชาญตอบคำถามนี้
Robert hue

คุณสามารถโพสต์ไว้บนProgramming Puzzles & Code Golf เบต้าและดูว่ามีอะไรเกิดขึ้นบ้าง :)
Joshua Taylor

1
@JoshuaTaylor โปรดอย่า นอกเหนือจากประเด็นด้านจริยธรรมที่ชัดเจนแล้วเว็บไซต์ของเราไม่เกี่ยวกับ: เราชอบคำถามที่สามารถมีเกณฑ์การชนะอย่างมีวัตถุประสงค์เพื่อตัดสินใจว่าทางออกใดจะชนะไม่ใช่แค่ "เฮ้เราเขียนโค้ดและสนุก! Yaaaay!"
Doorknob

@Doorknob อืมเห็นได้ชัดว่ามันเป็นการประกวดความนิยม แต่อย่างจริงจังฉันหวังว่า ":)" จะสื่อว่าฉันไม่จริงจัง หากใครพยายามโพสต์ไฟล์ wp-config ของพวกเขาเป็นผลโปรดยอมรับคำขอโทษของฉัน
Joshua Taylor

คำตอบ:


9

localhostหมายถึงเครื่องที่ทำงานอยู่ ตัวอย่างเช่นบนเว็บไซต์ของฉัน tomjn.com localhost เป็น127.0.0.1เช่นเคย นี้ไม่ได้หมายความว่าแฮกเกอร์ไม่ทราบว่าในการเชื่อมต่อก็หมายความว่าแทนที่แฮ็กเกอร์ด้วยlocalhosttomjn.com

แน่นอนถ้าฉันมีพร็อกซีนั่งอยู่ข้างหน้าสิ่งนี้จะไม่ทำงาน แต่โปรดจำไว้ว่าหากผู้โจมตีเข้าใช้งานของฉันได้การเข้าถึงwp-config.phpแบบเดียวกันนั้นจะทำให้พวกเขาทำสิ่งอื่นบนเครื่องนั้น

ดังนั้นตอนนี้ผู้โจมตีมีรายละเอียดฐานข้อมูลของคุณและพวกเขาสามารถอ่านwp-config.phpได้ ตอนนี้พวกเขาสามารถเข้าถึงทุกสิ่งในฐานข้อมูลของคุณและสามารถเปลี่ยนแปลงอะไรก็ได้ในฐานข้อมูลของคุณ

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

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

การบอกว่าการได้รับwp-config.phpนั้นเป็นหนึ่งในสิ่งที่แย่ที่สุดที่อาจเกิดขึ้นได้ สามารถทำสิ่งต่าง ๆ ได้อีกมากมาย แต่อาจต้องใช้เวลาหลายเดือนในการพิมพ์การโจมตีที่อาจเกิดขึ้นได้จากสิ่งนี้

ในกรณีที่คุณwp-config.phpได้รับอาจเป็นไปได้ว่าสคริปต์การโจมตีอัตโนมัติไม่ได้เป็นบุคคลจริง เปลี่ยนรายละเอียดทั้งหมดรีเซ็ตรหัสผ่านทั้งหมดและปิดช่อง


2
นี้ไม่ได้หมายความว่าแฮกเกอร์ไม่ทราบว่าในการเชื่อมต่อก็หมายความว่าแทนที่แฮ็กเกอร์ด้วยlocalhost tomjn.com> นั่นคือสมมติว่าคุณมีพอร์ตไปยังฐานข้อมูลที่สามารถเข้าถึงได้จากโลกภายนอก คุณจะไม่ปลอดภัยหากคุณปิดพอร์ตในกฎไฟร์วอลล์อนุญาตเฉพาะคอมพิวเตอร์บนเครือข่ายท้องถิ่น (รวมถึงคอมพิวเตอร์ที่ใช้ wordpress เอง) เพื่อเชื่อมต่อกับฐานข้อมูล
IQAndreas

1
มันจะยังคงเป็นตำแหน่งที่ถูกต้อง แต่ใช่พอร์ตนั้นมีความเกี่ยวข้องฉันส่วนใหญ่เล็งไปที่โน้ตต้นฉบับในคำถาม
Tom J Nowell

2

หากคุณยอมรับการเข้าถึงฐานข้อมูลจากเท่านั้นlocalhost(ไม่สามารถทำได้โดยกำหนดDB_HOSTเป็นlocalhost) ไม่มากเกินไป (กรณีที่เลวร้ายที่สุดคือผู้บุกรุกเข้ายึดบัญชีผู้ดูแลระบบ) แต่เมื่อรวมกับช่องโหว่อื่น ๆ อาจเป็นประโยชน์สำหรับผู้โจมตีที่จะสามารถเข้าถึงการกำหนดค่าของคุณได้

ข้อมูลเข้าสู่ระบบ

ผู้คนใช้ชื่อผู้ใช้และรหัสผ่านซ้ำ ผู้โจมตีจะตรวจสอบว่าชื่อผู้ใช้และรหัสผ่านฐานข้อมูลของคุณ (หรือรูปแบบของพวกเขา) ทำงานสำหรับการติดตั้ง wordpress ของคุณสำหรับ hoster ของคุณสำหรับอีเมลของคุณ ฯลฯ

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

คำนำหน้าตาราง

หากมีการฉีด SQL ที่เป็นไปได้ผู้โจมตีจะต้องรู้ชื่อตาราง มันอาจจะง่ายมากหรืออาจเกี่ยวข้องกับการเดาทั้งนี้ขึ้นอยู่กับฐานข้อมูล หากเกี่ยวข้องกับการคาดเดาควรใช้คำนำหน้าตาราง

กุญแจและเกลือ

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

Charset ฐานข้อมูล

การฉีด SQL บางอย่างขึ้นอยู่กับชุดอักขระดังนั้นจึงเป็นการดีสำหรับผู้โจมตีที่จะรู้สิ่งนี้

สรุป

หากคุณไม่อนุญาตให้เข้าถึงฐานข้อมูลภายนอกหากคุณไม่ได้ใช้รหัสผ่านซ้ำและหากคุณไม่มี SQL injections ที่ใดก็ตามความกังวลหลักจะเป็นกุญแจและเกลือ


บทความนั้นเป็นรุ่นล่าสุดเพียงพอแล้ว คุณไม่ต้องการให้เกลือและกุญแจรั่วไหลออกมา นั่นคือข้อมูลส่วนตัว หากคุณสงสัยว่าพวกเขาถูกทำให้พร้อมใช้งานแล้วให้เปลี่ยนเป็นข้อมูลสุ่มชุดอื่นทันที ไม่มีข้อเสียที่แท้จริงในการเปลี่ยนแปลงพวกเขาเพียงแค่จะนำคุณออกจากเว็บไซต์และคุณต้องเข้าสู่ระบบอีกครั้ง คุณสามารถขอรับชุดคีย์และเกลือแบบสุ่มใหม่ได้จากที่นี่: api.wordpress.org/secret-key/1.1/salt
Otto

1

ฉันถือว่าคุณกำลังถามเกี่ยวกับการเข้าถึงการอ่านเนื่องจากการเข้าถึงเพื่อเขียนนั้นเป็นการเข้าถึงรหัสของตัวเองเพื่อทำสิ่งที่เขาชอบกับไซต์ของคุณ

การสันนิษฐานของคุณว่าข้อมูล DB ไม่ละเอียดอ่อนผิด สมมติว่าไซต์ของคุณโฮสต์อยู่ที่ godaddy Godaddy AFAIK ใช้เซิร์ฟเวอร์ mysql ซึ่งสามารถเข้าถึงได้จากเซิร์ฟเวอร์ของตัวเองเท่านั้น แต่ถ้าฉันรู้รายละเอียดของคุณมันยากแค่ไหนที่ฉันจะสร้างบัญชี godaddy และเขียนสคริปต์ที่เข้าถึง DB ของคุณ? ในกรณีที่ฐานข้อมูลท้องถิ่นนั้นใช้งานได้ยากกว่า แต่บนเซิร์ฟเวอร์โฮสต์ที่ใช้ร่วมกันคุณอาจมี 100 ไซต์ที่แชร์เซิร์ฟเวอร์กับคุณคุณสามารถเชื่อถือพวกเขาให้ปลอดภัยพอที่ Mr Evil จะไม่บุกเข้าไปและใช้เพื่อโจมตีเว็บไซต์ของคุณ?

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