bo's profilebobkey's blog PhotosBlogListsMore Tools Help

bobkey's blog

多谢访问

Custom HTML

SecurityFocus news

Loading...Loading...
9/27/2009

解决iTunes无法安装在windows2003

步骤:
1.解压iTunesSetup.exe得到如下:
AppleApplicationSupport.msi
AppleMobileDeviceSupport.msi
AppleSoftwareUpdate.msi
Bonjour.msi
iTunes.msi
MobileMe.msi
QuickTime.msi
SetupAdmin.exe
2.启动orcaMis,打开AppleMobileDeviceSupport.msi,并删除其中的launchcacdition,保存退出
3.iTunes.msi执行安装,此时会提示无法启动服务,安装失败。

4.卸载之前安装的所有apple程序,并在注册表里删除干净。
iTunes 
QuickTime
bonjour
apple mobile device support
apple software update
5.重新运行安装。



苹果这种级别的公司,很霸道,概念和方法是它自己创造的,可以直接强制推给用户。
罪行:
1.歌曲管理和歌词的显示必须用它自己的方式,传统的lrc格式不支持;
2.同时fans也非常狂热,带动了不少周边的附属设备产业。比如音箱,一个破音箱只要支持ipod就可以卖很贵,车载,充电器、贴膜、保护套等同样贵。
3.另外对于多媒体文件格式的支持也限制与自己的格式,
4.对于iTunes的同步实在无语,这种机制到处都有,比如浏览器的书签,在同步时有几个选项,不会造成数据被覆盖或丢失,但这个iTunes不行,同步时如果磁盘源文件不存在了会直接删除Ipod上的文件,实在弱智啊,恢复选项同样的代价也是120G磁盘数据全部丢失!
5.随产品销售的只有数据线一根,其他全部要另外掏钱去买,包括充电器这些必需品,什么道理?要知道这个产品的价格本身就比同类产品好贵好几倍的。

8/27/2009

wafec2.0

美国对于技术的融合、开放总是令人激动的,不封闭不排斥。不仅仅是NIST这些“百年名店”。对于web的防护,waf1.0 的发布是从用户层来考虑如何选择和测试一款合格的WAF,有哪些技术特性是必须满足的。未来版本是2.0,而下面就是主要的研究机构和参加,由他们共同参编写。期待和关注wafec2.0。
 
Community & Research:
WAF Vendors:

Naturally WAFEC is of importance to WAF vendors and most vendors have a representative on the WAFEC team:

8/24/2009

IPS vs WAF

上周组织了IPS和WAF的研发人员共同讨论了这两款产品的异同,下面是部分PK话题:

未知攻击防护(异常检测)
基于行为还是签名技术?
深刻理解HTTP协议?
编码和解码技术?
建立安全模型?
基于会话保护
单向和双向防护?
效率,性能
waf和ips的分界线是什么?引用对方的技术能超越彼此吗?
关联分析有用吗
谁是真正的七层协议?
阻断技术

接近尾声时来了一个市场人员,又再一次问了它们的异同,我用这个例子讲解了,大家均觉得贴切:

IPS是大楼保安,他对进出的所有人全部要安全检查;waf是老总的私人保镖,他只需对老总的安全负责;那么它们的异同就是waf需要清楚地了解老总的生活作息习惯,性格特征,有哪些脆弱点容易被利用等。

保镖图

具体的分析文章这周开始编写,希望下周能出来。

8/15/2009

FF插件

插件依托浏览器越来越有优势了,FF武装一下可称为黑客工具大全,以下又是一款,可支持自定义规则
http://labs.securitycompass.com/index.php/exploit-me/

刚配合paros跑了一下,观察,发现都是基于表单的注入,用post提交数据,这个还是挺有用的,可发现一些隐藏表单的漏洞。在浏览网页的时候会自动报出当前的form,然后可根据人的判断来选择注入哪些,完成后会简洁地显示所注入的字符与对应的服务器返回码,这时又可以进一步分析了。
所以我觉得这就是插件的好处,依靠浏览器的解析能力,只做自己擅长的事情,这其中有“人工智能”的参与,比起那些黑盒子傻傻地扫,显得颇灵活了。

其他常用安全插件:

Live HTTP Headers 0.15
firebug
Web Developer 1.1.8
DOM查看器

8/12/2009

蜘蛛

家门口的电杆下发现一大蜘蛛,我恶作剧般扔了一片叶子到网上,它迅速移到跟前,当判断非实物时果断地把叶子周边的网线撕破,让叶子掉落,然后重新修复,长长的白丝从口中吐出按照既定的方向形成了规律的八卦图般的网。也是我再也不忍去破坏了。仔细观察,发现这小虫不简单,首先,它选择在电灯下织网简直是帅呆了,飞虫全部被光源所吸引,而又没注意前面的大网时就被粘住,这里的食物是充足的;然后它破坏了旁边的其他蜘蛛网,可以独霸一方宝地,避免竞争;最后,它选择的地方虽然好,但是也是非常危险的,这里是“人”搭建的一根晒衣绳,很容易被毁掉网,甚至危机蜘蛛的生命。

安全视觉:利用了“蜜罐”原理,轻易捕捉大量飞虫;需要经常检查异常情况,有漏洞时要及时弥补;防护设备也是一种资产,也就是要考虑其自身的脆弱性,当其被bypass时,要合理地进行调整;根据ISO1335的理论,是没有绝对的安全的,所以网的密度要根据实际情况来织补,没必要严实无缝。

IMG_5781

8/9/2009

光照

上周摄影组同学们组织去国家大剧院集体拍摄光,也就是有人用电筒或荧光笔在夜幕中画形状,然后另外有人架着三脚架把光形状拍下来,我临时有事没去参与,大致问了问小花技巧,主要是:曝光时间长、不要抖动相机。这个主要是想象力,技术上没啥可说的,昨晚把相机放地上,然后在前端挥舞打火机,下图是图以及参数:

image

用以上同样参数,找出来的绚丽夜景,感觉火光都要爆出来了。

IMG_5861 IMG_5849 IMG_5859

7/31/2009

后发制人 WEB application firewall防护WEB攻击有天然优势

注:此文已经发表在《绿盟+》技术刊,转载请注明出处,不允许用于商业目的,谢谢。

 

作者:绿盟科技 秦波

日期:2009.7.31

目录

WEB安全问题的复杂性... 1

WAF的防护原理... 3

动态防护CSRF. 6

结束... 9

摘要:

对于WEB攻击,尽管一再提倡其自身的强壮性,但是更重要的是运维的安全防护,而传统的防护已经出现盲点。WAF(Web Application Firewall)利用其自身架构的天然优势可防护繁多的攻击类型。本文从技术角度阐述绿盟科技新上市的WAF P系列产品的功能优势。

关键词:WAF we攻防 SQL Injection CSRF

WEB安全问题的复杂性

WEB攻击的数量逐年上升,占了大部分攻击事件比例。WEB安全已经推到了前沿浪尖,无论是政府还是企业都迫切解决这个棘手的问题,Gartner统计:目前75%攻击转移到应用层。原有的传统防御设备已经不能满足企业对网络攻击的防御。WEB应用技术在积极发展的同时需要强有力的安全保障,所以WAF是应形势需求诞生的产品,它走上应用安全的舞台,是一个必然的趋势。

Web漏洞归类

众所周知,WEB服务系统实际不是一个单一的软件,它由OS+Database+WEB服务软件(比如:IIS、Apache)+脚本程序(比如:Jscript、PHP代码文件)构成,所以要考虑它最基本的依赖,那就是OS和Database、WEB服务软件自身的安全,这个可以通过安全加固服务来实现,而最核心的应用程序代码是不能用同样的手段来解决,这也是WEB安全问题的主要来源。

WEB 应用安全漏洞与操作系统或者网络设备的漏洞是不同的,这是因为编写代码者是不同的,产生的代码也是不同的,所以国外有权威的WEB安全组织来归类一些漏洞,让开发人员、安全厂家、第三方专家等能用一种一致的语言来讨论WEB安全问题。比较有名的是OWASP的TOP10漏洞,还有Web Application Security Consortium (WASC)归类的Thread Classification,如下表:

Abuse of Functionality

Brute Force

Buffer Overflow

Content Spoofing

Credential/Session Prediction

Cross-site Scripting

Denial of Service

Directory Indexing

Format String Attack

Information Leakage

Insufficient Anti-automation

Insufficient Authentication

Insufficient Authorization

Insufficient Process Validation

Insufficient Session Expiration

LDAP Injection

OS Commanding

Path Traversal

Predictable Resource Location

Session Fixation

SQL Injection

SSI Injection

Weak Password Recovery Validation

XPath Injection

* Fingerprinting

* HTTP Response Splitting

 
 

从安全角度看,WEB从设计到开发必须遵循:

1. 安全设计

2. 安全编码

3. 安全测试(代码审计和扫描、渗透)

4. 安全运维

其中最根本的在于安全设计和安全编码,也就是上线前必须保证WEB产品的自身强壮性。目前大部分的WEB应用程序是用户自己或请人编写,其他的或网站里部分组件,比如论坛、邮件系统、留言板等会用到商业版,代码是不相同的,而且程序员的水平参差不齐,更重要的是他们都遵循了软件的安全开发标准吗?可以想象这些良莠不齐的WEB系统一旦上线会遭受攻击,此时安全运维阶段尤为重要,也就是依靠安全防护设备来抵制攻击。

记住,这是我们为什么需要WAF的第一个理由!

攻击从未停止

让我们先看下图,是攻击网站的基本步骤和方法。

image

如上所示,互联网每天都充斥着数千万的攻击流量,而WAF可以自动识别和屏蔽大部分主流的攻击工具特征,使得它们的攻击前奏就失效,绿盟科技WAF采用的是透明代理模式,客户端和服务器的双向流量都必须经过WAF清洗,而又无需另外配置,保持原有的网络结构,每个报文需要接受WAF对其的“搜身检查”,合格之后再进行转发。

可能有人会说Firewall和IPS不是这样的设备吗?它们为什么不能防御呢?详细的对比参数我就不列举了,大家知道OSI 7层模型,防火墙通常工作在OSI的第三层的网络层,目前的包过滤型和状态包检测型防火墙、应用层防火墙难以识别WEB攻击行为和正常报文,这是它自身技术定位决定的局限性。攻击者只需在浏览器上操纵URL就可攻击目标网站。当然,作为互补型的IDS(入侵检测系统)、IPS(入侵防护系统)产品是能防护应用层的攻击行为,但是市面上绝大多数的产品都只能防护一部分WEB攻击,甚至有些产品是直接在IDS类产品上做修改而形成的WAF,基本只依靠规则来实现,不但效率低而且严重滞后于繁杂多样的WEB攻击类型。当然,我在这里要重申一下,WAF可以和传统的FS+IPS作为一个有益的补充,但绝不是去代替他们。

所以,WAF的自身代理架构使得分析和阻挡攻击具有天然的优势,这是我们为什么需要WAF的第二个理由!

WAF的防护原理

好,我们再回到防护盲点这个焦点话题,那就是无论如何安全设计和编码,或者经过最严谨代码审计、渗透测试之后都难免会有漏洞,因为理论上1000行代码就有1个Bug,检查只能让这些减少而已,无法真正做到没有安全漏洞的产品,这也就是为什么软件厂商会不断地推出一个个补丁来弥补,而这些Bug只要能被攻击者发现和利用那么就会带来威胁。

也就是说代码缺陷是先天存在的,即使后来修复也会具有一定的滞后性,而且不能保证100%地发现所有存在的漏洞那个缺陷。为了给大家更好地理解WAF防护的天然优势我们从两个例子来进行分析,从技术实现角度看WAF,SQL注入采用了规则集静态防护,CSRF采用了算法的动态防护。

静态防护SQL注入

SQL注入的防护从编程角度看最有效的防护是对用户输入的变量通过参数来传递,而不是直接嵌入到SQL语句,但缺陷:

1. 不是所有的数据库和编程语言都有相应的参数化功能;

2. 编写时面对众多的输入模块,难免会有疏漏;

3. 难以批量化和统一部署。

还有一些方法就是把参数进行分类,比如用户递交的参数值统一转换成纯数字或纯字符串类型、加密用户输入、限制输入长度等,但和以上方法的缺陷一样。

比如这段代码是直接把用户输入放置数据库的SQL语句中进行执行,如果不对member_login变量进行过滤和判断是可以注入攻击的:

---漏洞代码段---

member_login=trim(request("login"))

set rs=server.createobject("ADODB.Recordset")

sql="select * from job_Member where Member_login='"&member_login&"'"

rs.open sql,conn,1,3

如果一一检查和修复需要花费大量的精力,而很多网站上线运营之后需要提高安全性的普遍举措是采用一些通用性的函数,原理是对输入进行判断和过滤,它在一定程度上能缓解攻击行为,并且花费成本相对不大,我们先看一段编写的防护函数:

---防护代码段---

<%

'定义需要过滤的输入字符

dim sql_injdata

SQL_injdata = "'|and|exec|insert|select|delete

|update|count|*|%|chr|mid|master|truncate|char

|declare|1=1|1=2|;"

SQL_inj = split(SQL_Injdata,"|"

'处理POST提交的输入

If Request.QueryString<>"" Then

For Each SQL_Get In Request.QueryString

For SQL_Data=0 To Ubound(SQL_inj)

if instr(Request.QueryString(SQL_Get),

Sql_Inj(Sql_DATA))>0 Then

Response.Write "<Script Language=JavaScript>

alert('系统提示你!\n\n请不要在参数中包含非法字符尝试注入!\n\n');window.location="&"'"& amp;"index.htm"&"'"&";</Script>"

Response.end

end if

next

Next

End If

'处理GET提交的输入

If Request.Form<>"" Then

For Each Sql_Post In Request.Form

For SQL_Data=0 To Ubound(SQL_inj)

if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then

Response.Write "<Script Language=JavaScript>

alert('系统提示你!\n\n请不要在参数中包含非法字符尝试注入!\n\n');window.location="&"'"& amp;"index.htm"&"'"&";</Script>"

Response.end

end if

next

next

end if

%>

以上代码首先需要定义相对完整的过滤字符集,然后分别处理用GET和POST方式提交的数据报文,在需要防护的页面里调用包括它既可<!--#Include File="Anti_SqlIn.Asp"-->

但是编写统一的防止注入函数有缺陷:

1. 需要考虑不同语言的不同语法,不能统一,比如ASP、PHP、Java;

2. 要充分考虑每一个可能用户输入的地方,但往往会有疏漏;

3. 虚拟机往往有大量站点,而管理者是单个站点的属主,系统管理员没权利也没能力统一定制防护措施;

4. 如果是IDC或者大型企业的机房,会有更大量不同类型的WEB应用服务器,要实现批量防护则更困难;

5. 消耗服务器运算资源和网络带宽,因为大批量的网络连接和提交数据都需要经过函数来处理;

6. 过滤不严谨则容易被攻击者绕过。

最后一点其实很关键,不仅仅是过滤不严谨,而且攻击者对于输入可变化大小写,拼接攻击语句,甚至构造字符的不同编码方式,比如字符 < 可被编码为 &lt、&#60、&#x3c 或 %3c,而编码方式又是如此之多,Unicode、十六进制、ASIIC、UTF-8等,所以用防护函数方式是非常困难的。

通过上面描述,我们知道了从编程方式来防御攻击具有它的局限性,简单概括:会有疏漏、消耗性能、难以统一、运算复杂等。

而这时绿盟科技WAF的优点就体现出来了,对于Encoding报文会全部解码后在分析,防止攻击者利用拼接、转换编码的方式躲避检查,并且内置了50多条精心配制的规则,用于防护SQL注入,有人可能会疑问这么少的规则能有效防御吗?要知道虽然SQL注入的语句千变万化,但规则只需要找出共同点进行匹配即可,并且可在此基础上根据变化的攻击行为自定义规则。规则制定后可用于不同类型的多台WEB服务器,类型一致的可使用同一规则,对于大型WEB群来说这具有无可比拟的优越性。它的优点如下:

1. 统一定制的规则能批量适用于不同类型的网站;

2. 花费时间和精力最少,无论是应用或编辑规则都方便,不用每台WEB服务器去部署;

3. 即使网站存在漏洞,也能在前端把攻击流量给予清洗和阻断;

4. 网站无需处理错误的探测,避免把错误处理方式和信息暴露给攻击者,同时也节省了服务器的处理资源。

动态防护CSRF

CSRF全称是Cross Site Request Forgery,翻译过来是跨站请求伪造的意思,它攻击的是客户端,利用用户合法身份访问精心编制的一串url去触发一段具有某功能的脚本或CGI程序,攻击者盗用了客户的身份,并以他的名义发送恶意请求,包括:以假冒身份发送邮件,发消息,盗取用户账号,购买商品,虚拟货币转账,造成个人隐私泄露以及财产安全。特别是随着WEB2.0的普及人们越来越意识到它的攻击威力。如下是一段攻击流程:

image

1. 访问了www.example.org

2. 此页面用<img src>标签隐含了一段url,但访问时被触发访问请求

3. 这段url以Get方式提交了一段具有某功能执行的请求,比如:银行转账、网上购物等

通过上图我们清晰地了解CSRF的攻击方式是利用合法用户的身份来执行恶意动作,当然利用Get方式更容易实施,但POST方式也难逃厄运,比如下一段:

<a .href="http://www.abc.com/" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = 'http://www.BANK.com/account/destroy&#39;; f.submit();return false;">合法链接?</a>

如果把链接改成图片,并且动作设定为onmouseover就更危险了。

目前在WEB服务端抑制CSRF攻击有几种方式:

1. 增加一个HASH后的cookie;

2. 一次性令牌;

3. 加入验证码机制,缺点是这种机制给正常用户的客户体验受损。

以上方式第3种是最佳的,比如每次请求重要功能的页面时(转账、删除等动作)会嵌入一个生成验证码图片的脚本,随机生成值(数字、ASIIC字符、中文等)让用户填写后发送到服务器并保存在session空间。但很多网站的程序员在编写时疏忽了完成每一次会话后去及时清空这个值,那么用户只要成功登陆过一次并填写了验证码之后,以后的会话就无需重新验证了,所以还是容易被利用攻击。

接着,我们来看看WAF的防护实现方式,相对于用特征集的静态防护,用动态防护CSRF的攻击更具智能性和灵活性,基本思路是通过WAF随机产生的隐含表单来打断一个不变的会话,也就是说即使攻击者获取到了用户身份,但是随机变化的验证码让攻击者无法构造一个不变的报文。

如下图所示,在配置WAF防护的规则之前需要设置referee的规则,然后配置域名和要防护的页面路径即可生效。

image

在应用了WAF的csrf防护规则之后我们可以通过抓包观察(见下图),在POST报文时发现会多了一个随机生成的隐含表单值,这个值会发送到WAF中进行匹配计算,如果不相符合则认为是攻击者构造的报文。由于这个值每次会话都变化,且长度都不同,很难被攻击者猜测利用,具有相当高的安全性。

image

结束

通过以上介绍,大家了解WAF对于繁杂多样的攻击能条理地归类出共性,并在WEB系统前端直接分析和过滤,由于边幅限制,不能一一列举WAF所有防护功能的实现原理,其他的包括比如防御CC、SYN_flood等类型的拒绝服务攻击、cookie安全、网页挂马、防止页面篡改、WEB访问加速等,在以后的期刊里我会陆续再给大家介绍这些实现原理和一些思路。

参考文献:

[1].SDL 介入 WEB http://msdn.microsoft.com/zh-cn/magazine/cc794277.aspx

[2].NET Framework 开发人员指南 ADO.NET 安全编码指南http://msdn.microsoft.com/zh-cn/library/hdb58b2f(VS.80).aspx

[3].《19 Deadly Sins of Software Security》作者Michael Howard、David LeBlanc 和 John Viega

[4]. Threat Classification http://www.webappsec.org/projects/threat/

[5]. The Open Web Application Security Project (OWASP) http://www.owasp.org/index.php/Main_Page

[6]. Preventing CSRF http://files.playhack.net/papers/preventcsrf.txt

[7]. rfc2616 http://tools.ietf.org/html/rfc2616

6/27/2009

绿霸话题引发的讨论层次

上个周末的一虎一席谈,说到了绿霸问题,请来的嘉宾讨论的话题层次不够高,基本锁定在第一层,仅仅有一个临时请上来的观众谈到了第二层,而且第一层的讨论是比较搞笑的,无非就是两派,支持者认为要开放要人性,不要扼杀青少年的认知过程,反对者就说怕被“很黄很暴力”毒害到花花草草之类。

说实话这基本脱离了核心问题,青少年心理健康与绿霸有甚关系?就是要禁止难道只能要它吗?方式很多种,非得在客户端操作吗?其中有个矮个子嘉宾据说是某个网站的负责人,非得举例windows、cookie来说明监控由来已久,真的令人笑掉大牙。我认为要谈透这个话题至少是四层才过瘾,当然作为一个电视谈话节目不要奢望这么多,虽然这个节目是我一直比较推崇的,最主要是看请来的嘉宾水平如何了。4个层次如下:
层次1:青少年心理健康。
层次2:法律问题:包括反垄断导致不当竞争、消费者保护法,这个问题直逼工信部,国家重要部门不守法?
层次3:是否是自主知识产权:别人GPL协议下的东西你不遵守,连Linus Torvalds都感慨中国人对开源的奉献几乎没有,只会抄袭和索取,如果是这样也就罢了,偏偏还要硬着头皮冠以“自主知识产权”,汗!国内很多软件企业都不敢去深究这个,经不起推敲。
层次4:中国软件产业发展问题 :是否面临了软件发展的障碍,是制度还是智慧有问题,为什么老发展不起属于自己的核心竞争力的东西呢?当然除了神7这些之外。在年初我也在没有核心技术!一文中贴出了国家信息中心网络安全部主任吴亚非说的中国缺乏核心技术。

6/22/2009

球!改进中指主导运杆后的收获

  周末晚约了tang,一起大战到凌晨3点多,才意犹未尽的回家。tang是一个很好的球友,打球认真且具有风度,对战的时候一般都不会说话,一直到12点多两个人才停下来并开始讨论交流彼此的心得,指出对方的缺陷。对于我来说,那天最大的收获就是在我更改后手握杆方式的前提下,被验证是越来越稳定了,tang建议我用蛇形来练习小力走位 ,以前对于它从来不重视,总觉得这么easy的东西没必要花时间。
  但实际上却有意想不到的好处,我打了两套蛇形后,再打远台,发现居然很稳定,很准,看来我以前的球技很不细腻。
  其实整个今年上半年,我的状态就一直不好,主要的困扰是后手,而我自己往往未察觉,总是有时可以打难度很高的球进去,有时却频频失误。姿势啊姿势,天天挂嘴边,却没有引起足够的重视,现在记入在此勉励和提醒自己!
  台球是非常讲究姿势的运动,那天看“撞球帮”里也提到了,运动学家公认斯诺克是除了F1之外难度最大的运动。技术还停滞不前的爱好者们,请一定从姿势入手分析自身的原因,找到合适自己的姿势。
以前的后手是用食指主导运杆,其他指都是辅助,一直不稳定,有时候非常精准的远台,有时候袋口也失误,这个问题困扰我很久,最近改成了中指主导发力,其他手指辅助发现异常稳定,最大的区别是我的手腕现在可以垂直地面了,感觉运杆和出杆始终都是一条直线运动!同时架杆时我一直采用一个指头,用握笔的方式来握杆,现在加入中指,居然非常稳健,很有感觉。而且身体不仅仅是俯下和保持大臂不动小臂垂直90度,还要注意拉开,做到这点需要保持左肩下压,右肩抬高,这样身体会非常舒展。不舒服的姿势表示不适合你,需要调整,否则进球不顺利。

  再分享一点练球的体会,不要去练习太多花哨的东西,我一直推崇:
1.5分球直线入袋,可以锻炼出杆直
2.蛇形,锻炼小力走位的杆法,比如斯登、低推,同时对于稳定性有很大的帮助

野百合也有春天:炮制啤酒鸭

上次端午鸭子做好后的相片发布在开心上,招来大家的纷纷怀疑,周末有空我决定再做一次留下铁证,其实是非常简单的。并约了摄影达人Leena一起来吃饭并拍下整个过程。先弄个鸡蛋番茄热热身:

IMG_3282IMG_3283

好了,大菜啤酒鸭出场了,首先,准备好原料:

鸭子一整只,洗干净剁好,姜、蒜各一个切好,红辣椒和蒜头、葱花一些,视口味而定,我当然是多多益善,然后先把水烧开,把鸭子倒进去稍稍涮一下,去掉血水即可。

IMG_3280 IMG_3289

 

把锅烧热后放油,最好多放一点,然后油热后放入姜蒜和干红辣椒,接着把鸭子倒进去翻炒,这个过程是相当享受的,注意要等鸭油慢慢煎出来,而且皮发黄了,此时厨房弥漫着浓香,倒入料酒少许,接着再倒入500毫升啤酒,盖着锅盖开始焖。

IMG_3290 IMG_3291   IMG_3294 IMG_3295   IMG_3298 IMG_3299

等不及了,开锅看看,嗯,鸭子在大火中煎熬着翻滚,火候要控制好,久了就鸭子硬了咬不动,时间我也没看大概是8分钟左右,做菜这事不能死板,最重要是投入感情要根据变化而采取不同的方式。最主要是看锅里的汁水开始收了就倒入酱油、盐、鸡精少许、耗油、葱花,翻炒一会就OK了

IMG_3300 IMG_3301

 IMG_3302 IMG_3303

IMG_3304 

怎么样,色香味俱全哪,开吃!

摄影是LeeNa完成,我负责做,不一会两人就风残云卷吃完了。1000D买来后还很少琢磨,惭愧,趁着摄影达人LeeNa在要讨教单反的基本知识,否则鸭子白给他吃了,哈哈,下面两张是大、小光圈控制的景深

ISO: 800
曝光: 1/4 秒
光圈: 4.5
焦距: 35毫米
使用了闪光灯: 否                            

背景模糊

ISO: 800
曝光: 1/4 秒
光圈: 11.0
焦距: 35毫米

 都清楚

这个是快门时间控制的运转的风扇

ISO: 400
曝光: 1/60 秒
光圈: 4.5
焦距: 35毫米

快门值变大

ISO: 1600
曝光: 1/4 秒
光圈: 8.0
焦距: 34毫米
使用了闪光灯:

快门值变小

接着拍了一下夕阳图,用大光圈拍的光线模糊,不能表现真实的景色,调控后可以

ISO: 800
曝光: 1/25 秒
光圈: 9.0
焦距: 34毫米
使用了闪光灯:

IMG_3349大光圈导致夕阳曝光过度

ISO: 800
曝光: 1/25 秒
光圈: 29.0
焦距: 34毫米
使用了闪光灯:

IMG_3348小光圈表现真实夕阳

最后再用一句小学八股式作文结尾:啊!今天是多么快乐的一天啊!

6/14/2009

还好,相片恢复了

    周末小舅子来北京,这天我带着佳能1000D带着家人们一起去了颐和园、北大。回来时把相片传输到PC,用EOS Utility已经预览到了全部图片,期间发生过一次错误,我没在意,强行断开USB后顺手就删除了相机里的全部图片,结果再看PC相片时发现只有160张,还有260张不翼而飞,偏偏丢失的全部是北大照的相片。LP开始埋怨我太大意,不应该删除相机里相片,导致现在丢失无法恢复,甚至说让小舅子明天不回去,再游玩一次北大(小舅子有北大情结)。我懊恼之余在硬盘里翻出多年未用的EasyRecovery Professional,把相机里的SD卡拔出后用读卡器插在PC上,试着恢复,结果还是挺顺利的,花了1个小时全部恢复。之后再用Finadata发现也可以恢复出来。唉,感叹,做安全的人怎么这么大意。
    其实是没有切肤之痛,对很多问题只能看到表面,即使是做安全的也是如此,比如给客户做安全规划和方案的所谓专业人士,其实自己连客户的应用也不懂,安全框架仅维持在多个标准和老方案的基础上,提的建议往往貌似合理,其实细究起来就没什么创意,无非是什么边界安全啦、安全域划分啦、帐号管理、文档管理、物理安全等,再比如去做安全评估往往粗暴地用AVT来提交结果,过程机械化流程化,很难和现实结合起来。
    我有段时间对文档的丢失非常担心,不得不用dropbox和移动硬盘同步更新,这都是有了切肤之痛才会有的举措。对于病毒和蠕虫我一般都不在意,除非是恶心的文件型,感染之后改写文件,这个最讨厌了,HTML或者email文件通常就灌一段代码,exe就改写它的头,后来不得不把这些文件用ISO格式保存,重要机密文件通通加密。
所以安全的东西,要花时间去了解应用、背后的实现机制,把客户最头痛的问题拿出来,也就是所谓的BI燃眉之急,再去影响他引导他。有时候客户的话通常表达的是一种愿景,不一定是对的,不要去敷衍和盲从,这个时候就要去分析了。

好了,不说这些老生常谈的话了,贴出恢复图。总结一下步骤:误删除相机里SD卡的相片后不要再照,立马用装在读卡器上插入PC,用数据恢复软件恢复出保存在PC硬盘即可。

未命名 未命名2  

未命名3未命名4

再贴一张恢复出来的未名湖献给具有北大情结的小舅子。

_MG_3118


5/30/2009

端午鸭子

在老家端午和中秋是必吃鸭子,特别是嫩姜和玉禾秆味道是其他地方吃不到的,可惜这关键的两大原料买不到的。
端午节,自己炮制了一个,味道也不错,关键字:不放水、火候
香料:姜、蒜、红椒、葱段、料酒20克、啤酒200克
原料:鸭子一只切块
放入姜蒜到油锅出香味了,然后倒入鸭块,大火爆炒,直至出油并稍发黄了然后倒入料酒和酱油、盐、辣椒,拌好之后再倒入啤酒焖8分钟左右即可出锅了。
特点:香、辣,但肉质很嫩,哙一勺鸭汤浇在白饭上味道浓香可口。

5/12/2009

买了一张破桌子

最近手腕不好使,遂决定去淘宝买一张迷你型小台放家里强化一下姿势。

IMG_2314 IMG_2320

IMG_2325 IMG_2321

5/3/2009

好久没更新

好些日子没更新blog了,这段时间的注意力都放在sns之类站点,包括开心001、饭否、myspace。最近挺火的,下次找找这些站点是否有漏洞。

blog上方嵌入一段饭否的HTML代码,可同步消息,有啥用呢?场景之一就是当我独自去野外游玩时突然掉进一坑里,这个时候我手机快没电了,而且电话簿里的可联系人都关机了,我于是把地点、情形等求助信息发到饭否号码,然后自动同步到我的blog,此时有fans浏览到我的blog后发现这段救命文字,于是……呃,我得救了,所以各位fans需要经常了解我的动态,我的命就交给你们了,呜呼!

4/26/2009

游!

点击下面进入google相册

清明香山4.3

海棠公园游4.12

 
Photo 1 of 4

bo qin

Occupation
Location
Interests
感谢访问!
Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.
wrote:
最近要给一家银行做一个安全方面的测试,嘿
看到你blog里写的文章,
真是佩服阿,不知道我三十的时候会是啥样呢:)
Apr. 9