私は、最近SQLインジェクション攻撃の犠牲になった非営利のWebサイトのメンテナンスを任されています。誰かがサイトのフォームを利用して、データベース内の利用可能なすべてのテキストのようなフィールド(varchar、nvarcharなど)にテキストを追加しました。このフィールドは、HTMLとしてレンダリングされると、JavaScriptファイルを含めて実行します。
GoogleでURLを検索すると、ルーマニアまたは中国を拠点とするメールスパマーからのものであることがわかりますが、現時点では重要ではありません。
サイトで最も目立つ人気のあるページに表示されるテキストフィールドから情報を確認して手動で削除しましたが、サイトの他のテキストフィールドからテキストを削除するための最良のプログラム方法は何かについて興味があります。 。
明らかに、やらなければならないことがもっとあり(SQLインジェクションに対してサイトを強化する、HTMLを保存する代わりにマークダウンのようなものを使用するなど)、私はそれらに取り組んでいますが、当面は本当に必要なものが良い方法です挿入されたテキストをプログラムで削除します。私は正確なテキストが何であるかを知っています、それは毎回同じです、そしてそれは常にどんなテキストフィールドの終わりにも追加されます。現時点では、データベース内のすべてのHTMLを削除する余裕はありません。また、これがいつ発生したのか正確にはわからないため、バックアップにロールバックすることはできません。また、サイトは共有ホスティング上にあり、SQLServerツールを使用してデータベースに直接接続できません。それに対してクエリを実行することはできますが、SQL更新ステートメントを作成して「