-2

次の各グループから1つ以上のgrepが必要です。

"include、include_once、exec"

"$ _GET、$ _ POST"

したがって、ファイルには両方のグループからの1つ以上が含まれている必要があります。(phpファイルのディレクトリ全体をチェックします)

いくつかのPHPファイルをスキャンして脆弱性を探していますが、grepは本当に嫌です:(

4

2 に答える 2

1

次のようなコマンドで簡単に始めることをお勧めします。

grep --color=auto -ER '\$_POST|\$_GET' .

また

grep --color=auto -ER 'include(_once)+|exec\(|require(_once)+' .

上記のコマンドは、出力で見つかったパターンに色を付けます。正規表現(-Eを介して有効化)と再帰検索(-Rを介して有効化)に注意してください。正規表現の特殊文字は、バックスペース文字(つまり、$ charとexecの開始括弧)を介してエスケープされます。

見つかったオカレンスのコンテキストを確認するには、grepの-C num引数を使用して、見つかった行の周囲のnum行を確認します。

grep --color=auto -C 2 -ER '\$_POST|\$_GET' .

パターンの出現が見つかった行の前後に異なる数の行を出力する場合は、-A(fter)および-B(efore)を使用することもできます。-n引数を使用して、見つかったオカレンスの行番号を取得することもできます。もっと凝ったものにしたい場合は、findコマンドをxargsおよびgrepと組み合わせたり、パイプを介して接続された複数のgrepコマンドを使用したりできますが、これはWebのチュートリアルで詳しく説明されています。

于 2012-07-24T21:03:23.027 に答える
0

grep -l一致するファイルを一覧表示します。次に、その出力を別のgrepにパイプできます。

grep -l -e "$_POST" -e "$_GET" * | grep -e "include" -e "include_once" -e "exec"

于 2012-07-24T20:35:47.127 に答える