PrestaShop ถูกแฮก? ค้นพบอาการ สาเหตุ และวิธีแก้ไข
ซอฟต์แวร์ PrestaShop เป็นโซลูชัน E-commerce แบบ Open source มันถูกพัฒนาเป็นโปรเจกต์โรงเรียน อย่างไรก็ตาม ชุมชน Open source ได้ตามทันอย่างรวดเร็ว ดังนั้น เนื่องจากเป็น Open source มันใช้ PHP และ Mysql สำหรับจัดการฐานข้อมูล โค้ดสำหรับ PrestaShop สามารถมองเห็นได้โดยใครก็ได้ เพราะมันเป็น Open source เนื่องจากทุกคนมองเห็นได้ ทุกคนจึงหาบั๊กได้ ความปลอดภัยของ PrestaShop ได้รับช่องโหว่ร้ายแรงในปีนี้ สิ่งเหล่านี้ครอบคลุมตั้งแต่ SQL Injection PrestaShop ไปจนถึง การเข้ารหัส Cookie ที่บั๊ก ซึ่งอาจเป็นสาเหตุของการโจมตี PrestaShop ของคุณ ความปลอดภัย E-commerce มีความสำคัญสูงสุด เนื่องจากเกี่ยวข้องกับการสูญเสียรายได้ทันที “การโจมตี PrestaShop” กำลังเพิ่มขึ้น เนื่องจากการใช้โซลูชัน E-commerce นี้อย่างแพร่หลาย ดังนั้น ผู้ใช้ต้องลงทุนเวลาและเงินมากขึ้นใน ความปลอดภัย PrestaShop
PrestaShop ถูกแฮก: ผลลัพธ์ที่เป็นไปได้จากการโจมตี PrestaShop
- สร้างหน้าปลอมบนเว็บไซต์ของคุณ
- Redirect ลูกค้าไปยังเว็บไซต์อื่น
- ขโมยข้อมูลละเอียดอ่อน เช่น Login credentials, รหัสผ่านธนาคาร หรือรายละเอียดบัตรเครดิต
- SEO Spam เช่น Japanese Keyword Hack & Pharma Hack
- โฮสต์ของคุณปิดใช้งานเว็บไซต์
- Blacklist บนเครื่องมือค้นหา
- สแปม คนมากขึ้น
- เว็บไซต์ของคุณช้ามาก และแสดงข้อความ Error
- โฆษณาและป๊อปอัปเปิดเมื่อคุณเยี่ยมชมเว็บไซต์
- สูญเสียความไว้วางใจของผู้ใช้
- สูญเสียรายได้
- และอื่นๆ อีกมาก!
PrestaShop ถูกแฮก: สาเหตุที่เป็นไปได้ของการโจมตี PrestaShop?
1) PrestaShop ถูกแฮก: SQL Injection PrestaShop
SQL Injection ใน PrestaShop เป็นช่องโหว่ทั่วไป มันรุนแรงเพราะเกี่ยวกับฐานข้อมูล สิ่งนี้เกิดจากคุณให้ Input ที่ไม่ได้รับอนุญาต DBMS จึงรัน Query จาก Input นั้น และนำไปสู่การเปิดเผยข้อมูลละเอียดอ่อน อาจถึงขีดควบคุมระบบในบางกรณี การฉีด SQL ของ PrestaShop ถูกรายงานครั้งแรกในปี 2014 PrestaShop 1.6.0 และเวอร์ชันอื่นๆ ถือว่าเปราะบาง ปัญหาอยู่ที่พารามิเตอร์ id_fabricant
https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3[SQL-injection]บรรทัดโค้ดต่อไปนี้ให้ Input ที่ไม่ได้รับอนุญาตหลัง id_fabricant ดังนั้น ฮักเกอร์จึงอ่านฐานข้อมูลได้ สิ่งนี้จะทำลายความปลอดภัยของ PrestaShop นอกจากนี้ เพื่อเอ็กซ์พลอยต์อัตโนมัติ เครื่องมืออย่าง Sqlmap, Sqlninja ฯลฯ ถูกใช้
เมื่อไม่กี่วันมา SQL Injection PrestaShop อีกตัวถูกค้นพบ PrestaShop (1.5.5.0 – 1.7.2.5) ประสบช่องโหว่นี้ ได้รับการ baptized (ตั้งชื่อ) ว่า CVE-2018-8824 นอกจากนี้ เนื่องจากโมดูล ชื่อ Responsive Mega Menu (Horizontal + Vertical + Dropdown) Pro ดังนั้น หากคุณติดตั้งโมดูลนี้ ให้อัปเดตทันที!
GET: http: //site/modules/bamegamenu/ajax_phpcode.php? Code = p (Db :: getInstance () -
> ExecuteS ("show tables"));
โค้ดต่อไปนี้ดึงข้อมูลโดยใช้ Ajax query จากพารามิเตอร์ที่เปราะบาง มันแสดงตารางที่มีอยู่ในฐานข้อมูล โดยการแทนที่ “show statement” ด้วย “statement of choice” เพียงอย่างเดียว การดำเนินการฐานข้อมูลจะสามารถทำได้ โจมตีจึงสามารถอ่านตารางละเอียดอ่อนได้ ตารางเหล่านี้เปิดเผย Login credentials ความปลอดภัยของ PrestaShop จึงถูกละเมิด แดชบอร์ดเปิดให้แฮก PrestaShop!
2) PrestaShop ถูกแฮก: Privilege Escalation (การเพิ่มสิทธิ์)
Privilege Escalation เป็นปัญหาความปลอดภัยร้ายแรงที่เกี่ยวข้องกับ PrestaShop มันเกิดเมื่อผู้ใช้ที่มีสิทธิ์แอดมินต่ำกว่า ได้รับสิทธิ์ที่สูงกว่า การเพิ่มสิทธิ์สำหรับความปลอดภัย PrestaShop ถูกรายงานครั้งแรกในปี 2011 บั๊กล่าสุดถูกค้นพบในปี 2018 เวอร์ชัน PrestaShop ก่อน 1.6.1.19 ประสบช่องโหว่นี้ ช่องโหว่ได้รับการเรียกว่า CVE-2018-13784 ข้อบกพร่องอยู่ที่การเข้ารหัส Cookie ของผู้ใช้ที่บั๊ก PrestaShop ใช้การเข้ารหัส Blowfish / ECD หรือ AES ผ่าน openssl_encrypt (). ดังนั้น มันเปราะบางต่อ Oracle attacks นอกจากนี้ ให้โอกาสโจมตี อ่าน/เขียน เนื้อหาของ Cookie PrestaShop ได้ ดังนั้น คนสามารถเข้าถึง Cookie ที่ไม่ได้ตั้งใจให้ นำไปสู่ Privilege Escalation โจมตีจึงสามารถ:
● เข้าถึง Session ผู้ใช้ใดก็ได้
● ขโมยข้อมูลละเอียดอ่อน เช่น รายละเอียดบัตรเครดิต ฯลฯ
● กลายเป็นแอดมินของไซต์ และสร้างความวุ่นวาย!
กระบวนการออก Cookie เกิดขึ้นใน ./classes/Cookie.php สคริปต์สำหรับเอ็กซ์พลอยต์ช่องโหว่นี้ ได้ถูกเผยแพร่บน www.exploit-db.com แล้ว สิ่งนี้เร่งความเร็วกระบวนการแฮก PrestaShop ทั่วโลก
3) PrestaShop ถูกแฮก: ปัญหาความเข้ากันได้ (Compatibility Issues)
บ่อยครั้ง มีปัญหาความเข้ากันได้ อาจเป็นเพราะรัน PrestaShop บนการติดตั้ง WordPress WordPress อัปเดตอัตโนมัติผ่านเวอร์ชันล่าสุด ในทางกลับกัน นี่เป็นแนวปฏิบัติที่ดีมาก อย่างไรก็ตาม แอปเปิลความขัดแย้งอยู่ที่ การอัปเดตที่ล้มเหลว ดังนั้น เรื่องนี้ชี้แจงเพิ่มเติมโดยการดูกระบวนการอัปเดต WordPress ที่ล้มเหลว
บนผิวน้ำ ทุกอย่างดูดี แต่จริงๆ แล้วไม่! WordPress เพิ่งสร้างไฟล์ .txt copy ของ wp-config.php. ดังนั้น ข้อมูลละเอียดอ่อนของฐานข้อมูล PrestaShop นำเสนอในรูปแบบไฟล์ข้อความบนเซิร์ฟเวอร์ มีสแกนเนอร์ที่ออกแบบมาเพื่อค้นหาไฟล์แบบนี้ โจมตีจึงสามารถแฮก PrestaShop ได้ ทั้งหมดนี้เพราะการติดตั้ง WordPress ที่ไม่ดี ดังนั้น ปัญหาความเข้ากันได้แบบนี้ เกิดขึ้นเรื่อยๆ ในความปลอดภัย PrestaShop
4) PrestaShop ถูกแฮก: Remote Code Execution (RCE)
นี่เป็นผลลัพธ์ของโค้ดที่บั๊ก ซึ่งอนุญาตให้ฮักเกอร์รันโค้ดระยะไกลบนคอมพิวเตอร์ของคุณ ดังนั้น เซิร์ฟเวอร์ของคุณอาจถูกบุกครอบครองอย่างสมบูรณ์ ช่องโหว่ RCE ถูกค้นพบในความปลอดภัย PrestaShop ในปีนี้ แต่งชื่อ CVE-2018-8823 พบในโมดูล Responsive Mega Menu Pro เวอร์ชันถึง 1.0.32 เปราะบาง นี่เกิดจากฟังก์ชันที่ไม่รู้จักใน ไฟล์ modules / bamegamenu / ajax_phpcode.php. พารามิเตอร์สามารถแก้ไขเพื่อรันโค้ดระยะไกล นอกจากนั้น ไม่มีการตรวจสอบสิทธิ์ใดๆ สำหรับการเอ็กซ์พลอยต์
5) PrestaShop ถูกแฮก: รหัสผ่านอ่อนแอและสิทธิ์แอดมิน
เป็นไปได้ค่อนข้างว่า คำเดียวอย่าง admin อาจทำลายธุรกิจใหญ่ บ่อยครั้ง การติดตั้งเริ่มต้น (Default installation) ถูกมองข้าม ตรวจสอบให้แน่ใจว่าไม่มีการติดตั้งที่มีรหัสผ่านเริ่มต้น นอกจากนี้ ให้ระวังว่า Root administration ไม่ได้ถูกมองเห็นบนอินเทอร์เน็ต สิ่งนี้อาจนำไปสู่การรั่วไหลของไฟล์ติดตั้งที่ละเอียดอ่อน
6) PrestaShop ถูกแฮก: Arbitrary File Upload (อัปโหลดไฟล์โดย الذاتي)
บางครั้ง Checks and balances ไม่ได้ถูกนำไปใช้ ดังนั้น PrestaShop จึงอนุญาตให้อัปโหลดไฟล์ที่ออกแบบมาเฉพาะ นี่เป็นปัญหารุนแรง เพราะอาจทำลายเว็บไซต์ สามารถใช้ติดตั้งมัลแวร์ในระบบได้ นอกจากนี้ Google Dorks พร้อมใช้งานสำหรับตรวจสอบไฟล์ที่เปราะบางแบบ Bulk ตัวอย่าง:
inurl:"/modules/columnadverts2/"
หรือ
inurl:"/modules/columnadverts/"
ด้วยการค้นหา Google คำเหล่านี้เพียงอย่างเดียว คนสามารถหาเซิร์ฟเวอร์ PrestaShop ที่เปราะบางได้ ไม่ได้ต้องการบลייםการเขียนโค้ดที่ผิดปกติเสมอไป อาจเกิดจากสิทธิ์ที่ผิดที่คุณตั้งค่าไว้
7) PrestaShop ถูกแฮก: XSS และ Zero Day Exploits
Cross-Site Scripting XSS เป็นหนึ่งในช่องโหว่ที่พบบ่อยที่สุด การเอ็กซ์พลอยต์ XSS สำเร็จ อาจนำไปสู่:
● บัญชีแอดมินถูกบุกครอบครอง
● เข้าถึง Cookie แอดมิน
● โค้ดขโมย Cookie อันตรายในความคิดเห็น
● ดาวน์โหลดมัลแวร์ลงระบบของผู้ใช้
● เข้าถึงไฟล์และข้อมูลละเอียดอ่อน
นอกจากนี้ Zero-day exploit อาจบุกครอบครองเว็บไซต์ของคุณ Zero-day exploit พื้นฐานคือ ช่องโหว่ที่ไม่ได้รายงาน เนื่องจากไม่ได้รายงาน จึงไม่มีแพทช์สำหรับมัน วิธีแก้ที่ดีที่สุดคือ PrestaShop Firewall อย่าง Astra เพื่อหน่วงเวลาหรือป้องกันการโจมตี
PrestaShop ถูกแฮก: Japanese Keyword Hack และ Pharma Hack (SEO Spam)
นี่คือเทคนิค Blackhat SEO ที่ผลการค้นหาของเว็บไซต์ของคุณถูกแฮก บอทเครื่องมือค้นหาเช่น Google หรือ Bing จะ Crawl เว็บไซต์ของคุณเหมือนว่าเป็นภาษาญี่ปุ่น หรือเกี่ยวกับ Pharma คุณสามารถตรวจจับการแฮกนี้ได้โดยการพิมพ์ Query ต่อไปนี้ใน Google บางคนสับสน Japanese SEO Spam กับตัวอักษรจีน
Site: example.com หรือ Site: example.com Japan หรือ Site: example.com viagra
นี่คือ Screenshot ของลักษณะ Japanese SEO Spam และ Japanese Pharma Spam – Pharma Hack ใน PrestaShop [/ caption]
คุณสามารถดูคู่มือโดยละเอียดของเราเกี่ยวกับวิธีแก้ไข Japanese SEO Spam และ Pharma Hack ใน PrestaShop
การทำความสะอาดหลัง PrestaShop ถูกแฮก (Cleanup After PrestaShop Hacked)
1) ความปลอดภัย PrestaShop: บล็อกการเข้าถึง
หาก PrestaShop ของคุณถูกแฮก เริ่มต้นด้วยการบล็อกการเข้าถึงโฟลเดอร์ที่ละเอียดอ่อน สามารถทำได้โดยการสร้างไฟล์ .htaccess ภายใน ในไฟล์นี้ เขียน:
Order Deny, Allow Deny from all Allow from 22.33.44.55
ส่วนโค้ดนี้ ปฏิเสธการเข้าถึงไฟล์/โฟลเดอร์ นอกจากนี้ บรรทัดสุดท้าย ระบุ IP addresses ที่อนุญาต คุณยังสามารถเพิ่ม IP Range ได้ คุณอาจต้องการตรวจสอบไฟล์ .htaccess ที่ถูกแก้ไข ทำความสะอาดมันก่อน หากมีการโจมตี PrestaShop
2) ความปลอดภัย PrestaShop: ตรวจสอบสิทธิ์ (Permissions)
เป็นอันดับสอง ให้แน่ใจว่าสิทธิ์ (Permissions) ถูกต้องสำหรับไฟล์ ในกรณีของ Directories พวกมันคือ 755 (rwxr-xr-x) และสำหรับไฟล์ 644 (rw-r - r--). ให้แน่ใจว่าตั้งค่าอย่างถูกต้อง เพื่อป้องกันการใช้สิทธิ์เข้าถึงไฟล์ผิดวัตถุประสงค์
3) ความปลอดภัย PrestaShop: โมดูล Rogue (Rogue Modules)
เราเคยเห็นกรณีที่ PrestaShop ถูกแฮก เพราะปลั๊กอินที่เปราะบาง ให้ระวังโมดูลที่บั๊กหรือล้าสมัย อัปเดตหรือแทนที่ มีตัวเลือกอื่นมากมาย
4) ความปลอดภัย PrestaShop: การเข้ารหัส (Encryption)
เข้ารหัสค่า Login ในตารางแอดมิน สิ่งนี้อาจเป็นกำแพงที่สอง หากฐานข้อมูลถูกบุกครอบครอง ใช้ฐานข้อมูลแยกต่างหากสำหรับ Web application อื่นที่ติดตั้งบนเซิร์ฟเวอร์เดียวกัน
5) ความปลอดภัย PrestaShop: รหัสผ่าน (Passwords)
ใช้ FTP และ Login credentials ที่แข็งแกร่ง อย่าใช้คำหรือวลีที่ใช้บ่อย!
6) ความปลอดภัย PrestaShop: โค้ดที่ทะลุไม่ได้ (Impenetrable Code)
ฮักเกอร์พยายามซ่อนโค้ด พวกเขาทำได้โดยใช้ Encoding ที่อ่านไม่ได้ด้วยตาเปล่า ดังนั้น คุณควรค้นหาโค้ดที่ซ่อนอยู่ในรูปแบบ Base64 ด้วยมือ อาจเหมือนหเข็มในองหญ้า ชิ้นโค้ดง่ายๆ สามารถทำได้
find . -name "*.php" -exec grep "base64"'{}'\; -print &> weirdcode.txt
โค้ดนี้จะค้นหาโค้ดที่เข้ารหัส Base64 และบันทึกใน weirdcode.txt จากที่นี่ วิเคราะห์ว่าอะไรผิดปกติ คุณอาจต้องการค้นหาโดเมน Redirect เช่น:
<li><a href="weird-domain.com">Something1</a></li>
ค้นหาในไฟล์ weirdcode.txt โดเมนที่ซับซ้อน
7) ความปลอดภัย PrestaShop: อัปเดตและสำรองข้อมูล (Update & Backup)
Backup ไฟล์ทั้งหมด หากคุณยังไม่ได้ทำ อัปเดตเป็นประจำ ติดตั้งใหม่จากเว็บไซต์อย่างเป็นทางการ ติดตามแพทช์ล่าสุด บล็อกอย่างเป็นทางการเป็นที่ดีที่สุดสำหรับสิ่งนี้
8) ความปลอดภัย PrestaShop: Firewall PrestaShop
เพื่อป้องกันการโจมตี PrestaShop ในอนาคต ใช้ Firewall Firewall ป้องกันผู้ใช้ที่ไม่ได้รับอนุญาตเข้าไปในระบบของคุณ มี Firewall ที่น่าสนใจมากบนตลาด บางตัวฟรี บางตัวอาจใช้ราคาเท่ากับแก้วกาแฟ คุณยังสามารถใช้ปลั๊กอินเพื่อวัตถุประสงค์นี้ได้
สรุป (Conclusion)
การโจมตี PrestaShop อาจนำไปสู่การทำลายล้างธุรกิจของคุณอย่างสมบูรณ์ ความปลอดภัย E-commerce เป็นเรื่องละเอียดอ่อน การทำความสะอาดความวุ่นวายจาก PrestaShop เป็นภารกิจมหาศาล ดังนั้น ป้องกันดีกว่ารักษา ใช้ WAF หรือโซลูชันความปลอดภัย เพื่อให้ฮักเกอร์อยู่ห่าง นอกจากนี้ อัปเดตการติดตั้งของคุณเป็นประจำ และค้นหากิจกรรมน่าสงสัยต่อไป จำไว้ว่า โซ่ไม่แข็งแรงกว่าลูกโซ่ที่อ่อนแอที่สุด