web-dev-qa-db-ja.com

「Apache」ユーザーに対して任意のPythonコードを実行する機能があります。どのような損害を与えることができますか?

そのため、私の以前の同僚の1人の悪いプログラミングのために、私たちの内部Webアプリの1つは、ユーザーが任意のPython=ファイルをアップロードして実行することを許可します。これは最近、匿名のヒント。これまでのところ、奇妙なことは何もしていません。osライブラリを使用してディレクトリ構造を少しだけ参照しています。ただし、どの程度の被害が及ぶかはわかりません。Python Webアプリとサーバーで実行されているMySQLデータベース。

どういうわけか自分にSSHアクセスを許可できますか?私はそれについてどうやっていくのか正確に理解できません。また、ユーザー情報がないため、データベースにアクセスできないと思います。

それで、私がここで行うことができる最悪のダメージの実際の限界はかなり何ですか?

44
ian93

いくつかのPythonコードを記述してSSHサーバーバイナリをアップロードし、それを実行すると、Apacheユーザーの権限で完全なSSHアクセスが提供されます。

そこから、Pythonアプリの構成ファイルを簡単に読み取り、そこから資格情報を使用してデータベースに接続できます。これにより、機密データを取得することができます(アプリは、データベースは既に)。

また、コメントで @ Aroth が指摘したように、同じユーザーアカウントで実行されている他のアプリを侵害することもできます。

最後に、実行中のカーネル/ライブラリのバージョンを確認し、最終的にエクスプロイトを使用してroot権限を取得できます。

86
André Borie