Qual é a melhor maneira de limpar após uma injeção de SQL?

Fui encarregado da manutenção de um site sem fins lucrativos que recentemente foi vítima de um ataque de injeção de SQL. Alguém explorou um formulário no site para adicionar texto a todos os campos semelhantes a texto disponíveis no banco de dados (varchar, nvarchar etc.) que, quando renderizados como HTML, incluem e executam um arquivo JavaScript.

Uma pesquisa no Google no URL indica que é de spammers de e-mail da Romênia ou da China, mas não é isso que importa no momento.

Examinei e removi manualmente as informações dos campos de texto que são renderizados nas páginas mais visíveis e populares do site, mas estou curioso para saber qual seria a melhor maneira programática de remover o texto dos outros campos de texto do site. .

Obviamente, é preciso fazer mais (proteger o site contra injeções de SQL, usar algo como markdown em vez de armazenar HTML etc.) e estou trabalhando nisso, mas, por enquanto, o que realmente preciso é um bom caminho a seguir. e remova programaticamente o texto injetado. Sei qual é o texto exato, é sempre o mesmo e sempre é anexado ao final de qualquer campo de texto. No momento, não posso me permitir remover todo o HTML do banco de dados e não sei quando isso aconteceu exatamente, portanto, não posso simplesmente reverter para um backup. Além disso, o site está em hospedagem compartilhada e não consigo conectar-me ao banco de dados diretamente com as ferramentas do SQL Server. Porém, eu posso executar consultas nele; portanto, se houver alguma maneira de construir uma instrução de atualização SQL com o efeito de "ei, encontre todos os campos de texto em todas as tabelas em todo o banco de dados e faça isso para limpá-los", esse seria o melhor.

questionAnswers(3)

yourAnswerToTheQuestion