コマンドの注入が必要な問題のフラグをキャプチャしようとしています。 $(ls..) コマンドを使用して、テキストファイル flag.txt を表示できます。
ただし、$(cat)や$(cd)などのcdまたはcatを使用しようとすると、「コマンドが見つかりません」というメッセージが表示されます。
また、以下をすべて試しました。
$(ls .. | cat flag.txt)
$(echo $PATH)
$(cat flag.txt)
$(ls .. | echo $PATH)
$(pwd)
$(ls .. | pwd)
$(cd ..)
$(cd .. | echo $PATH)
端末コマンド $() をラップします。それ以外の場合はコメントとして投稿されるからです。
チャレンジの説明は次のとおりです。
私たちが関係のない情報だと思う情報から、ギャングを監視する現場エージェントの一人が今朝個人の一人が鉛筆を売るウェブサイトを見ていることを発見したと報告しました。まあ、彼らはファイルを隠すなど、他の目的にも使用しているようです。
幸いなことに、そのサイトはコマンド注入に脆弱であると判断されます。コメントフォームを使用してファイルにアクセスして検索できることを確認してください。これには、強盗計画に関与するギャングメンバーのリストと攻撃における特定の役割が含まれていると考えているので、すぐに把握することが重要です。
ヒント:フラグを含むファイルを見つけます。
私は答えを探していません。解決策を見つけるのに役立つ提案やウェブサイトを歓迎します。
答え1
実行すると、このファイルを見ることができますls ..
(アイデアがどこから来ても)...
つまり、ファイルの場所は./flag.txt
(= flag.txt
)ではありませんが、../flag.txt
$(cat ../flag.txt)
答え2
chainコマンドの代わりにorを使用したい場合は、パイプを使用しても|
効果はありません。;
&&