Webサイトでテストを行っているときに、SQLMapはデータベーステーブルのデータを削除しました。すべてが破損しています。
ライブサーバー上の他のアイテムに触れずにこのツールを安全に使用する方法は何ですか?稼働中のサーバーでSQLMapをどのように使用しますか?
--risk
より大きい値でオプション1
を使用した可能性があります。
公式ドキュメントから:
デフォルト値は1で、ほとんどのSQLインジェクションポイントには無害です。リスク値2はデフォルトのレベルにクエリ時間ベースのSQLインジェクションのテストを追加し、値3はORベースのSQLインジェクションテストを追加します。
そのため、スキャナーをprodで実行することが非常に必要な場合は、そのオプションに高い値を使用しないでください[sqlmapデフォルトでは--risk=1
を使用しますが、クエリが非常に奇妙で、データベース]
公式ドキュメント: https://github.com/sqlmapproject/sqlmap/wiki/Usage#risk
@Neilがコメントで述べたように、本番システムでnotペンテストを実行する必要があります。何らかの理由でこれが必要な場合は、利用可能なバックアップがあることを確認してください...
SQLmapについては、ドキュメントをお読みください。利用できる「安全な」操作はますます少なくなっています。 「安全な」操作が問題を引き起こさないという保証はありません。
他の答えは正しいですが、言及されていないことの1つは、どこに注入するかです。 DELETE
を実行するステートメントを挿入する場合、それを挿入するとすべてが削除されるリスクがあります。同様に、INSERT
を注入すると、すべてが破損する危険があります。
評価を実行するときは、機能を利用する前に機能を理解するように注意する必要があります。これは脆弱性の悪用に役立つだけでなく、問題の解決方法に関するより良い推奨事項を書くのにも役立ちます。