私は最近、SQLインジェクション攻撃の被害を受けた非営利のウェブサイトのメンテナンスを任されています。誰かがサイト上のフォームを利用して、データベース(varchar、nvarcharなど)で使用可能なテキスト形式のフィールドにテキストを追加しました。このフィールドは、HTMLとしてレンダリングされたときにJavaScriptファイルをインクルードして実行します。SQLインジェクション後のクリーンアップの方法は何ですか?
URLをGoogleで検索すると、ルーマニアまたは中国を拠点とする電子メールスパム発信者から送信されたことが示されますが、これは現在重要なことではありません。
私は、サイト上で最も目に見えて人気のあるページでレンダリングされるテキストフィールドから情報を削除しましたが、他のテキストからテキストを削除する最良のプログラム的方法は何かについては興味がありますサイト上のフィールド。
明らかに、HTMLを保存するのではなく、マークダウンのようなものを使ってSQLインジェクションに対してサイトを強化する必要があります。私は本当に必要なものが良いものであるようにしています。プログラムに挿入されたテキストを削除する方法。私は正確なテキストが何であるかを知っています。毎回同じですが、いつもテキストフィールドの最後に追加されています。私はこの時点でデータベースのすべてのHTMLを取り除く余裕がないので、これがいつ正確に起こったのかわからないので、バックアップにロールバックできません。また、サイトは共有ホスティングにあり、SQL Serverツールを使用してデータベースに直接接続することはできません。私はそれに対してクエリを実行することができますので、 "データベース全体のすべてのテーブルにあるすべてのテキストフィールドを見つけて、それをクリーンアップする"というSQL更新文を作成する方法があれば、それはベスト。
「私は同様にそれについて書いた」リンク(http://jcoehoorn.vox.com/library/post/sql-injection-partをクリーンアップするためにそれを使用することができます-2.html)がウェブページにリダイレクトされ、「Voxが閉鎖されました。何年もの間Voxの愛とサポートに感謝します」 –