七月 1st, 2009  Tags: sql注入防护,防止sql注入
    

译者: 韩国峰 原文

简介

SQL注入攻击方式发展愈演愈烈,黑客通过SQL数据库对网站进行非法入侵并修改页面,同时页面上还会被加入恶意软件,持续影响一些网络应用程序。

本文翻译自微软博客上刊载的相关文章,英文原文版权归原作者所有,特此声明。 (特别感谢Neil Carpenter对本文写作提供的帮助)

近期趋势

从去年下半年开始,很多网站被损害,他们在用于生成动态网页的SQL数据库中存储的文本中被注入了恶意的HTML <script>标签。这样的攻击在2008年第一季度开始加速传播,并且持续影响有漏洞的Web程序。这些Web应用程序有这样一些共同点:

  • 使用经典ASP代码的程序
  • 使用SQL Server数据库的程序

应用程序代码根据URI请求字符动态地生成SQL查询(http://consoto.com/widgets.asp?widget=sprocket)这体现了一种新的SQL注入(SQL injection)的途径(http://msdn.microsoft.com/en-us/library/ms161953.aspx)。 在过去,SQL注入攻击的目标是具有如下特点的特殊Web应用程序:攻击者知道或者可以探测出后台数据库的漏洞或者结构。这样的攻击(指本文讨论的攻击- 译者注)不同,因为它是抽象的,对于攻击来说,任何存在于使用URI请求字符串动态创建SQL查询的ASP页面都可能存在。你可以在 http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx找 到更多的技术详情和简单代码。 这样的攻击并非利用了Window、IIS、SQL Server或者其他底层代码的漏洞,而是利用了在这些平台上运行的由程序员自行编写的代码中的漏洞。Microsoft已经对这些攻击进行了彻底的调 查,并且发现,他们和以往的Microsoft产品的补丁和0-day漏洞无关。你可以在http://blogs.technet.com/msrc/archive/2008/04/25/questions-about-web-server-attacks.aspx获取跟多的信息。 正如上面所指出的,这些攻击在近年来呈现一种增长的趋势。这至少与两个因素有关: 第一,有暴力性的恶意攻击工具自动化进行此类操作。SANS在http://isc.sans.org/diary.html?storyid=4294讨论了这类工具。该工具使用搜索引擎来寻找具有SQL注入漏洞的站点。 第二,一个或多个恶意僵尸正在进行SQL注入攻击,用以广泛传播僵尸。SecureWorks在http://www.secureworks.com/research/threats/danmecasprox/讨 论了一个案例。 一旦某台服务器被该漏洞所攻击,它将被插入指向某.js文件的恶意<script>标签。虽然这些文件的内容不同,但是他们都尝试利用已经被 修复的Micfosoft产品的漏洞或者第三方ActiveX控件的漏洞。由于这些脚本被单独存储,这些脚本就很容易的被更新以利用更新的客户端漏洞,也 更容易按照不同浏览器来定制。

给信息技术/数据库管理员的建议

有很多事情是信息技术管理员或者数据库管理员可以采取的,以减少他们的风险和响应他们的代码和平台中可能出现的事件:

  • 检查IIS日志和数据表来寻找未知风险的标志。

由于该漏洞利用方式通过URI请求字符串作用,管理员们可以检查IIS日志来查找尝试利用该漏洞的非正常请求。你可以在http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx找到如何手动进行改操作的详细信息。在 http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=WSUS&ReleaseId=13436有 进行自动化操作的工具。 如果IIS日志表明服务器可能已经被侵害,那么下一步要采取的行动就是审计相应的Web应用程序所使用的数据库中的表,并且查找附加在文本内容中 的<script>标签。 提示:IIS服务器不应当在生产环境中关闭日志。存储和适当的管理对于IIS日志都是重要的,缺少IIS日志对于响应安全事件是非常困难的。

  • 如果运行了使用后端数据库的第三方代码,则考虑不受SQL注入影响的独立软件开发商(ISV,Independent Software Vendors)。

在使用第三方ASP Web程序的情况下,管理员应当联系应用程序厂商来确定他们的产品不受SQL注入攻击的影响。

  • 确认Web应用程序所使用的数据库帐户具有最少的权限。

管理员应当确保Web应用程序所使用的SQL用户具有最小的必要权限。Web应用程序不应当以诸如”sysadmin”的服务器管理员权限或者”db_owner”的数据库权限链接。白皮书”在SQL Server 2005中的最优化安全设置和维护”: http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc 提供了关于SQL Server安全的多方面建议。

给Web开发者的建议

有很多优秀的文档论述在编码时如何防御SQL注入攻 击。由于这些攻击者leverage有漏洞的Web应用程序代码,所以完全防御他们的唯一方法是解析在代码中存在的漏洞。程序中任何一个使用外部资源(一 般指从URI请求字符串)数据来动态生成SQL请求的地方都应当被认为是可疑的。当代码漏洞被识别出来,他们应当被小心的修复。

  • 说明-SQL注入、ASP.NET和ADO.NET :

http://msdn.microsoft.com/en-us/library/bb671351.aspx 同时,上面的文章包含到相关文章”如何在ASP.NET中避免SQL注入” http://msdn.microsoft.com/en-us/library/ms998271.aspx,该文章同时适用于ASP。 这里有一个非常有用的视频(该视频是针对一篇防御文章的,然而链接可能已经无效了):http://channel9.msdn.com/wiki/default.aspx/SecurityWiki.SQLInjectionLab

  • 关于SQL注入如何实现的简单信息:

http://msdn.microsoft.com/en-us/library/ms161953.aspx

  • ASP代码中的SQL注入(与ASP.NET中的并不相同):

http://msdn.microsoft.com/en-us/library/cc676512.aspx 如何在ASP中执行SQL Se
rver存储过程: http://support.microsoft.com/kb/q164485

  • Microsoft安全部门(The Microsoft Security Development Lifecycle,SDL)对SQL注入的防御进行了一些指导。简单来说有三种策略来应对SQL注入攻击:

  1. 使用SQL参数查询
  2. 使用存储过程
  3. 使用SQL仅执行(execute-only)许可

Michael Howard在http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspx谈论了这些内容。 同时,编写安全的代码(第二版)也指导了如何防御此类攻击(请浏览399-411页)。

  • 减轻SQL注入:使用参数查询(第一部分和第二部分)。使用参数化查询的好处是它将执行的代码(例如SELECT语句)和数据(由程序使用者提供的动态信息)分开。该途径防御了通过用户传递来执行的恶意语句。

第一部分: http://blogs.technet.com/neilcar/archive/2008/05/21/sql-injection-mitigation-using-parameterized-queries.aspx 第二部分: http://blogs.technet.com/neilcar/archive/2008/05/23/sql-injection-mitigation-using-parameterized-queries-part-2-types-and-recordsets.aspx 在经典ASP代码中过滤SQL注入(或者黑名单中的字符),我们将如下的工作认为是实际中临时性的解决方案,因为它治标不治本。(例如,代码仍然是有漏洞的,他仍然可能被绕过过滤机制而被访问到) IIS团队中的Nazim解释了如何过滤的详细信息:http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx。 如果你仍然不了解从哪里开始,所有使用特定ASP代码访问数据库,尤其是使用由用户提供的数据的代码应当首先被检测。

给最终用户的建议

最终用户(下简称用户-译者注)应当浏览位于http://www.microsoft.com/protect/default.mspx的信息。另外,这里也有一些你可以采取以保护自己的步骤。

  • 通常应当有选择的访问网站-但是也需要了解,该漏洞也会影响用户信任的网站。

有选择的访问网站减少了你暴露在漏洞下的风险,当然即使是你所信任的也有可能被攻击。留意不正常的行为,了解面临的风险,并且实施本节提供的其他建议。

  • 针对Microsoft和第三方软件,保持安全更新。

由于恶意代码通常利用了已知的漏洞,因此你应当确保你在运行最新进行安全更新过的的Microsoft和第三方软件。Microsoft安全更新可以通过http://update.microsoft.com了解。http://www.microsoft.com/protect/computer/updates/OS.aspx有更多信息。

  • 禁用不必要的ActiveX控件和IE加载项。

你应当禁用所有不必要的ActiveX控件和IE加载项。根据KB883256(http://support.microsoft.com/kb/883256)的方法在Windows XP Service Pack2或者更新版本中来实施本步骤:

  1. 打开IE。
  2. 在”工具”菜单点击管理加载项。
  3. 点击加载项的名称。
  4. 使用如下的方法:
    • 点击更新ActiveX来使用最新的版本替换该控件。这个方法并非对所有的加载项都可用。
    • 点击”启用”,而后点击”确定”,来启用加载项。
    • 点击”禁用”,而后点击”确定”,来禁用加载项。

你可能需要重启IE来确保在启用/禁用插件的操作成功。针对更糟的操作系统,根据KB154036(http://support.microsoft.com/kb/154036)的说明进行操作。

  • 减少你所使用的第三方浏览器的受攻击风险的步骤。

如果你使用了IE之外的浏览器,那么你应当确保你安装的是最新的安全更新版本,同时你应当禁用了不必要的扩展和加载项。流行浏览器的信息可以在如下链接找到: Firefox – http://support.mozilla.com/en-US/kb/Firefox+Support+Home+Page Opera – http://www.opera.com/support/ Safari – http://www.apple.com/support/safari/

  • 更新反恶意程序软件

用户应当确保已经安装了杀毒软件和反间谍软件,并且保持他们的更新。你可以在http://www.microsoft.com/protect/computer/antivirus/OS.aspxhttp://www.microsoft.com/protect/computer/antispyware/OS.aspx找到更多信息。你可以在 http://onecare.live.com/standard/en-us/install/install.htm得到一份90天使用的Windows Live OneCare杀毒/反间谍软件。

六月 25th, 2009 Tags: htc diamondQQ死机,htc diamond评测,多普达s900,多普达砖石QQ死机

最近入手了htc touch diamond 。 过些时候上 用尼康s550 拍的图~

优点:很多,非常不错。 缺点:电池啊电池啊! 钢琴烤漆=指纹收集器!

 

以下是屏幕截图。

—————————–

htc touch 3d界面截图。

Screen001

音乐播放~

—————

 

Snap001

天气跟新。 雷雨 雨天 ==天气有特效非常漂亮。

————–

Snap003

首页

——————————————————————————————–

——————————————————————————————-

菜单

Snap004

点开始后的菜单列表。

Snap024

右上角htc任务管理器 很好用

Snap025

另外一个任务管理器

Snap007

通讯管理器

 

—————————————————————————————-

我用的软件截图

Snap005

gss 国人开发的可以给短信设置密码。  mobiola web camera 网络摄像头

mymobiler 电脑控制手机。 腾讯QQ2008 砖石用国笔输入法QQ2008不会死机!

quickmark 二维码识别。

 

Snap006

sprite backup spb公司出品,很要用的系统备份软件。ppc必备。

酷狗音乐

 

Snap008

htc砖石带fm收音功能。 相册程序有重力感应自动图片旋转。

语音命令大家都见过吧。

 

Snap009

flash不好用 java在ppc上很鸡肋基本不装什么东西。 pdf阅读器不错,打开40m的文件很快。

QQ掌中邮箱 也不错!

Snap010

飞信一如既往的慢 汉王系列必备识别软件 公交 炒股 火车 来电防火墙统统装上

Snap013

强大定时器 addintimer 必备必备 国产免费精品 闹钟 飞行非常好用一直在用。

系统优化sktool 必备! 那个媒体播放器不用说了吧。ppc必备。

论坛阅读器 3gtan 上网必备必备!

Snap014

网龙 系列 熊猫必备! 熊猫看书很不错!

优势浏览器 ucweb 上网必备 。地球人都知道!

掌心万年历也很不错!

Snap017

QQ手机邮箱截图。

Snap023

corplayer截图。

Snap022

ucweb 手机上网必备

Snap018

手机QQ2008

Snap019

 Snap020 Snap021

 

 

——————————————————————-

 

我用的gps导航软件

Snap002

——————-游戏··················

Snap015

Snap016

游戏就很多了。很多不适合砖石玩。

感谢yonsm老大的软件包~~

 

百度找了张图

 1213BG3Z10R2K

 

 

 

 

 

 

 

 

 

 

 

 

200865_htcdiamond_07

——————-尼康s550拍的-效果不好—————

六月 25th, 2009   Tags: google低俗,google儿子,google被陷害
    

近日,央视爆出谷歌搜索出现大量黄色词条的信息。一个引起舆论强烈反响的例子是,在谷歌搜索“儿子”竟然也能搜索到黄色词条。那么,事情是怎么发生的呢?

下面我们来看谷歌是如何被陷害的:众所周知,谷歌关键词提醒是计算机自动摘取最近最流行的关键词来生成的。于是某些人利用这一点,大量在谷歌上搜索黄色词汇,陷害了谷歌。    
在谷歌搜索趋势图,以及一些第三方的统计数据中,可以看到:

在央视曝光谷歌之前7天:    
1.有人故意在谷歌大量搜索黄色词汇,使单日黄色词汇搜索量同比猛增 5950% ,单月    
搜索总量与上月相比增幅达数千倍    
2.这些搜索量100%来自北京    
3.这些搜索量几乎呈线性急剧上升,理论上这些瞬时搜索量应该服从正态分布并是突发性    
的,换句话说,这是有人故意为之。

clip_image001

以下再附上几张类似图表,请注意峰值全部在6月17日,即CCTV节目(6月18日)播出的前一天。

(全年统计)

clip_image002

clip_image003

(本月统计)

clip_image004

clip_image005

clip_image006

clip_image007

clip_image008

为做对比,说明搜索引擎的统计应该是什么样子,我来附上一张对关键词“天气预报”的搜索统计图表,从图中我们可以看到,全年搜索量应该大致呈均匀分布,考虑到搜索引擎的普及使用,会有一个逐渐升高的趋势,但绝不可能出现在某个月份呈直线上升的情况。

clip_image009

那么,还有一种可能,是不是北京的人们在6月份,由于夏天到来,荷尔蒙分泌过多,导致对“儿子母亲不正当关系”这样的黄色词汇搜索过多呢?我们且来看这张对关键词“日本女优”的搜索统计图表,

clip_image010

可以看到,对关键词“日本女优”的搜索量全年大致呈均匀分布,甚至在近期有下降的趋势。那么,这种近期全民荷尔蒙分泌过多的情况也应该被排除了。并不是说对所有黄色信息都有大量的搜索需求。搜索数量呈急剧上升的关键词,只局限在媒体大书特书的几个词汇之中,特别要注意的是其急剧上升阶段和峰值都在媒体报道之前,显然,这不是自然的结果,那么,答案是什么呢?是谁让谷歌如此低俗?

六月 19th, 2009  Tags: 移动到电信超时慢,移动到网通超时慢
    

      今天单位突然网络非常卡,打开juniper netscreen,没有人大量下载的迹象。

    检测思路:

    ping www.baidu.com ping www.taobao.com

    然后 tracert www.baidu.com tracert www.taobao.com

   故障节点就会明了~

     这里是移动的光纤~

my add

ping www.baidu.com 百度的情况

  ping baidu

可以看出比较正常。打开网页速度也可以。

ping www.taobao.com 淘宝的情况

ping taobao

超时很夸张了。打开网页速度也如龟速,回到模拟拨号上网时代~

 

用tracert 节点情况~

 

tracert www.baidu.com

 

tracert baidu

正常。

 

tracert www.taobao.com

tracert taobao

六月 15th, 2009   Tags: 奋斗,工作
http://www.heqiaoluo.cn/read.php?712&part=1
....切记,,,,会说话,减少奋斗30年

第一:不要认为停留在心灵的舒适区域内是可以原谅的。

每个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规定的时限做事,不愿意主动的去关心别人,不愿意去思考别人还有什么没有想到。这在学生时代是很容易被理解的,有时候这样的同学还跟“冷酷”“个性”这些字眼沾边,算作是褒义。然而相反,在工作之后,你要极力改变这一现状。否则,你会很快变成鸡尾酒会上唯一没有人理睬的对象,或是很快因为压力而内分泌失调。但是,如果你能很快打破之前学生期所处的舒适区域,比别人更快的处理好业务、人际、舆论之间的关系,那就能很快的脱颖而出。

在会议上,一个停留在心灵舒适区域的人会消极的听取领导的话语,消极的待命,很死的完成上级交给的事情,但从来不关心此事以外的任何事情,更不会想到多做一步,让接下来的别人的工作更加容易上手。而敢于打破这个舒适区域的人,敢于在适当的时候提出自己的看法和不理解,并在得到上级认可和指点之后把手头的工作尽快的完成,并随时接受别人的批评和调整。(注意:永远不要等待别人把你的想法说出来,这是典型的前者)

在工作上,当前者遇到一名新的同事,他会装作没有看见,继续自己的工作。殊不知新来的同事不久就变成了自己的上司。而后者则大方客气的自我介绍,并了解对方和自己的关系。

在聚会上,前者总是等待别人发言,并喜欢私下里评论对方的言语;如果这个桌子上没有人发言,那直到用餐结束,也没有人认识你。而后者是勇敢的和一同吃饭的开始介绍和闲谈,这看起来很困难,有时候会有失面子,但往往你会发现,对方是多么希望能和你说几句话。

以上只是很小的几个例子,但是要说明的是,大学生在走出校园的同时就要在工作上把校园中的“随意性”从身边赶走,尽早的冲出自己的舒适区域,开始做好和这个社会交流的准备。

开始工作之后的十个不要—-(二)

第二:不要把“好像”;“有人会……”;“大概”;“晚些时候”;“或者”;“说不定”之类放在嘴边。尤其是和上级谈论工作的时候。

我十分痛恨听到的一句话是:“我晚些时候会把这个文件发给所有的人”;因为这往往预示着我必须时刻提醒他不要忘记。同样,以下这些言辞也会让人觉得厌恶至极:
“到时候有人会把那些东西都准备好”
“大概是明天”
“明天或者后天客户会过来拜访”
“好像他说……”

一般是人都会这样说话的,因为这样第一给自己留下了广阔的余地,第二也不会给别人造成很大的压迫感,好像什么事情一定要弄个水落石出似的。说实话大学里面再用功的人都有一半是混的。一个人要么是在课堂上是混的,要么下课之后是混的。两个都没有带有混的色彩的人,要么是超级牛人,要么是神经病。所以,就因为人人都在混的,所以校园是一个浪漫的地方,校园也容易让人单纯。所以学生社团的工作往往是效率很低的,我现在回想起学校里做的工作,当时还觉得挺卖力的,但工作了之后才开始感觉到什么是效率。当你进入了用金钱计算时间的地方之后,你要尽可能的避免在学校里养成的这种习惯。如果上级问你什么时候能实施你给他的承诺,而你回答“今晚或者明天早上”这样的答案对于他来说完全等同于你没有回答,并且还给他留下了一个坏印象。(当然,这样的回答往往在学校社团,学生会工作中是常见的)

有一个寓言故事,一只小老鼠刚刚出世不久,老鼠妈妈问小老鼠:你现在能看见了吗? 小老鼠说:能。 老鼠妈妈说:那你能看到那块红薯吗? 小老鼠说:是的。老鼠妈妈说:那是一块石头,这说明你不但还看不见东西,你连嗅觉都还没有。

似是而非的应答往往一样会暴露出你更多的弱点。可能是以下中的一个或几个:
1.你之前没有想到这个工作,或者一直在拖延。
2.你没有责任心,认为这些并不重要。
3.你应付上级。
4.你不敢说真话。
5.你喜欢逞能,答应一些做不到的事情。
6.你不能独立工作。

当你的上级在以上选项中怀疑的时候,潜意识中你已经同时具备了以上所有的弱点了。

相反的看来,这样的回答,总是让上司恼火。
第一,他的问题没有得到回答,只是起到了提醒你的作用。
第二,他依然需要记住提醒你,因为他不知道你是否真正已经落实了工作。
第三,他不知道有多少你已经做了的事情中,都是这样没有落实的。(这点非常致命)
第四,往往因为没有得到满意的答案,上司自己的计划不得不被耽搁或推迟或不能给出明朗的结束时间。

所以———
甲问:你什么时候能把要这个漏洞修好?
乙说:我已经通知他们了,他们大概明天就会来修的。
一天后
甲问:维修公司什么时候回来,你找的是哪家维修公司?
乙说:好像他们说安排不出人来,如果可以的话,今天晚上或者明天下午就能过来。
一天后
甲问:漏洞怎么还没有修好?
乙说:我晚点再问问他们。
甲说:今天下午之前不解决,明天不用来上班了。

第三:不要拖延工作

很多人喜欢在学习和玩耍之间先选择后者,然后在最后时间一次性赶工把考试要复习的东西突击完成。但是在工作中请不要养成这样的习惯,因为工作是永远做不完的,容不得你“突击”。又或者,当你在徘徊和彷徨如何实施的时候,你的领导已经看不下去,自己去做了。—-这是一个危险的信号。

往往我们总是想把事情从头到尾全部想好了,才开始走第一步—–就摔倒了。

举个例子:我小学的时候第一次给我一个喜欢的女孩子打电话的时候,想象了各种情况——-1,她接电话的时候在做作业。2,她在做作业,她妈妈接的电话。3.她也很无聊,很想找人说话。4.她正在被父母训斥。 5.她正在想另外一个男孩。6.她父亲接电话。 7.她家正好来了什么亲戚,亲戚接了电话。 8.她接了电话,但父母就在身边,说话不方便。。。。。等等等等。我整整想了一个下午,想好了各种情况的心理准备和应对的
策略。然后勇敢的拿起电话机,按下了那几个按钮。结果——-她不在家。

所以,当你徘徊不前而手足无措的时候,你要意识到你正在拖延工作。徘徊是因为害怕这个事情可能发生的后果需要自己承担或应付。工作的时候需要一种起码的自信,相信自己有能力,不管下一步是什么状况,我都能把它引导到我需要的那条线上去的。另外,告诉自己,不要想太多时间,如果不知道,就赶快求助,或想办法,苦恼和忧虑会给你更多的压力也会把剩下的时间蚕食殆尽。

另外,警告一下:永远不要想,我知道了,先把上级派的事情放一下,等这集《越狱》看完再说。—-90%的情况下,你会忘记,或者来不及,因为这件事需要比你原先想象要更多的