SQL注入攻击
(特别感谢Neil Carpenter对本博客文章的贡献)
近期趋势
从去年年底开始,多个网站被篡改,攻击者在SQL数据库存储的文本中注入恶意HTML <script>
标签,这些文本用于生成动态网页。这类攻击在2008年第一季度加速蔓延,持续影响存在漏洞的Web应用。
被攻击的Web应用具有以下共同特征:
- 使用经典ASP代码
- 使用SQL Server数据库
- 基于URI查询字符串生成动态SQL查询(如
http://contoso.com/widgets.asp?widget=sprocket
)
这代表了一种新的SQL注入攻击方式。传统SQL注入针对特定Web应用,攻击者需了解漏洞和数据库结构。而新攻击通过抽象化手段,可针对任何基于URI查询字符串生成动态SQL查询的ASP页面漏洞。
IT/数据库管理员建议
-
审查IIS日志和数据库表
- 检查IIS日志中的异常查询
- 检查数据库表中是否被注入
<script>
标签 - 生产环境务必启用IIS日志
-
第三方代码检查
- 使用第三方ASP应用时,应联系供应商确认SQL注入防护
-
最小权限原则
- Web应用使用的SQL账户应遵循最小权限原则
- 避免使用"sysadmin"或"db_owner"等高权限账户
Web开发者建议
终端用户建议
-
安全浏览
- 即使信任的网站也可能被攻陷
-
及时更新
- 保持Microsoft和第三方安全更新
-
减少攻击面
- 禁用不必要的ActiveX控件和浏览器插件
- 保持反恶意软件更新