螺螺的blog
父母一天天老去了,我要努力!
posts - 105,  comments - 388,  trackbacks - 0

每次访问不了tracert都是到国内的骨干断掉。

今天搜索相关信息的时候,看到一个帖子说这个事情,作者tracert分析得出被GFW的结论,结果有“独立思考之理性的”人义正言辞的跳出来回复说他最讨厌这种听风就是雨的说法,说为什么不可能是google自己的不稳定,什么事都要往GFW上想。那么我也“不理性”的说,我最讨厌这种“理性”的颠倒是非黑白的人,我不知道他是怎么想的。

posted @ 2009-05-17 11:21 luoluo 阅读(1693) | 评论 (12)编辑

Second Round

Beat L.A.

We Still Believe!!

posted @ 2009-05-05 22:41 luoluo 阅读(1323) | 评论 (2)编辑

最近Planet上关于这个话题有了很多的探讨,关于解决方案,我和刺茄子云舒Kevin他们在群里都有过讨论,这两天又对apache的处理机制进行了简单的分析,到现在思路也渐渐的清晰了。

解决方式有三种,一是WEB服务器端解决,二是客户端解决,三是在中间层解决。

1、WEB服务器端解决以Apache为例,首先会想到rewrite或者apache module或者,但是测试会发现rewrite和普通的dso module都不行,因为apache在这之前就错误返回了;于是乎查资料找更早的介入方式,发现ap_hook技术可以在很多环节插入代码, 还有apache input filter也是能在较早的地方进行输入过滤,但是都失败了;最后翻代码分析发现Apache处理头之后如果有错误的话是直接返回的,所以除了修改Apache源代码,在Apache层面是没法解决的。

2、客户端解决,也比较容易想到定制400错误页面,里面写JS来清COOKIE,但是问题同上定制的页面内容也是无法返回到客户端的。还有就是客户端软件了,对于网站来说,没有这种能力。

3、云舒提到Iptables之类的介于客户端和服务器端之间的七层过滤的东东,没有测过。Kevin提出用Squid的方式也可以归入这一类,我也没有侧过,但是Squid基本也可以看做是个Web服务器。

本来Web服务器设置这个限制是防止对Web服务器的DOS的,结果反而导致了对客户端DOS的可能,说到底就是一个单选题,选择Server容易被DOS还是Client容易被DOS,那么Apache选择了前者。Kevin说这根本上是浏览器的问题,因为浏览器没有遵守相关标准中关于Cookie大小的限制。的确,理想的状态就是服务器端和客户端在最大的请求头上达成一致,但是目前来看如果没有造成较大的危害的话,无论是浏览器方面还是WEB服务器方面都不会轻易调整。

所以总的来说,这个问题是个难题,预计最终的解决将会由它所造成的危害推动。

posted @ 2009-04-25 01:01 luoluo 阅读(1298) | 评论 (0)编辑

什么是匿名透明递归,就是递归调用的时候不需要知道函数名,也不需要理解参数。用到的知识点:

1、arguments对象的callee属性,取得当前函数对象,实现函数匿名引用

2、Function对象的apply方法,调用一个方法,并传入this指针和arguments对象,这样就实现参数透明传递

<script type="text/javascript">
<!--
(
function(s, n, o) {
    alert(n);

    
if (n < 5) {
        n 
++;
        arguments.callee.apply(
this, arguments);
    }
})(
"test"0, {a : 1});
//-->
</script>

posted @ 2009-04-20 23:35 luoluo 阅读(1655) | 评论 (6)编辑

http://www.cnblogs.com/sun11086/archive/2009/03/19/1416678.html

老外写的flash垃圾回收机制的文章,根据这个仔细研究研究说不定也能整出个use after free或者double free的漏洞呢?

posted @ 2009-04-13 01:49 luoluo 阅读(1113) | 评论 (0)编辑

这个冬天一宅就是5个月,身体状态基本和没骑过车差不多了,清明假期在连续宅了两天后我决定用自虐的方式来唤醒慵懒的身体。无奈在离妙峰山脚下还有十几公里的模式口,仅仅50公里的平路,就让我的大腿开始抽筋了,这是个危险的信号,给愉快的旅程蒙上了一层阴影。还好我心态比较平和,及时调整了预期,本着尽力的原则,不行就撤。凭着对登顶的强烈渴望,在中途休息了无数次并吃了顿中午饭后成功到达山顶牌楼,后来咬牙坚持回到家,全程大约187公里。北京业余自行车运动水平很高,妙峰山连续21公里爬坡很多牛人1个小时内就登顶了,很难想象那种速度,以我去年秋天的最佳状态时估计也要1个半小时。长期不骑车虽然肌肉机能回到解放前,但是心肺功能一点问题也没有,而且意志力还在,这对于爬长坡最为重要。

 

 

posted @ 2009-04-07 04:09 luoluo 阅读(1451) | 评论 (6)编辑

这次杭州之行朋友没有少见,酒没少喝,肉也没少吃,游戏没有少打,真是快意人生。

而北京呢,朋友不少,但是苦于城市太大了,聚一次太难,不像杭州下班就可以直接去搞,sigh!

posted @ 2009-04-03 17:58 luoluo 阅读(1998) | 评论 (6)编辑

通过Script Editor脚本调试观察到的一些特性,不分先后胡乱列一通:

1、跨域可以读取属性名/全局变量名

2、属性的粒度是到读写的,比如location对象的属性,可以跨域写,但是不可以跨域读

3、操作符也是有权限控制的,比如location对象可以使用操作符!=、==,但是没有办法使用=

4、null和undefined状态是可读的

5、length是可读的

6、权限限制错误有两种提示,一是“拒绝访问”,一是“没有权限”;我猜测“拒绝访问”是没有读写权限,“没有权限”是仅有读或者写权限

7、 window.frames[i]取得的是frame的contentWindow对象,document.getElementsByTagName("iframe")[i]取得是iframe元素对象,所以后者需要使用.contentWindow来获取frame的window对象

可能以上某一个单独的特性并不能获取多少信息,但是组合起来有可能获取更多的有用信息:)
posted @ 2009-03-31 13:19 luoluo 阅读(1575) | 评论 (4)编辑

用ms系列脚本调试器有个很方便的特性就是debugger关键字,它可以在代码中写入断点激活调试器,类似于汇编中的int 3,今天突然发现firebug也支持了,这样就更方便了。

firebug:

microsoft script editor:

 

posted @ 2009-03-17 15:15 luoluo 阅读(1624) | 评论 (0)编辑

网上很多文档提到一个JS利用DOM特性作HTMLDecode的方法:

function HTMLDecode(strEncodeHTML)
{
    
var div = document.createElement('div');
    div.innerHTML 
= strEncodeHTML;
    
return div.innerText;
}

 

这个函数是不安全的,如果参数带有用户输入,就可能导致执行JS代码:

function HTMLDecode(strEncodeHTML)
{
    
var div = document.createElement('div');
    div.innerHTML 
= strEncodeHTML;
    
return div.innerText;
}

HTMLDecode(
"<img src=1 onerror=alert(1) />");


有人很傻很天真的以为,这个没有被appendChild到dom树的元素,应该不会执行。

 

posted @ 2009-03-17 11:41 luoluo 阅读(1476) | 评论 (1)编辑

<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

与我联系

搜索

 

常用链接

留言簿

随笔分类

随笔档案

友情连接

最新评论

阅读排行榜

评论排行榜