web-dev-qa-db-ja.com

これはどのエンコーディングですか? base64に似ている

私は現在ペンテストを行っており、これらの48文字のトークンがあります。最初の22は、私が知っているbase64でエンコードされた値として識別されました。

2番目の部分(26文字)はbase64っぽく見えますが、そうではありません。ダッシュやドットが含まれる場合があります。以下に3つの例を示します。

m1inhO2VNYBgOSLJWAeluQjlgf

ev25cx6cHsjpyK8hArabg-jjMs

CZzyYFLg0AIimHNy.fadAppubt

値の意味を説明するように求めているのではなく、それがどのエンコーディングであるかのヒントにすぎません。これは、Java EE Webアプリケーションです。

6
Prinzhorn

base64のように見えますがbase64ではない場合は、 カスタムアルファベット付きのbase64 のようになります。これは、マルウェアの作成者が検出を回避するために行うこと(たとえば、データが漏えいする場合)であり、Webアプリケーション開発者が巧妙だと思ったときに行うものです(通常、かなり間違っており、実際よりも推測するのが難しいと考えています)。 。

私はそうしたことはありませんが、十分に大きなエンコードされたテキストのサンプルがあれば、使用されているカスタムアルファベットを解読することはかなり可能です。アルファベットの内容を決定する必要があるだけで、さまざまな注文を試してみるのは調整の難しい問題です。

(カスタムアルファベットを作成し、それが64文字でない場合、それは another base になる可能性があります。base64に魔法はありません。正しく思い出せば、base53のように狂ったように行くこともできます。)

6
gowenfawr