web-dev-qa-db-ja.com

DVWA-コマンドインジェクション(高レベル)

DVWAを使用して、Web証券についてさらに教育することを試みています。私はコマンドインジェクション、ハイレベルで困惑しています

ヘルプの状態

開発者は、フィルターを少し誤植しており、特定のPHPコマンドがこれらのミスからそれらを救うと信じています。

スポイラー:trim() removes all leading & trailing spaces, right?.

ここでは正しくレンダリングされませんが、trim()とremovesの間に3つのタブスペースがあります。そうは言っても、trim()関数はタブ付きスペースを削除します。 (\ xA0)でも改行しないスペースと格闘しているようです。コマンドラインについてはあまり詳しくありませんが、ソースコードから、注入して挿入しようとするすべてのシンボルがPHPに置き換えられてから、何でも実行できるようになります。

注意してください-ネット上の以前のソースでは、このレベルはクラック不可能と言われていますが、2015-10-05にリリースされたv1.9を使用しています。

「高」レベルの名前を「不可能」に変更し、「高」の新しいベクターを作成しました。

これは事実上、新しい課題です。

私はWindowsで実行していますが、これはコマンド構文などに影響を与えます。他の(古い)回答は、* nixシステムで明らかに簡単な名前付きパイプ(FIFO)の使用を示しています。

5
Ian

これは、trim()が内部スペースを削除しないことを意味しています。たとえば、コマンドpwd && lspwd&&lsになることはありません。このヒントを使用して、不完全なブラックリストを確認すると、リストの弱点を特定できるはずです。

ヒント:ブラックリストの最後の項目は手掛かりです。

2
Jake