5

Webサイトの保護は非常に困難で幅広いトピックであることがわかっていますが、この質問を、私が取り組んでいる特定のWebサイトに関連付けたいと思います。それは2004年頃に他のプログラマーによってphpでコード化されており、私はその管理を担当しています。私の問題は、何度もハッキングされていることです。ハッキングされたとき、私は次のことに気づきました。

  1. .htaccessファイルが変更されました
  2. index.phpおよびconfig.phpファイルが変更されました
  3. 管理者パスワードが変更されました
  4. サーバーにファイルをアップロードする
  5. ファイルとフォルダのファイル権限を変更する

私はコードに取り組んできましたが、適切にエスケープされており、SQLインジェクションの可能性はないと思います。問題のほとんどはファイルと権限に関連しているので、サーバーのセキュリティについては疑問がありますが、2004年頃にコーディングされたため、確かにある程度のセキュリティが不足しているため、コードで他にどのような作業を行う必要がありますか?上記の問題で私のサイトがハッキングされるのを防ぎますか?

前もって感謝します。

4

4 に答える 4

5

ファイルが変更されているため、SQLインジェクションのバグが原因である可能性はほとんどありません。

ファイルにアクセスする可能性:

  • FTPパスワードを推測/盗む
  • サーバーをハックします(それについては実際には何もできません)
  • サーバーの分離が不十分です。つまり、他の顧客がファイルを変更する可能性があります(これについても実際には何もできません)
  • リモートコード実行のバグ

Webサイトは2004年のものであると言うので、テンプレートなどに使用し、2004年に頻繁に行われたコードに含めることができます。evalしたがって、evalと正規表現と同様に。それらは、それらがどのように使用されたかによっては、主な容疑者です。includesite.php?section=foofoo.phpinclude(.*\$.*)require(.*\$.*)

于 2012-06-14T11:16:10.983 に答える
3

特に(a)スクリプトではなく、誰かがサーバーに直接アクセスしている可能性があります。これは、コードベースに起因するセキュリティの問題のようには聞こえません。

これが何度も発生した場合は、サイト全体を別のプロバイダーに移動することを検討してください。新しいパスワード、アクセス制御などを使用して、別の場所からやり直します。

于 2012-06-14T11:08:25.560 に答える
2

OWASPトップ10は非常によく読まれています。私のいくつかの推測。

  • 脆弱性のある古いOS。
  • MySQLインジェクションと、おそらくすべてのパスワードがプレーンテキストで保存されていますが、これは非常に悪いことです。認証には、代わりにopenIDのようなものを使用する必要があります。また、MySQLインジェクションを使用している場合は、可能であればPDO(プリペアドステートメント)を使用するようにコードを更新する必要があります。
  • 読み取り/書き込み権限が正しく設定されていないか、APACHE / PHPが高レベルで実行されていますか?

あなたへの私のアドバイスは:

  • OWASPに関する情報を読んでください。次に、コードの欠陥を明確に探します。すべての回線がソースオフの問題である可能性があります。非常に安全ではないので、古いコードを捨てるべきかもしれませんか?
  • ルートキットを持っている可能性があるので、OSを再インストールしますか?
于 2012-06-14T12:05:03.750 に答える
1
  • 共有ホスティングだけを使用するのではなく、少なくとも管理対象サーバーを使用する/システムを最新の状態に保つ
  • php.iniでセキュリティの問題を確認してください(グーグルで検索できます)
  • Apache / Nginx/...の設定でオーバーライドを確認してください
  • 暗号化せずにサーバーと通信しないでください(SFTP、SSHなどを使用してください)
  • (Cookieからの)外部値を決して信頼せず、常にそれらをエスケープ/キャストします
  • ユーザー入力をフィルタリングします(改行、0x00文字、タグなど、不要な場合は削除します)
  • サーバー/データベース/...の既存の可能性のあるすべてのユーザーアカウントを確認してください。
  • すべてのサービスが正しいユーザーとして実行されているかどうかを確認します
  • Webフォルダ内のファイル(書き込み/実行)権限を確認してください
  • Webサイトに表示するすべてのものをエスケープし、データベースデータが安全であるとさえ信じないでください
  • サードパーティのソフトウェアを使用している場合は、セキュリティアドバイザリに注意してください
  • サーバーを再インストールします。ルート化されている可能性があります
  • プリペアドステートメントを使用する

それだけです;)これによりセキュリティが大幅に強化されますが、経験豊富な攻撃者は困難です。

于 2012-06-30T04:46:39.413 に答える