ホームページ >バックエンド開発 >PHPチュートリアル >特定の環境で PHP サフィックス ブラックリストをバイパスして Web シェルをアップロードする
ある問題では、ホワイトハットが 3 人いて、ある素晴らしい質問がブラックリストを使用してアップロードをブロックされました。質問をした人はブラックリストを回避するためにphtmlを直接アップロードしていましたが、phtmlがphpに解析できるとは知りませんでした。
そこでローカルでテストしましたが、ローカルの phtml サフィックスを解析できないことがわかりました。私のローカル環境はphpstudy統合環境です。
次に、kali 仮想マシンでテストしたところ、phtml を解析できることがわかりました。その時は奇妙に感じたので、kali の Apache 設定ファイルを調べてみました
kali は Debian システムであり、/etc/apache2 ディレクトリには Apache2 のすべての設定ファイルが含まれています
このうち、apache2.conf がメインの設定ファイルで、*-enabled は使用中の設定を示し、*-available は使用可能な設定を示します。
apache2.conf の設定を見てみましょう。
モジュール設定はファイルの最後に含まれており、php5 モジュール設定は mods-enabled になっています
php5 が表示されます.conf は ../mods-available/php5.conf へのソフトリンクです。 php5.conf
を見て、サフィックス名がこの規則を満たしていれば、php ファイルとして実行できることがわかりました。準拠したサフィックスには、php、php3、php4、php5、phtml、pht などが含まれます。
その後、他のいくつかの Apache+php 環境もテストしました
windows
phpstudy および wamp two統合環境
linux
Ubuntu、debian、centos はソースからランプをインストールします (apt-get および yum)
結果
によってインストールされたランプ環境。 yum メソッドを使用した phpstudy、wamp、centos は phtml と pht を解析できません
ubuntu と debian が apt-get メソッドを使用してインストールしたランプ環境は、phtml と pht を解析できます 理由は上記の分析と同じです。の。
備考
これらの環境機能とブラックリストを使用すると、制限を回避して WebShell をアップロードする目的を達成できます。これは、通常の侵入テストのブレークスルー ポイントとなる可能性があります