TechTarget信息化 > 百科词汇

SQL injection:SQL injection

SQL injection是一种安全漏洞,攻击者将结构化查询语言(SQL)代码添加到Web表单输入框,以获取资源或对数据进行更改。SQL查询是在数据库中执行的一些行动请求。通常,在用于用户身份验证的Web表单中,当用户将他们的用户名和密码输入到文本框之后,这些值就插入到一个SELECT查询中。如果输入的值被找到,用户就允许访问,如果没有找到输入的值,则访问被拒绝。但是,大多数Web表单除了输入用户名和密码外没有其他机制。除非采取一些预防措施,否则攻击者可以使用输入框来将自己的请求发送到数据库,如允许他们下载整个数据库或以其他非法的方式与它进行交互,。

  SQL injection攻击的风险是由自动化工具的兴起引起的。在过去,危险是相当有限的,因为漏洞攻击必须手动进行:一个攻击者要在文本框中实际键入他们的SQL语句。但是,现在公布了自动化SQL injection程序,因此,受攻击的可能性和潜在的损害就极大地提高了。在对SPI Dynamics公司的首席技术官Caleb Sima的参访中,他谈到了潜在的危险:“一些黑帽公开发表这项技术,这使那些脚本小子能盗用免费软件工具,把它放在网站上,无需知道什么就可以自动下载一个数据库。我认为这会使事情变得更加严重和糟糕。SQL injection的自动化增加了SQL injection蠕虫的可能性。其实,我很惊奇的是还未出现这种现象。” Sima估计,大约60%的使用动态内容的Web应用程序很容易受到SQL injection的攻击。

  据安全专家说,SQL injection和许多其他漏洞,如跨站脚本(cross-site scripting)的产生是因为在开发过程中不够重视安全。为了保护网站和应用程序的完整性,专家建议在开发过程中采用简单的预防措施,如控制输入框接受的字符数和种类。

最近更新时间:2010-01-21 翻译:曾芸芸EN

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐