信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
译文作者:hackxi(www.hackxi.cn)
最近的趋势
开始,在去年年底,一些网站被污损,包括
恶意的HTML <script>标记在文本,这是存储在一个SQL数据库和
用来产生动态网页。这些攻击开始加快,在
2008年首季,并正继续影响脆弱的Web
申请。
Web应用程序作出妥协,分享几个共性:
*应用程序使用经典的ASP代码
*应用程序使用SQL Server数据库
*应用程序代码生成的动态SQL查询的基础上的URI查询
字符串( http://consoto.com/widgets.asp?widget=sprocket )
这代表了一种新方法SQL注入
( http://msdn.microsoft.com/en-us/library/ms161953.aspx ) 。在过去的中, SQL
注入攻击是针对特定的Web应用程序的地方
脆弱性和结构的基本数据库,要么
已知或发现攻击者。这次袭击事件不同,因为它已
抽象的,例如,它是有可能的攻击,几乎所有的脆弱性
这是目前在ASP网页中创建动态SQL查询,从开放的我们查询
弦乐团。额外的技术细节和漫游的具体情况是
可在
http://blogs.technet.com/neilcar ... 5/anatomy-of-a-sql- ...
关于-事件部分- 2 - meat.aspx 。
这次袭击没有利用的漏洞在
Windows中, IIS , SQL Server或
其他基础设施码;相反,它利用的漏洞定制的Web
上运行的应用程序在此基础设施。 Microsoft已调查
这些袭击彻底和决心,他们是不相关的任何
修补或0 -天的漏洞微软产品。更多信息可以
被发现
http://blogs.technet.com/msrc/ar ... uestions-about-web- ...
attacks.aspx 。
如上所示,这些攻击已加速通过一年。
这似乎是相关的至少有两个因素。首先,是有
恶意工具,是在野外的自动化。 SAN的论述
工具在这里-h ttp://isc.sans.org/diary.html?storyid=4294。该工具使用
搜索引擎找到脆弱的网站,以SQL注入。
第二个因素是有一个或多个恶意程序,现在推出的SQL
注入攻击的一种方式,传播的BOT进一步。 secureworks
讨论了一个例子,在
http://www.secureworks.com/research/threats/danmecasprox/ 。
一旦服务器已被污损,使用这种攻击,它将开始,包括一
恶意<script>标记指向1 。 js文件。而这些内容
文件不同,他们都企图利用各种漏洞,包括
已经修补微软漏洞和易受伤害的第三党的ActiveX
管制。由于这些脚本主办的独立,是有可能的
脚本是可以改变的迅速开发新客户的脆弱性和
可以很容易地针对目标, “每浏览器”的基础上。
资讯科技/数据库管理员的建议
有很多的事情, IT管理员和数据库
管理员应该做的,以限制风险和应对可能发生的事故就
该守则和基础设施的管理:
*检讨IIS日志和数据库表的迹象,以往利用
由于此漏洞需要的地方,通过开放的我们查询字串,管理员可以
检讨IIS日志,以找到异常的疑问,可能企图利用
这个。有关如何手动执行此操作可在
http://blogs.technet.com/neilcar ... 5/anatomy-of-a-sql- ...
关于-事件部分- 2 - meat.aspx 。样本一自动工具,可在
http://www.codeplex.com/release/ ... px?projectname=wsus
< http://www.codeplex.com/release/ ... px?projectname=wsus ...
seid = 13436 > & releaseid = 13436 。
如果IIS日志显示服务器可能被剥削,下一步
将检查表在数据库中所用的相关网站
申请时,寻找<script>标记附在细胞在文本列。
注: IIS服务器上运行绝不应在生产测井残疾人士。
而存储和管理的要求, IIS日志记录可以
显着,缺乏IIS日志,使很难作出回应
安全事故。
*如果运行的第三党的代码使用一个数据库后端,谘询的ISV
关于易感性的SQL注入
的情况下,第三党的ASP Web应用程序正在使用,管理员
要联系应用程序供应商,以确保它们不
容易受到SQL注入攻击。
*验证该帐户( )被用来从Web应用程序
有可能的特权,至少在数据库中
管理员应该确保SQL用户的Web应用程序
用途最少的特权,必要的。 Web应用程序绝不应
作为连接用户与行政特权,如“系统管理员”在
服务器级别或“ db_owner ”在该数据库的水平。白皮书的“最佳
做法为建立和维护安全在SQL Server 2005 “
http://download.microsoft.com/do ... 4fa-b3bb-4426-97d0- ...
2011c/sql2005secbestpract.doc提供建议,供各方面的
SQL Server的安全。
Web开发人员的建议
有几个很好的文件,就如何Web开发人员可以防止的SQL
注入攻击,写作时的代码。由于这些攻击脆弱的杠杆
Web应用程序代码,唯一的办法完全防止他们是要解决
漏洞在代码中。任何地方,该守则动态生成一个
SQL查询中使用的数据从外部来源(和,尤其是从一个开放的我们
查询字符串)应被视为嫌疑人。一旦代码漏洞
确定,他们需要认真解决。
*解释-S QL注入, a sp.net, a do.net:
http://msdn.microsoft.com/en-us/library/bb671351.aspx
此外,上述文件中包含一个指针,以下面的文章“如何
到:保护从SQL注射液在asp.net “
http://msdn.microsoft.com/en-us/library/ms998271.aspx (其中仍然适用
以ASP )的
一个非常有用的视频可以在这里找到(这是视频是指对
以前的文章,但这种联系是目前破碎) :
http://channel9.msdn.com/wiki/de ... iki.sqlinjectionlab
*通用有关如何SQL注入工程:
http://msdn.microsoft.com/en-us/library/ms161953.aspx
*的SQL注射在ASP代码(这是从不同的asp.net ! ) :
http://msdn.microsoft.com/en-us/library/cc676512.aspx
如何调用SQL Server存储过程从ASP :
http://support.microsoft.com/kb/q164485
*微软安全开发生命周期( SDL的)有具体的
指导,以抵御SQL注入。简单来说,有三个
不同的战略来消灭SQL注入攻击:
1 。使用SQL参数查询
2 。使用存储过程
3 。使用SQL执行只权限
迈克尔霍华德涵盖这些主题在
http://blogs.msdn.com/sdl/archiv ... g-sql-injection-the ...
T型科技deserves.aspx
同时,书面安全的代码第二具有良好的指导,就如何防止这些类型
攻击,以及(见399-411页)
* SQL注入缓解:使用参数化查询(部分1 & 2 ) 。
的优势,使用参数化查询是,它隔开
可执行代码(即SELECT语句)由数据(动态
资料所提供的应用程序的用户) 。这种做法阻止任何
恶意报表通过沿由用户从执行。
第1部分:
http://blogs.technet.com/neilcar ... 1/sql-injection-mit ...
-使用-参数- queries.aspx
第2部分:
http://blogs.technet.com/neilcar ... 3/sql-injection-mit ...
-使用-参数-疑问部分- 2 -类型和recordsets.aspx
*过滤SQL注入的形式经典的ASP代码(或列入黑名单
关键字) ,我们认为,下面作为临时的替代方法,因为在现实中
它没有固定的根源的错误(即代码仍是
脆弱的,它可能会达到甚至后,过滤)
的Nazim从IIS团队解释如何做过滤在此详细:
http://blogs.iis.net/nazim/archi ... ering-sql-injection ...
lassic - asp.aspx
如果您仍然不知道从哪里开始,所有的网页代码存取
数据库,特别侧重于ASP代码和地区代码,其中使用
用户提供的数据应检讨第一。
最终用户的建议
最终用户应该检讨的资料,
http://www.microsoft.com/protect/default.mspx ;此外,这里有一些
具体的步骤,您可以采取的保护自己。
*一如既往,浏览负责任的-但也知道,这也可能
影响的网站,用户信任
而负责浏览限制你接触到的脆弱性,这是
可能的,即使您信任的网站可能已经失密。观赏为
不寻常的行为,应注意的风险,以及实施其他
建议在本条中。
*跟上最新的安全更新,微软和第三党
自恶意脚本是利用已知的漏洞,您应该
确保您正在运行的最新版本的Microsoft和第三党的安全
更新。 Microsoft安全更新可通过
http://update.microsoft.com <http://update.microsoft.com/> 。额外
信息可在
http://www.microsoft.com/protect/computer/updates/os.aspx 。
*禁用不需要的ActiveX控件和Internet Explorer加载项
你应该禁用任何不需要的ActiveX控件和加载项在Internet
总管。为此在
Windows XP Service Pack 2或更高版本,请按照下列
步骤从kb883256 ( http://support.microsoft.com/kb/883256 ) :
1 。启动Internet Explorer 。
2 。在工具菜单上,单击管理加载项。
3 。单击加载项的名称上。
4 。使用下列方法之一:
*点击更新ActiveX ,以取代加载就与当前版本。这个
选项并非适用于所有的加载项。
*使加载项,单击启用,然后单击确定。
*禁用加载项,单击禁用,然后单击确定。
您可能必须重新启动Internet Explorer ,以使更改生效
当您启用或禁用添加对。
较早的操作系统,按照指示在kb154036
( http://support.microsoft.com/kb/154036 ) 。
*采取步骤减少攻击面的第三党的浏览器,如果你是
用他们
如果您正在使用的网际网路浏览器Internet Explorer以外的其他,你
应确保您已安装最新的安全更新程序,并
您禁用不需要的扩展和加载项。信息受欢迎
浏览器中可以发现:
Firefox的-h ttp://support.mozilla.com/en-us/kb/firefox+支持+首页+页
歌剧-h ttp://www.opera.com/support/
野生动物园-h ttp://www.apple.com/support/safari/
*运行切合时宜的反恶意软件的软件
最终用户应该确保他们有足够的防病毒和反间谍软件
安装并认为这是切合时宜。更多信息,可以发现在
http://www.microsoft.com/protect/computer/antivirus/os.aspx和
http://www.microsoft.com/protect/computer/antispyware/os.aspx 。您可以获得
90天试用的副本信息
Windows Live OneCare anti-virus/anti-spyware软件
在http://onecare.live.com/standard/en-us/install/install.htm 。
-安全漏洞的研究与国防博客
*这张贴的是“按原样”提供任何担保,并赋予没有任何权利.*