360 を使用してサイトの脆弱性を検出した後、脆弱性を解決するための記事を投稿しました。それがこちらです。しかし、多くの子供の靴は、コードを見つけて追加する方法が分からないという問題を抱えています。なぜなら、すべてのプログラムの変数名が同じであるはずがないからです。 ? コードの汎用性を確保するために、今日は正規表現を使用してコードを検索して追加する方法を段階的に説明します。
$.+= $_GET['.+'];
$.+=$_GET['.+'];
上記は今回使用する 2 つの正規表現です。 注: 2 行のコードは独立しているため、一度に 1 行の正規表現を使用することはできません。
ここで言いたいのは、Robin Bird が作成した comments-link-redirect プラグインを使用する場合は、必ずこの記事を読むことです。このプラグインには CRLF インジェクション攻撃の脆弱性 (HTTP 応答分割の脆弱性) があるためです。それをロビンに報告したところ、更新があるだろうと彼は言いました。このプラグインから始めて、サイトの脆弱性を解決する方法を見てみましょう。
まず、正規表現をサポートする Dreamweaver などのコード編集プログラムを使用して、脆弱性がある可能性のあるすべての PHP ファイルを開きます。
検索ダイアログボックスを開き(キーボードのCtrl+Fを押します)、「正規表現を使用する」オプションをチェックします。
上で指定した 2 つの正規表現を順番に使用して検索します。2 行を同時に実行するわけではないことに注意してください。一致する値が見つかった場合、コード参照ウィンドウのセクションで一致するコードが強調表示されます。
正規表現検索で次のコードが見つかりました。
$リダイレクト = $_GET['r']; 上記のコードの $redirect のリダイレクトは、abcd または heheh と呼ばれる可能性があります。次に、上記のコード行の直後に次のコードを挿入します。
$redirect = trim(str_replace("r","",str_replace("rn","",strip_tags(str_replace("'",""),str_replace("n", "", str_replace(" "," ",str_replace("t","",trim($redirect))))),""))));
上記のコードには $ で始まる英単語が 2 つありますが、独自の要件に応じて使用する必要がある場合は、2 つの変数名を変更する必要があります。以下のように、上記のコードを脆弱なコードの下にコピーするだけです。
$redirect = $_GET['r'];
$redirect = trim(str_replace("r","",str_replace("rn","",strip_tags(str_replace("'","",str_replace(" n", "", str_replace(" ","",str_replace("t","",trim($redirect))))),""))));
この記事の出典: http://www.yiduqiang.com/regex-find-crlf.html