PhpMyAdminのReCaptcha-アクティベーション、バイパス、修正

最近、PhpMyAdminコードを掘り下げて、長い間存在していた承認のキャプチャメカニズムを発見しました(変更ログによる判断)。 とにかく多数のサービスを利用できるのではなく、Google reCaptchaを使用します。

すぐに有効にできます-www.google.com/recaptchaにアクセスして、ドメインの秘密鍵と公開鍵を取得し、config.inc.phpのセル「$ cfg ['CaptchaLoginPrivateKey']」と「$ cfg ['CaptchaLoginPublicKey']」、それぞれ。 その後、承認ページに追加のユーザーチェックが表示されます。

自動パスワード推測に対するほぼ優れた保護。 「ほぼ」-PMA開発者は、ユーザーの利便性のために、スクリプトに大きなギャップを残していません。 現在のセッションでreCaptchaテストに合格すると、その人には表示されなくなります。 つまり、標準のブルートフォースを実装するには、攻撃者が手動チェックに合格し、セッションIDをブルーターに渡す必要があります。それだけで、ブルーターは静かに機能します。

このバグは単純に修正されています。 /libraries/plugins/auth/AuthenticationCookie.class.phpファイルで次の行を見つける必要があります



//すでに正しいキャプチャが1つあります。

$ skip = false;

if(isset($ _ SESSION ['last_valid_captcha'])

&& $ _SESSION ['last_valid_captcha']

){

$ skip = true;

}




「$ skip = true;」という行をコメントアウトします。 これで、reCaptchaは常に表示されます。

そして、 Python + Seleniumの 回避策PasteBin )の小さな実例です。

簡単に機能します。 スクリプトがコード内のPMAページを開いてreCaptchaを「認識」した場合、ブラウザーはページ上に「準備完了」チェックボックスを作成し、人によってマークされるのを待ちます。 このボックスをチェックする前に、人はreCaptchaテストに合格する必要があります。 さらに、検索は通常どおりに行われます。



PS PMA開発者にはもちろん情報があります。



All Articles