Seebug Paper之前收录了三篇文章有些关联性,分别是:

  1. 绕过混合内容警告 – 在安全的页面加载不安全的内
    http://paper.seebug.org/112/
  2. 检测本地文件躲避安全分析
    http://paper.seebug.org/87/
  3. 基于浏览器的指纹识别:影响和缓解措施
    http://paper.seebug.org/64/

有个关键点是:混合内容的安全性

这里提到的主要是协议的混合,如https/http/file/res/mhtml等,现代浏览器逐渐开始隔离这些协议,比如https下加载http的内容时,给出安全提示;再比如“修补”file/res/mhtml这些协议在http协议的网页里带来的安全问题,如本地文件探测(常见的是杀软探测)。

Continue reading

前几天knownsec sogili同学发现ie xss filter一个有意思的bypass,又是一种差异性导致的xss,这次是服务端语言的问题。除了这个,ie还有一个特性,判断origin是否来自本域,是的话,xss filter无效。

昨天研究下chrome xss filter,和ie的机制不太一样,表面看是不做替换,这只是表象而已,实际上chrome会对响应回的HTML做一次规范化,这个过程会判断get请求是否有潜在的xss exp,如果有,输出规范化就会做出各种过滤修改等。只是你直接查看源码是看不到的,可以配合F12,好好看看规范化之后的行为,这个技巧对于我们进行漏洞挖掘非常有利。

除了chrome F12可以看到真实的HTML,其他浏览器呢?通过DOM技巧就行:

javascript:alert(document.getElementsByTagName(‘body’)[0].innerHTML)

这样有什么好处?有利于我们判断浏览器的规范化行为,并进一步找出规范化差异或bugs,也许一个能bypass很多网站过滤器的exp就这样被我们找到,这个过程其实是可以写成一个基于浏览器的fuzzing工具的:P
Continue reading

解析顺序问题
其实哪都一样,不一定是web世界,前后端解释型语言,还有HTTP头部等。都有个解析顺序的问题,从上到下,从左到右,从右到左。一旦顺序能被干扰,就有可能出现安全问题。比如字符集编码问题、content-type问题、标签属性type问题等等。

随便说两句跑题的,下面才是正文:)

一些标准实现差异问题
浏览器们都想独霸世界,有些标准的实现各行其道,导致总是会出现些差异。如果程序员没意识到这些差异,可能就会引入安全隐患。这部分很多。最近发现浏览器们对这个地址的解析差异:
http://www.0x37.com:8989/test.php?c='”`<>!@$%^*(){}[]:;.,?~
Continue reading