<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[若有所学，若有所思]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[Computer is my GF, InfoSec is my lover:)]]></description>
<link>http://hi.baidu.com/hacknone</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[息博修炼]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/5d39f5f8fe2eb49a59ee909e.html]]></link>
        <description><![CDATA[
		
		<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span">
<div style="line-height: 160%; background-color: rgb(255,255,255); margin: 5px; color: rgb(0,0,0); font-size: 14px; background-origin: initial; background-clip: initial">
<p>感觉自己现在的水平还不能很好地写技术博客。写过和看过的代码不多，自然无法感悟出独到的见解。我所认为的好的技术文章，是能够高屋建瓴的，而我现在做不到，所以我决定自己躲在角落里慢慢修炼了。</p>
<p>于是，订阅我RSS的同学们，可以考虑退订了:(</p>
<p>Google Code采用了MoinMoin的Wiki语法，让我真正感受到了&ldquo;所思即所想&rdquo;的状态，我很喜欢那里！所以，我在那里筑起了一个小窝：用来记录一下我这个暑假写过的一些代码，和一些学习笔记。这个小窝，至少会伴随我度过一个暑假，更有甚者会有好几年，直到我觉得适合出来写技术文章了。</p>
<p>所有的代码和笔记都是开放出来的，如果你感兴趣的话，可以偶尔去看看，也好监督一下我。</p>
<p>主页: <a mce_href="http://code.google.com/p/tinycodeset/" href="http://code.google.com/p/tinycodeset/">http://code.google.com/p/tinycodeset/</a></p>
<p>Wiki: <a mce_href="http://code.google.com/p/tinycodeset/w/list" href="http://code.google.com/p/tinycodeset/w/list">http://code.google.com/p/tinycodeset/w/list</a></p>
<p>Code: <a mce_href="http://code.google.com/p/tinycodeset/source/list" href="http://code.google.com/p/tinycodeset/source/list">http://code.google.com/p/tinycodeset/source/list</a></p>
</div>
</span> <a href="http://hi.baidu.com/hacknone/blog/item/5d39f5f8fe2eb49a59ee909e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Think">Think</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/5d39f5f8fe2eb49a59ee909e.html#comment">查看评论</a>]]></description>
        <pubDate>2010-07-15  20:31</pubDate>
        <category><![CDATA[Think]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/5d39f5f8fe2eb49a59ee909e.html</guid>
</item>

<item>
        <title><![CDATA[没有一位老师能指引你四年]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/acda24fbf84e5055242df22d.html]]></link>
        <description><![CDATA[
		
		<p>今天下午上完《软件工程》的课，<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span">学了UML和软件需求文档的编写，感觉以前写的文档太不专业了，走了好多弯路。太不Professional了！</span></span></p>
<p>还有，<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span">这学期的《网络信息安全》课让我感触颇深，感觉以前做的东东太没安全素养了。一个合格的信息安全专业的科班学生，不在于你掌握了什么牛逼的技术，也不在于你能吃苦耐劳地挖出Windows或者IE的漏洞。而在于你是否有基本的安全素养，是否能带着安全的观点来思考问题，是否领悟了一些基本的安全思想，并把它们实践到自己开发的系统中去。</span></span></p>
<p>不过，<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span">走弯路并不可怕，毕竟还是有体验的，知道为什么要用专业的东东，它的好处在哪里。最多就是多花了些时间折腾了一下呗，所以这并不可怕。最可怕的是没觉悟过来。</span></span></p>
<p>可是，写项目文档这东西，<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span">为什么大二的课程设计时没有指导老师跟我们说这些东西呢？！</span></span></p>
<p>原来，我们是不能乞求<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span">一位老师能够指引你四年的。<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span">老师只要做好他的本职工作也就称职了，至于他是否会从你学生这个角度来思考如何有利于你整个大学四年的学习，也就不能强求了。所以，一切都得靠自己摸索！</span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 25px; font-size: 14px" class="Apple-style-span">话说，从客观条件上说，还是有类老师符合这个标准的。那就是辅导员，ta会跟我们一起度过四年，完全是有条件来指引我们的。可是，学校设置这个岗位，并不是叫ta来指引我们的，而是叫ta来管理我们的。真是悲哀……</span></span></span></span></p> <a href="http://hi.baidu.com/hacknone/blog/item/acda24fbf84e5055242df22d.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Think">Think</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/acda24fbf84e5055242df22d.html#comment">查看评论</a>]]></description>
        <pubDate>2010-03-31  20:28</pubDate>
        <category><![CDATA[Think]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/acda24fbf84e5055242df22d.html</guid>
</item>

<item>
        <title><![CDATA[DNS欺骗(DNS Spoofing)下]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/2aff9d5b7f0fd3262934f063.html]]></link>
        <description><![CDATA[
		
		<p>0x03 DNS毒害攻击</p>
<p>再来看攻击者是如何欺骗DNS服务器的？！首先我们要明白的一点是，<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">DNS server</span></span>是有cache的，并且这个缓存是经常动态改变的。而攻击者恰恰是抓住了缓存的这个弱点。</p>
<p>0x031 具体的攻击过程</p>
<p>前提条件：攻击者拥有他自己的域名<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">(attacker.net)</span></span>，和已经被他黑了(<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">hacked)</span></span>的<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">DNS Server<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">(ns.attacker.net)</span></span>。这里的<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">hacked</span></span>是指攻击者并不需要对<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">(ns.attacker.net)</span></span>有完全的控制权，只需要能够修改这个DNS Server上的一些缓存记录，比如能够让<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><a href="http://www.cnn.com/">www.cnn.com</a>指向<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">81.81.81.81。</span></span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">好，一切就绪，攻击开始了：</span></span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">1）攻击者向客户机的DNS服务器发送一个特定的解析请求（<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><a href="http://www.attacker.net/">www.attacker.net</a>）</span></span>：</span></span></span></span></span></span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/hacknone/pic/item/ededae41330419249113c661.jpg"></span></span></span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">2）由于客户机的DNS服务器并不知道如何解析该域名，于是它就向该域名的DNS服务器请求&ldquo;帮助&rdquo;：</span></span></span></span></span></span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/hacknone/pic/item/d3085ecea22f262503e92861.jpg"></span></span></span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span>3）ns.attacker.net就对客户机的DNS服务器做出回应，返回了<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><a href="http://www.attacker.net/">www.attacker.net</a>的IP地址。关键的地方来了！如此同时，还返回了它所有其他的<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">records（记录中当然包括<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><a href="http://www.cnn.com/">www.cnn.com</a>和<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">81.81.81.81这个错误的对应关系）文献[1]中把这个过程<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">a zone transfer.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/hacknone/pic/item/00cabc368dfd9b7b271f1461.jpg"></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">4）这样，只要那个<a href="http://www.cnn.com/">www.cnn.com</a>的缓存还存在，你的DNS服务器就一直处于&ldquo;毒害&rdquo;状态。</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">5）下面，攻击者就坐享其成果了！一旦用户向他的DNS服务器请求解析<a href="http://www.cnn.com/">www.cnn.com</a>，那个DNS服务器就返回了错误的<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse;  font-size: 14px" class="Apple-style-span">81.81.81.81。这样，攻击者就可以继续往下做他猥琐的事情了，可见文献[1]</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p>0x03 Reference</p>
<p>[1] <a href="http://www.securesphere.net/download/papers/dnsspoof.htm">http://www.securesphere.net/download/papers/dnsspoof.htm</a><br>
[2] 《计算机网络&mdash;&mdash;自顶向下方法》P93、P89，有详细的DNS服务器之间的交互过程；</p> <a href="http://hi.baidu.com/hacknone/blog/item/2aff9d5b7f0fd3262934f063.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Infosec">Infosec</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/2aff9d5b7f0fd3262934f063.html#comment">查看评论</a>]]></description>
        <pubDate>2010-03-17  21:56</pubDate>
        <category><![CDATA[Infosec]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/2aff9d5b7f0fd3262934f063.html</guid>
</item>

<item>
        <title><![CDATA[DNS欺骗(DNS Spoofing)上]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/16114a474489852acefca361.html]]></link>
        <description><![CDATA[
		
		<p> </p>
<p>0x01 概要</p>
<p>DNS欺骗，根据所欺骗的对象不同，可分为两种攻击方式：</p>
<p>1）欺骗用户：即截获用户的请求，并返回伪造的回答，类似于中间人攻击。在文献[1]中被称为DNS ID Spoofing，偶没搞懂它这个ID是什么意思？<br>
2）欺骗DNS服务器：攻击者诱使DNS服务器在其缓存中保存伪造的记录。在文献[1]中被称为DNS&nbsp;&nbsp;  Cache Poisoning，可译为DNS毒害攻击。</p>
<p>0x02 DNS用户劫持</p>
<p>先来看看第一种攻击方式，名字叫什么无所谓啦（爱叫DNS ID Spoofing也无妨，只不过我觉得DNS用户劫持更形象些），只要是大家讲的是同一个东东就可以了！</p>
<p>0x021 具体的攻击过程</p>
<p>现在<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">机器X</span></span>想要访问CNN的网站（<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">机器Y），于是它向附近的DNS Server发出了一个<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">DNS request</span></span>，并且请求中绑定了一个伪随机码（这样回答中必须也携带这个伪随机码，才能被<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">machine X</span></span>接收，否则被抛弃）。</span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/hacknone/pic/item/3e280101a0b27dbdd63f7c61.jpg"></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">然而这样是不安全的，拿局域网为例，攻击者可以通过Sniffer来监听，看到你的请求以及你的<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">request ID number</span></span>。然后，攻击者发给机器X一个伪造的回答，由于这个伪造的回答是带有<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">correct ID number</span></span>的，于是<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">机器X就转到了攻击者指定的IP</span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/hacknone/pic/item/2011acd8bf3c92eeb4fd4861.jpg"></span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span>Btw，由于DNS协议主要是基于UDP的（客户端向服务器请求解析IP用UDP，而DNS服务器之间同步DNS信息时则用TCP），所以很容易发送一个伪造的回答，而不像TCP还具有<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">SYN/ACK</span></span>的同步机制。</span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span>0x022 该攻击的难点</span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span>即使请求被攻击者监听，但是一般（当然也有手段劫持）<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">DNS Server</span></span>还是能发过来正确的回答的。这就意味着，要想使攻击成功执行，必须要能够保证攻击者伪造的回答比<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span">DNS Server</span></span>正确的回答先抵达客户机X。这就决定了这个攻击比较适合在局域网中进行！</span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span>0x023 一个实战的演练</span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 15px arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="border-collapse: collapse; font-size: 14px" class="Apple-style-span"><span>见文献[1]，写的很好，但我还没有实际测试。mark下！</span></span></span></span></span></p> <a href="http://hi.baidu.com/hacknone/blog/item/16114a474489852acefca361.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Infosec">Infosec</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/16114a474489852acefca361.html#comment">查看评论</a>]]></description>
        <pubDate>2010-03-17  21:53</pubDate>
        <category><![CDATA[Infosec]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/16114a474489852acefca361.html</guid>
</item>

<item>
        <title><![CDATA[GAE数据存储问题：如何一次插入多条记录]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/4e0b61806af031b46d8119e9.html]]></link>
        <description><![CDATA[
		
		<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span">
<div style="background-color: rgb(255,255,255); color: rgb(34,34,34); font-size: 12px">
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="font-size: small" class="Apple-style-span"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style=" font-size: small" class="Apple-style-span">上次问了group的朋友这个问题：<a href="http://hi.baidu.com/hacknone/blog/item/2a1f86c987763414bf09e671.html">《服务器如何&ldquo;主动&rdquo;向手机客户端发送数据--分析WaveSecure》</a>，收获很大。现在的这个问题也是属于这个demo中的，就是要把手机中的通讯录上传到服务端（GAE）。采用的方法是：手机客户端Android发送XML到服务端（将它放在HTTP Post请求中的body部分），然后服务端解析该XML，把数据存入到数据库中。<br>
<br>
比如，XML文档大概像这样：<br>
<br>
&lt;?xml version='1.0' encoding='UTF-8'?&gt;<br>
&lt;contact nid='1'&gt;                                                &lt;!-- 代表某个客户端 --&gt;<br>
&lt;entity&gt;                                                               &lt;!-- 代表某条通讯录 --&gt;<br>
&lt;name&gt;xiaowen&lt;/name&gt;<br>
&lt;phone&gt;1300&lt;/phone&gt;<br>
&lt;/entity&gt;<br>
&lt;entity&gt;                                                                &lt;!-- 下一条通讯录 --&gt;<br>
&lt;name&gt;xiaohu&lt;/name&gt;<br>
&lt;phone&gt;1311&lt;/phone&gt;<br>
&lt;/entity&gt;<br>
<br>
对应的Python代码为：<br>
<br>
class BackUpHandler(webapp.RequestHandler):<br>
&nbsp;&nbsp;   def post(self):<br>
&nbsp;&nbsp;       # create DataStore val<br>
&nbsp;&nbsp;       contact = Contact()<br>
&nbsp;&nbsp;       <br>
&nbsp;&nbsp;       # get body of HTTP<br>
&nbsp;&nbsp;       strXML = self.request.body     &nbsp;&nbsp;<br>
&nbsp;&nbsp;       # parse XML, docXML is a Document Node<br>
&nbsp;&nbsp;       docXML = minidom.parseString(strXML)<br>
&nbsp;&nbsp;       <br>
&nbsp;&nbsp;       # test getting first data<br>
&nbsp;&nbsp;       contact.nid = docXML.getElementsByTagName('contact')[0].getAttribute('nid')<br>
&nbsp;&nbsp;       contact.name = docXML.getElementsByTagName('name')[0].firstChild.data<br>
&nbsp;&nbsp;       contact.phone = docXML.getElementsByTagName('phone')[0].firstChild.data        <br>
&nbsp;&nbsp;       contact.put()<br>
&nbsp;&nbsp;       # test can put() twice? after testing, no!<br>
&nbsp;&nbsp;       contact.name = docXML.getElementsByTagName('name')[1].firstChild.data<br>
&nbsp;&nbsp;       contact.phone = docXML.getElementsByTagName('phone')[1].firstChild.data<br>
&nbsp;&nbsp;       contact.put()<br>
<br>
这样写的本来想法是测试下同时写入两条记录，但是GAE后台的数据库中显示只有('name')[1]这条记录被插入了，也就是contact.put()一次只能插入一条记录，前面插的('contact')[0]会被覆盖！<br>
<br>
我想的一种很xx的方法是：要插入几条记录，就创建几个数据表对象Contact()，然后分别使用各自的put()方法保存数据。像这样就ok了：<br>
<br>
&nbsp;&nbsp;       # test sucess<br>
&nbsp;&nbsp;       another = Contact()<br>
&nbsp;&nbsp;       another.nid = docXML.getElementsByTagName('contact')[0].getAttribute('nid')<br>
&nbsp;&nbsp;       another.name = docXML.getElementsByTagName('name')[1].firstChild.data<br>
&nbsp;&nbsp;       another.phone = docXML.getElementsByTagName('phone')[1].firstChild.data<br>
&nbsp;&nbsp;       another.put()<br>
<br>
但是，如果一个XML文档有上百条记录，难道也创建上百个对象吗？！显然是不可取的，<strong>大家有什么好方法来解决这个问题吗？</strong><br>
<br>
另外，<strong>就这个备份通讯录到服务器上的模块来说</strong>，大家有其他什么好的经验或建议吗？比如针对用XML传数据，因为我没什么这方面的经验，所以都是些很通俗的想法，可能业界已经有很成熟的方法了。<br>
<br>
thx:)</span></span></span></span></p>
</div>
</span> <a href="http://hi.baidu.com/hacknone/blog/item/4e0b61806af031b46d8119e9.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Gae">Gae</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/4e0b61806af031b46d8119e9.html#comment">查看评论</a>]]></description>
        <pubDate>2010-03-14  19:00</pubDate>
        <category><![CDATA[Gae]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/4e0b61806af031b46d8119e9.html</guid>
</item>

<item>
        <title><![CDATA[向老外求助Android的lock和unlock机制]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/2aff9d5b5e1b32212934f07f.html]]></link>
        <description><![CDATA[
		
		<p>昨天向五个知名的Android论坛发出了求助邮件（两个老外的），但是一无所获。偶困惑了，决定向某老外发出求助邮件，在这里记录一下。</p>
<p><strong>Subject:</strong> <em>&lt;How to lock the Screen customly? Just like WaveSecure in Android&gt;</em></p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 17px 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span class="Apple-style-span">
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">Hi, Gabor Paller, I subscribe <a target="_blank" href="http://mylifewithandroid.blogspot.com/">your blog</a> and I am a student from China. Now I have a difficult problem about Android, and I asked this question in several Android community, but I got nothing helpful. So I decide to ask for your help.</p>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">I want to do a demo just like <a target="_blank" href="https://www.wavesecure.com/">WaveSecure</a>, which win <a target="_blank" href="http://code.google.com/android/adc/gallery_winners.html">Android Develop Challenge 2</a> with a third place. Now I have a problem in locking the screen customly, so I want to know how WaveSecure achieve its locking function, as the following picture show:<span class="Apple-converted-space"> ( I tested it in my S60 )</span></p>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial"><span class="Apple-converted-space"><span><span><img class="blogimg" border="0" small="0" src="http://ss1.sinaimg.cn/orignal/643f7f73g802cac76ea40&amp;690"><br>
</span><br>
</span></span></p>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">When the mobile is locked, WaveSecure can require customer to input their own password. So I think WaveSecure must replace Android's original locking function.</p>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">And I also google it, but I didn't find anything helpful. I only find two packages may be helpful. They are:</p>
<ul style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; list-style-type: disc; margin: 0px 0px 1em 30px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">
    <li style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">android.app.KeyguardManager</li>
    <li style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">android.os.PowerManager</li>
</ul>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">But after I reading the Android Docs, I just can disable Keyguard, but I couldn't realize my custom locking function. Maybe I can inherit KeyguardManager, but after I reading the source of <a target="_blank" href="http://www.netmite.com/android/mydroid/frameworks/base/core/java/android/app/KeyguardManager.java">KeyguardManager.java</a>, I gave up this idea. Do you think so?</p>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">I found Android's locking and unlocking Code <a target="_blank" href="http://www.netmite.com/android/mydroid/frameworks/policies/base/phone/com/android/internal/policy/impl/">here</a>. Take an example of <a target="_blank" href="http://www.netmite.com/android/mydroid/frameworks/policies/base/phone/com/android/internal/policy/impl/LockScreen.java">LockScreen.java</a>, I think it is useful, such as the following code:</p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style=" font-size: 14px" class="Apple-style-span"><span style="font-size: medium">
<pre><strong>private</strong> <strong>void</strong> <font color="#2040a0">refreshUnlockIntructions</font><font color="#4444ff"><strong>(</strong></font><font color="#4444ff"><strong>)</strong></font> <font color="#4444ff"><strong>{</strong></font>
        <strong>if</strong> <font color="#4444ff"><strong>(</strong></font><font color="#2040a0">mLockPatternUtils</font>.<font color="#2040a0">isLockPatternEnabled</font><font color="#4444ff"><strong>(</strong></font><font color="#4444ff"><strong>)</strong></font>
                <font color="#4444ff">|</font><font color="#4444ff">|</font> <font color="#2040a0">mUpdateMonitor</font>.<font color="#2040a0">getSimState</font><font color="#4444ff"><strong>(</strong></font><font color="#4444ff"><strong>)</strong></font> <font color="#4444ff">=</font><font color="#4444ff">=</font> <font color="#2040a0">SimCard</font>.<font color="#2040a0">State</font>.<font color="#2040a0">PIN_REQUIRED</font><font color="#4444ff"><strong>)</strong></font> <font color="#4444ff"><strong>{</strong></font>
            <font color="#2040a0">mLockInstructions</font>.<font color="#2040a0">setText</font><font color="#4444ff"><strong>(</strong></font><font color="#2040a0">R</font>.<font color="#2040a0">string</font>.<font color="#2040a0">lockscreen_instructions_when_pattern_enabled</font><font color="#4444ff"><strong>)</strong></font><font color="#4444ff">;</font>
        <font color="#4444ff"><strong>}</strong></font> <strong>else</strong> <font color="#4444ff"><strong>{</strong></font>
            <font color="#2040a0">mLockInstructions</font>.<font color="#2040a0">setText</font><font color="#4444ff"><strong>(</strong></font><font color="#2040a0">R</font>.<font color="#2040a0">string</font>.<font color="#2040a0">lockscreen_instructions_when_pattern_disabled</font><font color="#4444ff"><strong>)</strong></font><font color="#4444ff">;</font>
        <font color="#4444ff"><strong>} </strong></font></pre>
</span>
<div><span style=" white-space: pre; font-size: medium"><font color="#4444ff" face="新宋体"><strong>}</strong></font></span> </div>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial"><br>
So I must import non-public API like <strong>com.android.internal.policy.impl</strong>, I am not worried after I read your <a target="_blank" href="http://mylifewithandroid.blogspot.com/2009/01/generating-keypresses-programmatically.html">this article</a>. I can create stubs for these packages. But I am confused how to inherit those classes so that Android System can use my code when I need to lock it, while Android System uses its own locking mechanism when in normal situation. And this method is too complex, so I don't have much confidence I can realize it. Do you have any simple method?</p>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">I hope you can help me, because it is very very important for me. And the deadline is April 1, 2010.</p>
<p style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; clear: both; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">Best regards:)</p>
</span></span></span></span> <a href="http://hi.baidu.com/hacknone/blog/item/2aff9d5b5e1b32212934f07f.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Android">Android</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/2aff9d5b5e1b32212934f07f.html#comment">查看评论</a>]]></description>
        <pubDate>2010-03-06  15:15</pubDate>
        <category><![CDATA[Android]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/2aff9d5b5e1b32212934f07f.html</guid>
</item>

<item>
        <title><![CDATA[如何自定义锁屏功能？类似WaveSecure这个软件]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/002f52534d0a57848d5430dd.html]]></link>
        <description><![CDATA[
		
		<p>我想要做个demo，大概的效果类似于<a target="_blank" href="https://www.wavesecure.com/">WaveSecure</a>这个软件。它拿到了<a target="_blank" href="http://code.google.com/android/adc/">ADC2</a>的全球所有类别的第三名，是个安全软件。</p>
<p>现在我在做锁定屏幕这个功能时遇到了问题，一直无法解决，所以我想知道WaveSecure它是大概如何实现功能的？ 我拿自己的S60系统测试了下，大概效果如下图：</p>
<p><span><img class="blogimg" border="0" small="0" src="http://ss1.sinaimg.cn/orignal/643f7f73g802cac76ea40&amp;690"><br>
</span><span><br>
当手机被远程锁定以后，要在客户端解锁，用户必须输入特定的密码。（这个时候，键盘还是可以用的，因此它并没有拿<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 13px; border-collapse: collapse;  color: rgb(0,112,0); font-size: 13px; font-weight: bold" class="Apple-style-span"><a style="color: rgb(0,102,153)" href="http://androidappdocs.appspot.com/reference/android/os/PowerManager.html#SCREEN_BRIGHT_WAKE_LOCK"><font face="新宋体">SCREEN_BRIGHT_WAKE_LOCK</font></a></span></span> 因为这样Keyboard就直接不能用了。）所以，我觉得WaveSecure肯定是用某种方法替换了系统自带的锁屏功能。</span></p>
<p><span>我搜索了很久，唯一的发现就是两个可能有用的包：</span></p>
<span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 17px 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span class="Apple-style-span">
<ul style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; list-style-type: disc; margin: 0px 0px 1em 30px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">
    <li style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">android.app.KeyguardManager</li>
    <li style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 15px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial">android.os.PowerManager</li>
</ul>
</span></span></span>
<p><span>但是我阅读了相关Android Docs后，还是没啥突破。很觉得KeyguardManager是解决这个问题的关键，但是我只能实现disableKeyguard，而无法自定义一个新的Keyguard，难道直接继承KeyguardManager这个类？重写里面的方法？</span></p>
<p><span>关于WaveSecure是如何实现它的锁屏功能的，你有什么idea吗？</span></p>
<p><span>thx:)</span></p> <a href="http://hi.baidu.com/hacknone/blog/item/002f52534d0a57848d5430dd.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Android">Android</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/002f52534d0a57848d5430dd.html#comment">查看评论</a>]]></description>
        <pubDate>2010-03-05  18:10</pubDate>
        <category><![CDATA[Android]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/002f52534d0a57848d5430dd.html</guid>
</item>

<item>
        <title><![CDATA[中间人攻击MITM]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/477430138a24991bb8127bf0.html]]></link>
        <description><![CDATA[
		
		<p style="padding-bottom: 0px; line-height: normal; background-color: rgb(255,255,255); margin: 6px; min-height: 1100px; padding-left: 0px; padding-right: 0px; counter-reset: __goog_page__ 0; color: rgb(0,0,0); font-size: 10pt; padding-top: 0px" align="left"><font size="3" face="宋体">1.Alice发消息给Bob，问他要公钥。但是，不幸的是，这个消息被中间人Mallory截获了：</font></p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 24px; font-size: 16px" class="Apple-style-span">
<pre style="border-bottom: rgb(47,111,171) 1px dashed; border-left: rgb(47,111,171) 1px dashed; padding-bottom: 1em; line-height: 1.1em; background-color: rgb(249,249,249); padding-left: 1em; padding-right: 1em; color: black; border-top: rgb(47,111,171) 1px dashed; border-right: rgb(47,111,171) 1px dashed; padding-top: 1em"><strong>Alice</strong> <em>&quot;Hi Bob, it's Alice. Give me your key&quot;</em>--&gt;  <strong>Mallory</strong>      <strong>Bob</strong></pre>
</span></span>
<p>2.Mallory把这个消息继续转发给Bob，而且Bob相信了这个消息是来自Alice的：</p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 24px; font-size: 16px" class="Apple-style-span">
<pre style="border-bottom: rgb(47,111,171) 1px dashed; border-left: rgb(47,111,171) 1px dashed; padding-bottom: 1em; line-height: 1.1em; background-color: rgb(249,249,249); padding-left: 1em; padding-right: 1em; color: black; border-top: rgb(47,111,171) 1px dashed; border-right: rgb(47,111,171) 1px dashed; padding-top: 1em"><strong>Alice</strong>      <strong>Mallory</strong> <em>&quot;Hi Bob, it's Alice. Give me your key&quot;</em>--&gt;   <strong>Bob</strong></pre>
</span></span>
<p>3.Bob就把他的公钥发出了，他以为是响应给Alice的，但是实际上是发给Mallory了：</p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 24px; font-size: 16px" class="Apple-style-span">
<pre style="border-bottom: rgb(47,111,171) 1px dashed; border-left: rgb(47,111,171) 1px dashed; padding-bottom: 1em; line-height: 1.1em; background-color: rgb(249,249,249); padding-left: 1em; padding-right: 1em; color: black; border-top: rgb(47,111,171) 1px dashed; border-right: rgb(47,111,171) 1px dashed; padding-top: 1em"><strong>Alice</strong>      <strong>Mallory</strong>   &lt;--<em>[Bob's_key]</em> <strong>Bob</strong></pre>
</span></span>
<p>4.Mallory就拿到了Bob的公钥，然后她把<strong>自己的公钥</strong>转发给了Alice，并且Alice以为这是Bob的公钥：</p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 24px; font-size: 16px" class="Apple-style-span">
<pre style="border-bottom: rgb(47,111,171) 1px dashed; border-left: rgb(47,111,171) 1px dashed; padding-bottom: 1em; line-height: 1.1em; background-color: rgb(249,249,249); padding-left: 1em; padding-right: 1em; color: black; border-top: rgb(47,111,171) 1px dashed; border-right: rgb(47,111,171) 1px dashed; padding-top: 1em"><strong>Alice</strong>   &lt;--<em>[Mallory's_key]</em> <strong>Mallory</strong>      <strong>Bob</strong></pre>
</span></span>
<p>5.于是，Alice就拿她以为是Bob的公钥（实际上是Mallory的公钥）加密信息，认为这个信息仅仅只有Bob可以解密阅读：</p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 24px; font-size: 16px" class="Apple-style-span">
<pre style="border-bottom: rgb(47,111,171) 1px dashed; border-left: rgb(47,111,171) 1px dashed; padding-bottom: 1em; line-height: 1.1em; background-color: rgb(249,249,249); padding-left: 1em; padding-right: 1em; color: black; border-top: rgb(47,111,171) 1px dashed; border-right: rgb(47,111,171) 1px dashed; padding-top: 1em"><strong>Alice</strong> <em>&quot;Meet me at the bus stop!&quot;[encrypted with Mallory's key]</em>--&gt;   <strong>Mallory</strong>      <strong>Bob</strong></pre>
</span></span>
<p>6.因为这个密钥实际上是Mallory的公钥，于是她可以解密、阅读、修改信息（如果她愿意的话）。接着，Mallory拿Bob的公钥继续加密信息，然后转发给Bob：</p>
<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 24px; font-size: 16px" class="Apple-style-span">
<pre style="border-bottom: rgb(47,111,171) 1px dashed; border-left: rgb(47,111,171) 1px dashed; padding-bottom: 1em; line-height: 1.1em; background-color: rgb(249,249,249); padding-left: 1em; padding-right: 1em; color: black; border-top: rgb(47,111,171) 1px dashed; border-right: rgb(47,111,171) 1px dashed; padding-top: 1em"><strong>Alice</strong>      <strong>Mallory</strong> <em>&quot;Meet me in the windowless van at 22nd Ave!&quot;[encrypted with Bob's key]</em>--&gt;   <strong>Bob</strong></pre>
</span></span>
<p>7.最后，Bob相信这个消息是来自Alice，并且他觉得他们俩的通信是安全的！</p>
<p>总结一下，要解决这个demo的威胁，Alice和Bob必须要有<strong>某种方法</strong>来确保他们使用的是<strong>对方的公钥</strong>。</p>
<p><strong><font size="4">参考：</font></strong></p>
<p>1.<a href="http://en.wikipedia.org/wiki/Man-in-the-Middle">http://en.wikipedia.org/wiki/Man-in-the-Middle</a><br>
2.<a href="http://www.hudong.com/wiki/%E4%B8%AD%E9%97%B4%E4%BA%BA%E6%94%BB%E5%87%BB">http://www.hudong.com/wiki/中间人攻击</a><br>
3.<a href="http://article.pchome.net/content-137613.html">http://article.pchome.net/content-137613.html</a></p> <a href="http://hi.baidu.com/hacknone/blog/item/477430138a24991bb8127bf0.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Infosec">Infosec</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/477430138a24991bb8127bf0.html#comment">查看评论</a>]]></description>
        <pubDate>2010-03-03  21:57</pubDate>
        <category><![CDATA[Infosec]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/477430138a24991bb8127bf0.html</guid>
</item>

<item>
        <title><![CDATA[服务器如何“主动”向手机客户端发送数据--分析WaveSecure]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/2a1f86c987763414bf09e671.html]]></link>
        <description><![CDATA[
		
		<p>这个问题实在解决不了，也没这方面的经验，就想向CPyUG上的朋友help了。因为有图，为了能让大家看的舒服，就在博客上也贴了一份。</p>
<p>想要实现类似<a target="_blank" href="https://www.wavesecure.com/">WaveSecure</a>这样一个手机安全系统（包括手机客户端和Web网站部分），当然我只要很简陋地实现一下就可以了，做个demo。</p>
<p>WaveSecure是什么东东呢？简而言之，它是一个能够在你手机被盗后，保护你手机上信息安全的软件。比如，可以远程锁定手机，换SIM卡时自动锁机等。</p>
<p>它由两部分组成。Web网站部分，界面如下：（图片来自我昨天拿S60系统测试的效果）<br>
<span><span><img class="blogimg" border="0" small="0" src="http://ss7.sinaimg.cn/orignal/643f7f73g802c5ab68476&amp;690"></span></span></p>
<p><span>手机客户端部分，比如下面就是手机被锁后的效果：（只有输入对自己设的密码才能对手机操作了）<br>
<span><img class="blogimg" border="0" small="0" src="http://ss1.sinaimg.cn/orignal/643f7f73g802cac76ea40&amp;690"></span></span></p>
<p><span><span>而WaveSecure实际上是因为拿了Google搞的Android比赛全球第三名后出名了，可以参见这里：<a href="http://code.google.com/android/adc/gallery_winners.html">http://code.google.com/android/adc/gallery_winners.html</a><br>
</span><br>
<font size="4"><strong>问题：</strong></font><br>
我想知道当在web端按下【锁定】后，服务器是如何&ldquo;主动&rdquo;向手机客户端发送【锁定】指令的？（下图显示的仅仅是个Ajax效果，主要为了是解释下我刚刚那句话的，呵呵）<br>
</span><span><span><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/hacknone/pic/item/4d84051b601c004edbb4bd76.jpg"><br>
</span><br>
<font size="4"><strong>功能分析：<br>
</strong></font>普通的手机客户端如豆瓣、校内、微博的，它们都是手机<strong>主动</strong>向服务器请求数据或者发送数据的，因为服务器有公网IP，手机客户端自然能够跟服务器建立连接。然而，wavesecure则不同，当用户在网上按下【锁定】后，则需要服务器&ldquo;主动&rdquo;找到手机客户端，这就是我困惑的地方。我对wavesecure进行了一定的测试，如下：（结合移动的网上营业厅）</span></p>
<span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style=" font-size: 14px" class="Apple-style-span">
<div><span style="font-size: large"><font size="3"><strong>1.走的是cmwap流量，且只有服务器端发送请求时才会产生流量</strong></font></span></div>
<div>以下是我9:11进行锁定和解锁的测试结果，其他时间没产生流量：</div>
<div><span style="color: rgb(102,102,102); font-size: 12px">
<table style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px" class="FCK__ShowTableBorders" border="0" cellspacing="2" cellpadding="0" width="98%">
    <thead style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px">
        <tr style="text-align: center; padding-bottom: 0px; background-color: rgb(255,153,0); margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; height: 30px; color: rgb(255,255,255); font-size: 12px; padding-top: 0px">
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">状态类型</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">开始时间</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">接入点</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">清单类型</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="35">时长(秒)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">基本收费流量（K）</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">基本费用(元)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">套餐费(元)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="35">作用套餐</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="35">其他收费流量（K）</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">其他费用(元)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="50">总费用(元)</td>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>
</span></div>
<div><span style="color: rgb(102,102,102); font-size: 12px">
<table style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px" class="FCK__ShowTableBorders" cellspacing="1" cellpadding="0" width="98%">
    <tbody style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px">
        <tr style="text-align: center; padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; height: 28px; font-size: 12px; word-break: break-all; padding-top: 0px">
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">本地</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">02月23日 0<font color="#ff0000">9:13:07</font></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">cmwap</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">GPRS上网</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">26</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">2</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60"><a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; color: rgb(75,75,75); font-size: 12px; text-decoration: none; padding-top: 0px" href="http://service.js.chinamobile.com/fee/feequery/fee_query.html">有</a></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60"><a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; color: rgb(75,75,75); font-size: 12px; text-decoration: none; padding-top: 0px" href="http://service.js.chinamobile.com/fee/feequery/fee_query.html">0</a></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">0.00</td>
        </tr>
        <tr style="text-align: center; padding-bottom: 0px; background-color: rgb(255,236,206); margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; height: 28px; font-size: 12px; word-break: break-all; padding-top: 0px">
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">本地</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">02月23日 0<font color="#ff0000">9:11:24</font></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">cmwap</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">GPRS上网</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">28</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">1</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60"><a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; color: rgb(75,75,75); font-size: 12px; text-decoration: none; padding-top: 0px" href="http://service.js.chinamobile.com/fee/feequery/fee_query.html">有</a></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60"><a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; color: rgb(75,75,75); font-size: 12px; text-decoration: none; padding-top: 0px" href="http://service.js.chinamobile.com/fee/feequery/fee_query.html">0</a></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">0.00</td>
        </tr>
    </tbody>
</table>
</span></div>
<span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style=" font-size: 14px" class="Apple-style-span">
<div><strong><span style="font-size: large"><font size="3">2.手机开机客户端自动连接服务器<br>
</font></span></strong>我在关掉手机，然后在9：34开机，看看是否会同时产生cmwap流量。答案是：会！</div>
<div><span style="color: rgb(102,102,102); font-size: 12px">
<table style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px" class="FCK__ShowTableBorders" border="0" cellspacing="2" cellpadding="0" width="98%">
    <thead style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px">
        <tr style="text-align: center; padding-bottom: 0px; background-color: rgb(255,153,0); margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; height: 30px; color: rgb(255,255,255); font-size: 12px; padding-top: 0px">
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">状态类型</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">开始时间</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">接入点</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">清单类型</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="35">时长(秒)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="45">基本收费流量（K）</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">基本费用(元)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">套餐费(元)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="35">作用套餐</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="35">其他收费流量（K）</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="40">其他费用(元)</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="50">总费用(元)</td>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>
</span>
<div><span style="color: rgb(102,102,102); font-size: 12px">
<table style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px" class="FCK__ShowTableBorders" cellspacing="1" cellpadding="0" width="98%">
    <tbody style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-size: 12px; padding-top: 0px">
        <tr style="text-align: center; padding-bottom: 0px; background-color: rgb(255,236,206); margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; height: 28px; font-size: 12px; word-break: break-all; padding-top: 0px">
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">本地</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">02月23日<font color="#ff0000"><span class="Apple-converted-space"> </span>09:34:43</font></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">cmwap</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">GPRS上网</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">21</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">1</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60"><a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; color: rgb(75,75,75); font-size: 12px; text-decoration: none; padding-top: 0px" href="http://service.js.chinamobile.com/fee/feequery/fee_query.html">有</a></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60"><a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; color: rgb(75,75,75); font-size: 12px; text-decoration: none; padding-top: 0px" href="http://service.js.chinamobile.com/fee/feequery/fee_query.html">0</a></td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="60">0.00</td>
            <td style="padding-bottom: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px;  font-size: 12px; padding-top: 0px" width="80">0.00</td>
        </tr>
    </tbody>
</table>
</span></div>
</div>
</span></span></span>
<p><span><strong><font size="4">探寻思路：<br>
</font></strong>1.keyword：<strong>始终连接</strong></span></p>
<p><span>我第一个想到的是，手机能否跟服务器长时间一直建立着连接，只要处于开机状态就保持连接。但是，始终建立着socket连接，那么服务器那边得一直维护着多少用户的连接啊，这也太夸张了吧。</span></p>
<p><span>不知道手机QQ是如何跟服务器保持连接的，如果它采取的是始终维持跟用户的连接，我觉得还是可行的。毕竟用户不会一个月一直挂着QQ吧，但是这个wavesecure软件可是要一年都要能跟服务器保持连接的啊？</span></p>
<p><span><strong>Q1：</strong>是否有比较好的技术能够用于要长时间（比如一个月）建立稳定连接的地方？而且对效率不会产生太大的问题。刚刚了解到Java NIO或者SocketChannel可能能满足这个要求？呆会去了解下……</span></p>
<p><span>又或许这种方法因为受限于移动的网关而根本行不通？我在<a target="_blank" href="http://topic.csdn.net/u/20090413/16/c3c418a0-81b4-467b-b40f-2d8b6f32d863.html">《servlet如何主动向客户端发送消息》</a>中查到这样一段：</span></p>
<p><span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="text-align: left; line-height: 23px;  font-size: 14px" class="Apple-style-span"><font color="#0000ff">连接上来后没收到消息等到有下行消息后就返回。但是连接保持时间不能超过60秒。移动的网关有限制。超过时间后，网关会主动断开。</font></span></span></span></p>
<p><span>2.keyword：<strong>移动IP</strong></span></p>
<p><span>如果服务器跟手机没有连接一直存在在那，则服务器需要能&ldquo;主动&rdquo;找到手机客户端，也就需要手机有个固定的IP。</span></p>
<p><span>或许可以这样：每次开机的时候，手机根据服务器的IP主动连接到服务器。然后，服务器保存手机的IP，断开连接。等到要发送数据的时候，就根据手机的IP再找到手机。中途，手机客户端不断检测自己的IP是否改变，一有改变就主动向服务器请求连接，让服务器保存新的手机IP地址。</span></p>
<p><span><strong>Q2：</strong>大家觉得这种思路的可能性有多大？或者根本没这么麻烦，手机可以有个固定IP？</span></p>
<p><span>查阅<a target="_blank" href="http://topic.csdn.net/t/20040915/19/3376185.html">《手机中J2ME做服务器，服务器中J2SE做客户端的socket应用出现的问题》</a>后，我自己感觉这个思路不太可行-_-!</span></p>
<p><span>3.keyword：<strong>轮询方式</strong></span></p>
<p><span>即手机客户端每隔一定的时间主动向服务器建立连接，看服务器是否有指令要发送。</span></p>
<p><span>但是，这种思路已经被我已经否定了。因为从上面的流量分析可以看出只有用户点击相应的功能时，才会产生流量。TCP的三次握手应该也会产生流量的吧？或者每时刻的流量太少，没被中国移动监控出来，导致没被我觉察出来~</span></p>
<p><span>即使是没被中国移动监控出来，我也觉得这种不太可靠。因为我测试【锁定】时，大概1分钟手机就被锁定了。如果是轮询的话，则时间间隔得少于一分钟，这个频率也太高了吧？手机日常运行的效率岂不是大打折扣！</span></p>
<p><span><strong><font size="4">Q：</font></strong>综上，我自己感觉第一种比较可靠，应该是有什么好的技术的吧？那么，大家觉得哪种思路比较可靠呢？或者你有其他思路，也说出来听听吧！虽然自己经过了一定的思考，也查阅了好些网页，但是我现在很菜，又有点急于想能做出这个demo，肯定有很多盲点的，希望提的问题没太幼稚，见笑了：）</span></p>
<p><span>万分谢谢！</span></p>
<p><span><strong>Reference：</strong><br>
</span><span>关于更多wavesecure的介绍，可见<a target="_blank" href="http://www.hk-player.com/viewthread.php?tid=180759">《最強手機防失軟件 - Wave secure [有圖板本]》</a>一文</span></p>
</span></span></span> <a href="http://hi.baidu.com/hacknone/blog/item/2a1f86c987763414bf09e671.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Android">Android</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/2a1f86c987763414bf09e671.html#comment">查看评论</a>]]></description>
        <pubDate>2010-02-23  13:21</pubDate>
        <category><![CDATA[Android]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/2a1f86c987763414bf09e671.html</guid>
</item>

<item>
        <title><![CDATA[那些记忆中难以忘却的视频]]></title>
        <link><![CDATA[http://hi.baidu.com/hacknone/blog/item/4ec97a032d5e1fdd267fb5de.html]]></link>
        <description><![CDATA[
		
		<p>1.兰迪·波许--真正实现你的童年梦想(Really Achieving Your Childhood Dreams)</p>
<p><embed style="width: 450px; height: 390px" height="390" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="450" src="http://player.youku.com/player.php/sid/XODE5Mjc5ODQ=/v.swf" wmode="transparent" play="true" loop="false" menu="false"></embed></p>
<p>一句话：Randy Pausch, you guide my life, thank you very much！</p>
<p>2.（其中的父亲和儿子的名字，我以前找过，但一时找不到了）</p>
<p><embed style="width: 450px; height: 390px" height="390" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="450" src="http://player.youku.com/player.php/sid/XODQzNjY3MjQ=/v.swf" wmode="transparent" play="true" loop="false" menu="false"></embed></p>
<p>一句话：父爱是伟大的，强壮的身体是必须的！</p>
<p>3.乔布斯在斯坦福大学的演讲：Stay hungry, stay foolish！</p>
<p><embed style="width: 450px; height: 390px" height="390" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="450" src="http://player.youku.com/player.php/sid/XODgxOTMzNTI=/v.swf" wmode="transparent" play="true" loop="false" menu="false"></embed></p>
<p>一句话：超级擅长演讲的乔布斯用最朴实的语言打动了我。</p>
<p>4.柴静演讲：《认识的人，了解的事》</p>
<p><embed style="width: 450px; height: 390px" height="390" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="450" src="http://player.youku.com/player.php/sid/XMTE2MjUzNDA0/v.swf" wmode="transparent" play="true" loop="false" menu="false"></embed></p>
<p>一句话：嫁人当嫁柴静姐姐，人美心善！</p>
<p>5.笑傲江湖第14集（96版），风清扬教授令狐冲练武</p>
<p><embed style="width: 450px; height: 390px" height="390" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="450" src="http://player.youku.com/player.php/sid/XNjk1MDc1OTY=/v.swf" wmode="transparent" play="true" loop="false" menu="false"></embed></p>
<p>一句话：应当作为中小学教材，必看，这样学生就知道如何学习了，切忌死读书！</p>
<p>6.英国偶像X-Factors06e03那集中的小情侣</p>
<p><embed style="width: 450px; height: 390px" height="390" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="450" src="http://player.youku.com/player.php/sid/XMTE5MzAyMDky/v.swf" wmode="transparent" play="true" loop="false" menu="false"></embed></p>
<p>一句话：死角蛮缠的女生应该学着点（虽然最后结局并不如视频上所述的完美），男人只会感激于你的宽宏大量、厌恶你的哭爹喊妈！</p>
<p>7.英国达人第三季初赛Sue Son完整版</p>
<p><embed style="width: 450px; height: 390px" height="390" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="450" src="http://player.youku.com/player.php/sid/XODg4NTMxNDg=/v.swf" wmode="transparent" play="true" loop="false" menu="false"></embed></p>
<p>一句话：做真实的自己！</p>
<p>这些都是大学里来给我留下深刻印象的视频，刚刚整理了一下，现在分享出来：）</p> <a href="http://hi.baidu.com/hacknone/blog/item/4ec97a032d5e1fdd267fb5de.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/hacknone/blog/category/Other">Other</a>&nbsp;<a href="http://hi.baidu.com/hacknone/blog/item/4ec97a032d5e1fdd267fb5de.html#comment">查看评论</a>]]></description>
        <pubDate>2010-02-03  22:08</pubDate>
        <category><![CDATA[Other]]></category>
        <author><![CDATA[hacknone]]></author>
		<guid>http://hi.baidu.com/hacknone/blog/item/4ec97a032d5e1fdd267fb5de.html</guid>
</item>


</channel>
</rss>
