ダミーのウェブサイトで侵入テストを行っています。このウェブサイトでPHP Shellをアップロードできましたが、2つの問題があります:
PHPセーフモードをバイパスし、書き込み権限を取得して完全に侵入できるようにするための方法はありますか?
PHPのsafe_modeは非推奨の機能です。これはPHP=レベルで共有サーバーのセキュリティ問題を解決するためのものでした。これは決して良いアイデアではなかったため、=の時点でこの機能は非推奨になり削除されましたPHP 5.4(ターゲットが実行中PHP 5.3.10これは古くなっています。)この回答は、safe_modeが最初から優れたアイデアではなかった理由を示しています。 PHPのsafe_modeをバイパスして特権を昇格させるという2つの部分が含まれています。
Safe_modeの問題に取り組むとき、最初に注意すべき重要なことは、標準的な解決策は1つではなく、それは実際にはターゲットの構成(および少しの運)に依存します。以下は、うまくいくかもしれないテクニックの概要です。
echo function_exists('pcntl_exec');
コマンドを実行します。safe_mode_allowed_env_vars
_ディレクティブを設定する必要があります(var_dump(ini_get('safe_mode_allowed_env_vars'));
を実行してその値を確認できます運が良ければ、空の文字列が返されます。つまり、環境に対するsafe_modeの制限が事実上無効になり、LD_Preloadトリックを説明どおりに使用して here を実行し、safe_modeをバイパスしてコードを実行できます。少し運が良ければ-書き込み権限の欠如はsafe_modeディレクティブの影響であり、したがってバイパスされるため、書き込み権限が付与されます。しかし、そのような運がない場合は、OSレベルで特権を昇格させる必要があります。このようなエスカレーションを実行するには、いくつかの方法があります。
ここまでたどり、この時点まですべてがうまくいったならおめでとうございます。これでターゲットを完全に侵害し、ルートレベルのシェルができたので、今度は書き上げの時間です。また、新たに得たすべての知識を覚えておく必要があります。大きな力には大きな責任が伴います。