解析edikid\'s blog的CSS“加密”技术

2016-02-19 17:27 5 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享解析edikid\'s blog的CSS“加密”技术吧。

【 tulaoshi.com - Web开发 】

  从我发布百度CSS import漏洞开始,就有人不断问我关于http://hi.baidu.com/edikid这个空间,到现在可能有上百人了吧!我曾经说过CSS内容原则上是不能被加密的——原因就是它需要被浏览器解析。但是当大家用我的http://dohi.cn/hisearchcss.asp对他的空间CSS进行查看时,看到的是乱码,似乎他创造了一个奇迹。

  这里Monyer不对其本人以及技术做任何讨论或评价,仅仅就他的CSS做一下基本解析,以后大家遇到此问题就不用苦恼了。

  先列一下其空间的CSS代码

以下是代码片段:
@ODY{
@ODY%7@@ACKGROUND%3A%23FFCC00%3@WIDTH%3A100%25%3@OVERFLOW-X%3AHIDDEN%3@COLOR%3A%232FA4DE%7D%0D%0A%23HEADER%7@@ACKGROUND%3A%23CCFF66%3@HEIGHT%3A100PX%3@WIDTH%3A100%25%7D%0D%0AAD1%2CAD2%2CAD3%2CAD4%2CAD5%2CAD6%7@@ACKGROUND%3A%23FFCC00%3@COLOR%3A%232FA4D}@impor00t "http://blog.edikid.net/hibaidu/css.html";E%3@%7D%0D%0A%23LAYOUT%7@WIDTH%3A98%25%3@%7D%0D%0A%23LAYOUT%20TD.C3T1%-ARROW-COLOR%3A%20%23000000%3@%20%0D%0A%20%20%20%20SCROLL@AR-TRACK-COLOR%3A%20%23FFFFFF%3@%20%0D%0A%20%20%20%20SCROLL@AR-DARKSHADOW@ODY%7@@ACKGROUND%3A%23FFCC00%3@WIDTH%3A100%25%3@OVERFLOW-X%3AHIDDEN%3@COLOR%3A%232FA4DE%7D%0D%0A%%3@%20%0D%0A%20%20%20%20SCROLL@AR-DARKSHADOW-COLOR%3A%20%23FFFFFF%3@%20%0D%0A%20%20%20%20SCROLL@AR-@ASE-COLOR%3A%20%23FFFFFF%3@;}@impor0t "htt00p://blog.edikid.net/hibaidu/00js.html";E%3@%7D%0D%0A%23LAYOUT%7@WIDTH%3A98%25%3@%7D%0D%0A%23LAYOUT%20TD.C3T1%-ARROW-COLOR%3A%20%23000000%3@%20%0D%0A%20%20%20%20SCROLL@AR-TRACK-COLOR%3A%20%23FFFFFF%3@%20%0D%0A%20%20%20%20SCROLL@AR-DARKSHADOW@ODY%7@@ACKGROUND%3A%23FFCC00%3@WIDTH%3A100%25%3@OVERFLOW-X%3AHIDDEN%3@COLOR%3A%232FA4DE%7D%0D%0A%%3@%20%0D%0A%20%20%20%

  说实话,如果偏让我对这些代码说出个所以然来,那是不现实的,因为即使对于你们所有的浏览器来说,其中的大部分代码都是无效代码,也就是不管你写什么,都不会执行。

  所以里面的

以下是代码片段:
@ODY{
@ODY%7@@ACKGROUND%3A%23FFCC00%3@WIDTH%3A100%25%3@OVERFLOW-X%3AHIDDEN%3@COLOR%3A%232FA4DE%7D%0D%0A%23HEADER%7@@ACKGROUND%3A%23CCFF66%3@HEIGHT%3A100PX%3@WIDTH%3A100%25%7D%0D%0AAD1%2CAD2%2CAD3%2CAD4%2CAD5%2CAD6%7@@ACKGROUND%3A%23FFCC00%3@COLOR%3A%232FA4D}

E%3@%7D%0D%0A%23LAYOUT%7@WIDTH%3A98%25%3@%7D%0D%0A%23LAYOUT%20TD.C3T1%-ARROW-COLOR%3A%20%23000000%3@%20%0D%0A%20%20%20%20SCROLL@AR-TRACK-COLOR%3A%20%23FFFFFF%3@%20%0D%0A%20%20%20%20SCROLL@AR-DARKSHADOW@ODY%7@@ACKGROUND%3A%23FFCC00%3@WIDTH%3A100%25%3@OVERFLOW-X%3AHIDDEN%3@COLOR%3A%232FA4DE%7D%0D%0A%%3@%20%0D%0A%20%20%20%20SCROLL@AR-DARKSHADOW-COLOR%3A%20%23FFFFFF%3@%20%0D%0A%20%20%20%20SCROLL@AR-@ASE-COLOR%3A%20%23FFFFFF%3@;}

E%3@%7D%0D%0A%23LAYOUT%7@WIDTH%3A98%25%3@%7D%0D%0A%23LAYOUT%20TD.C3T1%-ARROW-COLOR%3A%20%23000000%3@%20%0D%0A%20%20%20%20SCROLL@AR-TRACK-COLOR%3A%20%23FFFFFF%3@%20%0D%0A%20%20%20%20SCROLL@AR-DARKSHADOW@ODY%7@@ACKGROUND%3A%23FFCC00%3@WIDTH%3A100%25%3@OVERFLOW-X%3AHIDDEN%3@COLOR%3A%232FA4DE%7D%0D%0A%%3@%20%0D%0A%20%20%20%

  没有任何意义,你愿意写什么写什么,只要保证语句的正常结束就可以!这也是你不管怎么样也不会读懂的原因。细心的朋友会发现我提出了其中的两句代码,它们是:

  @impor00t "http://blog.edikid.net/hibaidu/css.html";
  @impor0t "htt00p://blog.edikid.net/hibaidu/00js.html";

  在CSS里“”、“0”、“00”是会被浏览器忽略的(其他的相关的CSS hacking 请参考Monyer的XSS系列),那我们去掉看看:

  @import "http://blog.edikid.net/hibaidu/css.html";
  @import http://blog.edikid.net/hibaidu/js.html;

  对于这两句,我想大家再熟悉不过了吧?其中不仅可以放被调用的CSS代码,同时也可以随意插入js代码(我们不是用它插过视频么?)

  但是我们把作者的所有CSS全部copy到我们那里是不会成功的,原因就是import字符及相关绕过方式早已经被百度过滤了,而作者是在百度过滤之前加入的,并且没有修改过,所以仍然有效。

  对于

  http://blog.edikid.net/hibaidu/css.html
  http://blog.edikid.net/hibaidu/js.html

  第一个CSS调用我没有分析,因为我测试时恰好文件无法访问(第二个应该不会被执行,因为前面的混淆语句不是很完整,这个要看你客户端是什么浏览器了)。

  但是以前一次分析时好像记得其中有类似

  <meta http-equiv="refresh" content="url=url,0">

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  这样的html转向代码。由于后缀名的关系,当你用浏览器直接访问时,里面的CSS不会被执行,但会执行嵌入其中的html或js代码;当你用import调用时,里面的html及脚本不会执行,但里面的CSS会执行。所以你只能用记事本来打开,或flashget下载。

  其实说了这么多,我们无非是在CSS上打转,如果真正地了解什么是CSS,并切身实地地去思考,我相信就不会有那么多问题出现了

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1615274.html

延伸阅读
Microsoft CryptoAPI加密技术(二) 作者:Cuick 下载本文示例源代码 上次我们讲了Microsoft CryptoAPI的构成以及会话密钥的使用。接下来我们将看一下公私密钥对的使用、HASH算法、数字签名等技术。 一、 公用密钥加密技术 公用密钥加密技术使用两个不同的密钥:公钥和私钥...
Microsoft CryptoAPI加密技术(一) 作者:Cuick 下载本文示例源代码 在这个信息爆炸的时代,我们不得不对信息的安全提高警惕。加密作为保障数据信息安全的一种方式,越来越受到人们的关注。 下面,我将把自己对Microsoft CryptoAPI的一些肤浅的理解与大家共享,有什么不妥之处望不吝赐教。 ...
由于一般是根据 HTTP 协议在 Web 上传输 Atom 数据,因此要完全忽略潜在的安全隐患是不可能的。比如,联合内容会显示在多处而不是显示在其原始点(毕竟,这正是联合的意义所在),您如何证明其中一方未曾修改过数据?如果某些敏感数据只能由单一个体或组织获悉怎么办?当然,最明显的例子就是银行信息。您愿意通过原始的 HTTP feed 来接收银行...
常见的例子就是:一个站点上有多个页面样式提供浏览者选择。 同时,在选择了某样式后,再次打开该页面时,将仍然保持该样式。 自然会想到了Cookie技术 下面是HTML代码部分(另外再加需要的CSS文件就可以使用了): <HTML <HEAD <link ID="skin" rel="stylesheet" type="text/css" <TITLE换肤技术</TIT...
正确使用a标签 超链接是blog中用的最多的html标签,它用来链接到其他的文章或者站点链接,建议大家用a标签时将下列属性都添加上: href:设置链接的url地址或锚点 target:设置鼠标点击链接后的目标窗口或框架页面,一般常用的是target="_blank",表示新开一个窗口打开链接,向在当前页面打开链接就不用加这个属性了 title...

经验教程

325

收藏

33
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部