sql >> データベース >  >> RDS >> Mysql

Webアプリケーションのセキュリティの脆弱性のテスト:ベストプラクティス?

    SQLインジェクションとXSSは、プログラマーが犯す最も一般的な間違いです。良いニュースは、適切なソフトウェアがあれば、自動的にテストするのが最も簡単なことです。ペネトレーションテストを行っているときは、サイトウォッチ を使用します。 または Wapiti Webアプリケーションの脆弱性を見つけるため。 Acunetixは高値です。

    ただし、自動化されたツールを起動して、すべてが機能することを期待することはできません。 任意で取らなければならない注意事項がいくつかあります 選択した脆弱性スキャナー。

    1)php.iniでdisplay_errors =Onを確認してください。SQLインジェクションテストは、応答ページでmysqlエラーメッセージを表示できることに依存しています。エラーも脆弱性も検出されませんでした!

    2)アプリケーションの認証された領域をスキャンします。テスト専用のユーザーアカウントを作成します。 Acuentixには、ログインシーケンスを作成できる簡単なウィザードがあります。 wapitiを使用している場合は、wapitiにCookieを与えるか、wapitiに送信要求を送信することができますが、これはちょっと注意が必要です。

    アプリケーションをテストしてから、サーバーの設定ミスをテストしました。サーバーをテストするには、OpenVAS を実行する必要があります。 これは、現在商用製品であるNessusの新しいより無料のバージョンです。次に、これをPhpSecInfo でフォローアップする必要があります。 。これらのテストは、構成の問題、または古い脆弱なソフトウェアを実行している場合に通知します。

    100%安全なものはありません。これまで 。あなたが何をしても、亀裂をすり抜ける脆弱性があります。すべての開発プラットフォームには脆弱性があり、ツールではテストできない妥協点があります。使用するテストツールにもバグがあります。偽の投稿と偽の否定があり、機能しないいくつかのテストがあります。 、良い例私は実際に正当な脆弱性を見つける自動化されたCSRFツールを見たことがありません。 AcunetixのCSRFテストは完全に時間の無駄です。

    OWASPテストガイド もあります。 これについてはさらに詳しく説明します。これをOWASPトップ10 と混同しないでください。 これも優れたリソースです。 PHPセキュリティガイド PHPプログラマーにとっても素晴らしいリソースです。



    1. 動的ファイル名でコピー

    2. MySqlUUID複製バグ

    3. PostgreSQLでONCONFLICTを使用してRETURNINGを使用するにはどうすればよいですか?

    4. MySQLでの共同ポジションのランキング