背景:最近、彼のウェブサイトでの奇妙な振る舞いのために、ビジネスの知り合いから連絡がありました。予想どおり、サイトが危険にさらされていることがわかりました。
妥協の兆候の1つは、彼の.htaccess
ファイルの変更です。これはかなり一般的です。私はほんの少し正規表現をしましたが、[0-9]
コンストラクトに精通しています。しかし、リテラル番号を持っているように見えるRewriteRule
を見つけました。
RewriteRule ^5014466727/(.*)$ jabez-darla.php [QSA,L]
質問:このルールは文字通り5014466727/
を含むURLで一致するものを探しているのか、これは他の文字列を表しているのか、正しく理解できますか?
妥協の他の部分にはbase64がありますが、この特定のコードに関連するかどうかはわかりません。
RewriteRule ^5014466727/(.*)$ jabez-darla.php [QSA,L]
...このルールは、文字通り5014466727 /を含むURLの一致を探します
はい、closetnocがコメントで述べているように、これはURLのstartにある(一見ランダムな)数字のリテラル文字列です。
キャプチャされたグループ(つまり(.*)
)はsubstitution(または先行するRewriteCond
ディレクティブ)で使用されていないように見えるため、パターン^5014466727/(.*)$
は^5014466727/
と同等。
一見ランダムな数字(サイト/ハックごとに一意の可能性があります)は、おそらく検索エンジンでこれを見つけにくくするためです。