標準的なシナリオでは正規表現を見つけることができません。これが正規表現でどのように達成されるかわからない。文字列がパターン内に存在しない場合にのみパターンを一致させる正規表現
Regex ---> (?is)[^:]\/\/
Payload ---> Regexp,test//check//last://
Matches ---> t// and k//
問題:(ペイロード以下のように):「画像データ」私はテスト文字列が始まる場合にのみ//の一致を無視するように、上記の正規表現を変更する必要があります。 「:画像データ」よう
は、上記の正規表現を変更する方法を提案するテスト文字列で始まるので、それは私の基準(//の一致)のために一致していなければならない。このような場合には
Payload ---> data:image/png;base64,test//check//last://
私たちはこのケースを扱うことができます。
とは一致しません文字列が第1の値で始まるかどうかをチェックします。とにかく、JS regexエンジンは無限のlookbehindをサポートしていないので、 '(?<!^ data:image。*)'を使うことはできません。 –
すべてのペイロードに_all matches_が必要ですか? – degant
はい、私はすべてのパターンを見つけてそれを取り除く必要があります。しかし、私はペイロードが "data:image"で始まる場合にのみこのアクションを実行したくありません(2番目のケースでは、パターンマッチが起きないようにしています)。 "一致すれば一致しません"のようなものを実現しようとしています –