您现在的位置: 华盟网 >> 网管 >> 入侵检测 >> 正文

[组图]XSS攻击冷门花样玩法总结

2015/3/22 作者:blackhol… 来源: FreeBuf
导读 什么是冷门,就是很少有人知道,而且不方便利用,危害性有的大,有的小。但对攻击者来说,它有一个“优点”——能让网站管理员不经意之间中招,一个小小的细节,就能完成攻击。本文里总结的攻击方式比较冷门,但危害

  前言

  什么是冷门,就是很少有人知道,而且不方便利用,危害性有的大,有的小。但对攻击者来说,它有一个“优点”——能让网站管理员不经意之间中招,一个小小的细节,就能完成攻击。本文里总结的攻击方式比较冷门,但危害和影响并不小,值得我们关注。

  0×01 Apache||Nginx访问日志的Attack

  网站管理员有时为了更好的维护网站,会在服务器上开启日志,为了更快一步的发现安全问题,并快速应急。但是Apache、Nginx提供的日志模块,根本不是人看的。就像下面这样:

  0×02:插件安全

  有的黑客在攻击的时候喜欢有目标的攻击,也有的黑客是漫无目的的去攻击,而这一节所说的就是“漫无目的”的攻击,且,把漫无目的的攻击最大化来处理。

  很多人都会XSS,也有很多人会CSRF。在刚开始玩的时候,很多人都都遵循一个XSS法则:见框就插和见参数就插。当然了玩的熟练之后就加上抓包分析、DOM XSS什么的。不知道你们有没有想过能不能把XSS的攻击范围变得更广一些呢?这里肯定有人想起了 XSS蠕虫。XSS蠕虫是可以大范围传播,但是如果不是同一个网站呢?这个就比较难了吧,因为这涉及到“跨域”的问题了。但是事实不是绝对的,跨域是很厉害。但是在“浏览器”看来,什么都不是,就像duang的一下加了特技。

  因为浏览器是个非常大的面包,各大公司都想分一杯羹。于是乎360 QQ 搜狗等等互联网巨擘纷纷开始加入了浏览器的队列。

  因为浏览器越来越多,厂家们为了拉拢更多的用户,纷纷的推出了“插件”。因为插件的存在,很多小厂家们开始纷纷的写插件(可以打知名度),等于是一箭三雕。

  但是由于插件的是运行在各个网站里的,就比如“有道翻译”它必须在每个网站上都运行自己的代码,于是浏览器插件开始支持跨域。但是他们忽略了一个问题,插件的跨域不进行认证,导致很多的人都可以写插件,上传插件。其实插件问题已然是个重灾区。因为浏览器们认为不管他们的事。他们认为这属于一个一个愿打一个愿挨。事实却不是这样的。

  下面是我自己写的一个插件,叫“网站自动响应式”,现在已经有38人安装了(其中有360安全部门的人也安装了哟~)围观链接:http://extension.maxthon.cn/detail/index.php?view_id=2802

  我们使用遨游官方提供的MxPacker来压缩解压插件:http://bbs.maxthon.cn/forum.php?mod=viewthread&tid=611580

  解压下来有三个文件Icon(放插件图标的、def.json(主文件、配置、调用的)、base.js(插件的js)

  def.son:

  0×03 利用Nginx&Apache环境bug来实现攻击

  现在很多网站都采用了前端nginx后端apahce这种方式来做网站,nginx对静态资源利用的非常好,apache对php利用的非常的好,当这两者在一起的时候,网站处理事件起来也比较好。这个时候呢,因为nginx&apache环境很多都是在linux下搭建的,没有那么的防火墙供你选择,于是很多根据nginx&apache来开发开源WAF模块。很多的网站也都使用了。

  但是呢,nginx做反向代理的时候有个缺陷,那就是根据文件的后缀的来判别这个文件是静态资源还是动态资源,假设,当我们访问index.html的时候,nginx根据后缀认为这是一个静态资源,于是就交给自己来处理,当遇上index.php的时候,nginx根据后缀认为这是一个动态资源文件,于是就转发给后端的apache来处理。下面是相关的配置:

  

  

  看的时候是没什么问题,几乎挑不出毛病,但是,当这个缺陷遇上浏览器的时候就会duang的一下,出来一个致命的漏洞。因为浏览器默认会隐藏index.php文件名(并不一定是index.php,要看服务端的配置,有可能是其他的文件,具体的请百度,这里就不再阐述了)

  假设网站是freebuf.com,我们打开freebuf.com/index.php的时候正常,因为这是一个动态资源文件,nginx交给apache来处理了。

  但是,如果我们输入freebuf.com,nginx就会认为这是一个静态的资源脚本,并不会交给apahce处理,也就不会触发第三个location。这个时候是nginx来负责解析php的,而nginx对静态资源文件并没有使用waf,这个时候漏洞就出来了,我们可以不带index.php来攻击,比如freebuf.com/?Id= 就可以来完成攻击。

  这只是一个例子,还有一种,那就是在apache上使用apache的waf模块,nginx发现这是个php的时候,就会还给apache,apahce先交给apache的waf,再返回内容。漏洞的出现方式和利用方法和上面一样。

  [作者/blackhole,本文属FreeBuf原创奖励计划,未经许可禁止转载]

                  微信群名称:华盟黑白之道二群   华盟-黑白之道⑦QQ群: 9430885

  • 上一篇网管:

  • 下一篇网管:
  • 网友评论
      验证码
     

    关注

    分享

    0

    讨论

    2

    猜你喜欢

    论坛最新贴