目が覚めたとき、777権限を持つ共有ウェブホストのすべてのフォルダーに2つの新しいphpファイルがあることがわかりました。ファイル内のコードを読み取ることができませんでした-デコードされたバージョンは次のとおりです: http://pastie.org/779226 (what ...?)そのコードはいくつかのPHPファイル。
私は誰かがこれをどのように行うのか途方に暮れていますか? 777権限を持つことは賢明なことではないことは知っていますが、そもそもどのようにしてそれらが私のフォルダシステムに入ったのでしょうか。
私はただのクライアントサイドプログラマーです。将来これが起こらないようにする方法についてアドバイスがあれば素晴らしいと思います。
乾杯。
スクリプトの難読化解除バージョンは次のとおりです。 http://pastie.org/private/iobgt7aetg8mezoepucsg
このコードには、別のWebサイトからの外部PHPコードが含まれているようで、その間に訪問者に関する情報を収集します。
これが発生する可能性のある1つの方法は、外部からアクセス可能なディレクトリへのファイルのアップロードを許可していることです。悪意のあるユーザーが悪意のあるコードを含むPHPファイル(画像のアップロードを使用)をアップロードする可能性があるため、適切な検証を行わずにこれを行うと危険です。リクエストされました。
このような問題を回避するには、次のことを確認してください。
readfile()
を使用してファイルを提供します。私が考えることができる少なくとも2つの可能性があります:
それらが発生するのを防ぐには:
一部のログ(ApacheからのアクセスログとWebサイトが実行しているFTPサーバーからのFTPログ)にアクセスできる場合は、何が起こったかを確認するのに役立ちます。
それが本当に広く開かれた欠陥でない限り(ユーザーが好きなものの上にfopen()をラップするだけの保護されていないスクリプトがあるように)、彼らがスクリプトの単純な欠陥でこれほど多くの変更を行うことができたのは疑わしいので、私はチェックしますFTPログインの優先順位。