作者:疯狂棒棒糖
在一次对客户给的资产做渗透测试的时候发现了有外挂bc页面的链接,心血来潮想搞清楚其原理,顺便将研究的过程分享给大家。
首先,SEO分为黑帽SEO和白帽SEO:
黑帽SEO通常采用搜索引擎禁止的方式优化网站,影响搜索引擎对网站排名的合理和公正性。黑帽SEO包括很多很多手法,技术含量也要求很高。比如:流量劫持、快照劫持、泛域名、泛ip、变种ip、目录链轮、新闻源劫持、寄生虫程序、get程序、无限页面链轮等等,而且技术会层出不穷,捉摸不透。但随时会因为搜索引擎算法的改变而面临惩罚。
白帽SEO就是通过合理优化网站,从而提高用户的体验。通过合理与其他网站互联使站点在搜索引擎排名提升。可以理解为是正常渠道。
这次研究的是快照劫持之一的js快照劫持。
先普及一下知识点:快照劫持、搜索跳转其实是黑帽SEO利用站中站脚本自动繁殖文章“能熟练应用快照劫持(流量、爬虫、权重) 搜索跳转到自动繁殖文章(站中站脚本)做自己关键词获取定向流量的方法”搜索引擎快照劫持是通过代码来判断和识别蜘蛛访问的,若正常访问,则给出正常内容,若判断到是搜素引擎来访问,就给出另一个页面,使搜素引擎抓取快照进行改变,之后判断来路跳转。
以下是本次案例记录:
首先当我们在百度中搜索ip的时候发现了这样一幕:(客户资产打码见谅)
从这个页面中可以看出来此处就是属于百度快照劫持,点击后便跳转到了bc网站:https://www.wtwns860.com/cn/
这时候可以重新在百度里搜索这个网站,能够发现还有其余受害者TNT。
通过点击他们的链接均可以跳转到bc网站。
首先想到的是在首页可能被植入了恶意代码,那我们在首页用ctrl+u来看一下页面源代码:
经过分析,发现图中TDK的信息存在篡改且被加密了,加密的是中文标题、关键、描述,加密的格式经过判断为Unicode编码加密,将这三个依次解密后如下图所示发现被篡改信息。
我一般用站长在线解密工具地址如下:http://tool.chinaz.com/tools/unicode.aspx
继续往下分析可以发现,首页源代码被插入了一条js代码,这里将js代码格式贴出来供大家参考一下:
发现这个js是个经过加密的密文,我们这里采用站长工具解密JS:
通过图片可以发现解密后的内容依然是被加密的,入门的同学应该能看出来这里的加密方式吧。没错!就是16进制加密,接下来通过16进制字符串编码解码得到下图消息:
通过这个得到了js跳转的https链接:https://www.bcdas8.com/v61.js。
PS:这里提供16进制字符串编码解码的网站以及js解密的三种解密的方式:
1. 16进制解码我觉得这个网站的用起来很舒服:http://snapi.sinaapp.com/(因为有些网站将上述window{...}放进去后无法过滤非16进制字符,而这个网站可以识别16进制字符进行转换后输出,不用挨个复制解密。)
2. 在线方式:最常用的是站长工具àJS混淆加密压缩
3. 第二简单的方式:将eval直接替换成document.write,将代码输出
document.write("
/*eval*/document.write("function(){.....代码}");
document.write("
4. 本地方式:可以将下列代码保存为HTML格式文件保存到本地,将下面js代码复制进去点击解码即可,对于懒得打开站长工具的来说确实很方便。
JS解密