lsの出力をgrepにパイプし、grepを最初にパイプできますか?

lsの出力をgrepにパイプし、grepを最初にパイプできますか?

コマンド注入について少し練習していますが、注入できるコマンドがあります。

grep -i $key dictionary.txt

$key何かを注入できる部分はどこですか?ここで意図された解決策は、;ドアを終了して新しいステートメントを構成することです。しかし、私ができることを見たい使用grep私の試みで。

私がやりたいことは、特定のlsディレクトリにあるファイルを表示できるようにすることです。私はこれら2つを次のように組み合わせたいです。

ls | grep -i "."

ところで注射を当てるので、grep -iまず注射を受けなければなりません。それで、私ができることはありますか?たぶん「逆順」で動作するパイプ演算子でしょうか?

grep -i "." <| ls

編集する

私がここで何をしているのか、何を達成しようとしているのかについて少し混乱があるようです。

ペンテストについていくつかの入門練習をしています。

現在の練習では、次の文字列を含むウェブサイトに挿入しています。

grep -i $key dictionary.txt

その後、この文字列はコマンドの実行に使用されます。その文字列に何かを注入する必要がありますが、これはコマンド注入になります。文字列はすでにサーバーに書き込まれているため、制御できないため、左側に何も配置できませんgrep -i

以下を注入するソリューションがすでにあります。

; ls /etc/natas_webpass #

次に、(挿入時に)サーバー上で実行されるコマンドを作成します。

grep -i ; ls /etc/natas_webpass # dictionary.txt

私はセミコロンを使わずにこの練習問題を解決したいのですが、実際にはgrep既にあるセミコロンを使うこともできます。

編集2

誰かが私が探していることに関するアドバイスがあります<(ls)。私はこれを実行してこれをテストしようとしました。

$ grep -i <(ls)

しかし、これはうまくいきません。何も起こりません。

ベストアンサー1

あなたはほとんどそれを理解しています。注入

. <(ls)

または

^ <(ls)

のための$key。検索する必要があります出力から  ls。指す(.) はすべての文字と一致するため、空白ではなくすべての行に一致します。キャレット(^)はすべての行の先頭に一致するので一致します。どの行、さらには空行。 (ドル記号を使用することもできます。)

おすすめ記事