それで、私は過去数時間正規表現を構築しようとしてきましたが、これが可能であるか、野生に値するかどうかを考えるのに夢中になり始めています。
既知の悪意のあるファイルと特定の文字列の MD5 サムをチェックする PHP ファイルをスキャンするスクリプトがあります。ごく最近、PHP ファイルで base64_decode を使用する代わりに、変数を使用して連結しているファイルに遭遇したため、スキャナーはそれを検出しません。
例として、これが私が見つけた最新のものです:
$a='bas'.'e6'.'4_d'.'ecode';eval($a
そのため、スキャナーは base64_decode を検索するため、PHP を使用して base64_decode を変数に連結し、変数を呼び出すため、このファイルは取得されませんでした。
正規表現を始めたばかりなので許してください。しかし、正規表現を使用してこのようなものを検索することは可能ですか? つまり、私は理解し、その正確な正規表現に一致する正規表現を取得できましたが、代わりにこれを使用した場合はどうなりますか:
$a='b'.'ase'.'64_d'.'ecode';eval($a
正規表現が '、b、a などを探していたため、取得されませんでした。
私はすでに追加しました
(eval)\(\$[a-z]
ファイルを確認するための通知としてメールを送信するには、ファイルを数日間実行して、誤検知がいくつ表示されるかを確認する必要がありますが、私の主な関心事は base64_decode です。
誰かが私のためにこれに光を当てて、おそらく私を正しい方向に向けることができれば、私はそれを大いに感謝します.
ありがとう!!