js随机跳转域名_不明恶意攻击致lt;搜狗搜索gt;lt;搜索结果gt;跳转lt;百度搜索gt;技术原理分析...

本文主要是介绍js随机跳转域名_不明恶意攻击致lt;搜狗搜索gt;lt;搜索结果gt;跳转lt;百度搜索gt;技术原理分析...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

46c5578142a0d3ef617a9db38f795034.png

不明恶意攻击致<搜狗搜索><搜索结果>跳转<百度搜索>技术原理分析

原创 2017-09-29 玄魂工作室 EE 玄魂工作室

不明恶意攻击致<搜狗搜索><搜索结果>跳转<百度搜索>技术原理分析


作者:玄魂工作室 EE


先声明一点,本文作者不是搜狗的

然后

只是从技术的角度探讨问题


目录

  • 不明恶意攻击致<搜狗搜索><搜索结果>跳转<百度搜索>技术原理分析
  • 目录
    * 前提背景
    * BS流量分析
    * 继续分析

前提背景

最近我用搜狗的搜索的时候,就发现搜索结果会跳转到百度搜索,但是没注意,但是最近这个频率越来越高了之后,开始关注这个事,本人的这些分析只是抛砖引玉,欢迎更多的大神来加入分析

我们先看一段视频,这是我差不多一两个月之前录的,然后这个因为还原比较难(随机的因素),毕竟<黑产帝>也不是吃素的,所以我就录了一段屏,录了好几次,只有那么一次成功复现了的

9f7013d15277eef26bdca3c8155fe07c.png
https://www.zhihu.com/video/897086898265268224
然后今天早上吧,我又发现这东西跳转又出现,所以我用Burp Suite(以下简称BS)截了一下吧,很巧的,才点了下一个链接,就跳转了,千分之一的概率被我撞上了

然后下面我们就来看这个东西的分析

BS流量分析

我们先来看流量的分析

下面我直接贴BS的截图了,图片没有加工过,但是如果有关方面有异议,可以申请技术鉴定,上面那个视频也是一样的,如果有异议,可以申请技术鉴定

今早我是打算给我的虚拟机装个某压缩软件,我就不说是哪个软件了,然后呢所以如果截图出现什么2345的网址和一些软件下载网址的话大家不要奇怪,这不是广告(喂喂喂,大家不要走啊)

然后我们先来看第一条可疑的流量

为了图片的真实性,我就不圈圈和乱画了

20170f948d4dcf3f3d726b04515910c3.png

这是某压缩软件的官网,大家一看就知道,我就不打广告了

我们打开这个http://ggcode.2345.com后会发现会跳转到百度推广的官方网站,然后这个这里请求了一个js的文件,我们看看这是什么

0085f1eeebbf2aa4f60c73ab70b74f66.png

这应该是一个2345网的推广用的js代码,这个我们先不管,这个代码我贴这里了--->Github

我们来看这个请求的response

f4da1723bd8ada80b693404592485df0.png

就是返回了这个网页上的这个js代码,和一个这个

Set-Cookie: BAIDUID=5007864C1D257146A762EA3D69151474:FG=1; expires=Fri, 21-Sep-18 05:08:56 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1

然后继续看这个请求的下文

b595785cd23a8131fb8491a65f52f9cc.png

在请求完http://ggcode.2345.com之后紧接着的就是一个http://cpro.baidustatic.com的请求,这个请求是什么样的

a5c06277d8278400196c202df9f02f21.png

这里请求了一个也是js,注意这里的状态码,是302,302意味着什么,意味着我们要跳到其它网址了,我们再看看response

b3f4b6b2cea37c1363185cb82e56a53a.png

发现什么?百度的网址的js代码要求跳转到一个http://sc.qhdbfjx.com/pil9/cw.js上,我们看看这个网址上的这个代码,请注意第二行和第四行的代码

018bcb2826eacedd390f00ced337bc92.png

这里明显出现了baidu字样

这个代码我贴到这里了--->Github

这里要么有一种可能,就是我的本地网络被谁劫持了,跳转到这个网址,但是这个对谁也没啥好处啊,就从搜狗搜索跳转到百度搜索,除了百度

然后我们继续看

77a1dc3773ddea765c3c32e794dc9736.png

其他那些无关流量是网站产生的,我们不管他,然后看这里,我们上一个流量不是302了嘛,然后这就是302后的流量

请注意状态是304,因为刚刚才跳转过,我一看有了,就开始截包了,所以这里状态码是304,因为这个js文件,我们本地已经有了,时间没过期,所以服务器返回304

da8d6447d63678775b6f1c26d7d18d6e.png

response也是一样的,但是我们可以去这里网址和路径看一下这个代码是什么,就是上面那个

然后一些无关的流量之后,我们会发现又请求了一个推广的js

baf4b85ea924e2150832367be271a5db.png

这次状态码不是302了,而是200

这个请求的js在这里--->Github

然后执行完这个请求的js之后,我们的浏览器就开始跳百度了

f828a5dbcfa117f75b2a3e33e32a5d02.png

看到下面那个http://pos.baidu.com没?开始跳到百度了

这是完整的URL

http://pos.baidu.com/s?hei=22&wid=400&di=u2849903&ltu=http%3A%2F%2Fwww.duote.com%2Fsoft%2F3384.html&cmi=5&tlm=1506171517&ltr=https%3A%2F%2Fwww.sogou.com%2Flink%3Furl%3DDSOYnZeCC_rnZBEq7eVevZxspV_DrxUOW1cto8mAN_y2wKelUak-kA..&cec=GBK&dri=1&dc=2&chi=1&exps=111000&cpl=4&cfv=0&cdo=-1&dai=1&dis=0&par=1536x824&tpr=1506305183853&tcn=1506305184&ps=316x868&drs=1&ari=2&cce=true&cja=false&pis=-1x-1&ti=%E3%80%90%E5%A5%BD%E5%8E%8B%E8%BD%AF%E4%BB%B6%E5%AE%98%E6%96%B9%E4%B8%8B%E8%BD%BD%E3%80%912345%E5%A5%BD%E5%8E%8B%E5%AE%98%E6%96%B9%E4%B8%8B%E8%BD%BD_2345%E8%BD%AF%E4%BB%B6%E5%A4%A7%E5%85%A8&psr=1536x864&pss=1536x640&ant=0&col=zh-CN&dtm=HTML_POST&pcs=1536x734&ccd=24

看到这串URL里面的sogou.com没有???

然后这个的response是这样的

b6bea6d40c3a79d7a0264556ac073f75.png

有点长,我把他丢这里了--->Github

然后,从这里开始,你就已经从搜狗搜索,跳到百度搜索了

我们会发现这么一个有趣的东西

6d0fa6358734885e7f73512a1a808755.png

这个请求的Referer是http://www.duote.com/soft/3384.html

为我们打开这个网址

27dad0c5e9903df150b18a8cb2267805.png

毫无疑问,百度劫持了搜狗的流量,因为推广是按访问流量算钱的,然后你懂的

然后,这还没完

继续分析

我们是不是忘了一开始的那个网站了,我们继续分析看这个网址是http://sc.qhdbfjx.com/sta/pi19/cw.js

我们查一查

3f8fde95ca2d228a74024b6f16bc4e49.png

会发现这个人zhengqing hua的人,这个域名的过期时间是2017/10/24,也就是很快了,现在是2017/9/25,然后我们在反查

440b35e9d2ca93cc7850b34de8849929.png

这里有165页的域名,然后注册公司都是些什么鬼名字,在安全行业的同学一看就知道这是黑产帝

我们也可以查查这个同学的邮箱

705deb010976d0f3222d4dc992ad0ef1.png

7c1322f6d792441672d2997d7f72a8a5.png

a3ad722d3f1f3fd2888662bf8993452b.png

这个是恶意域名无疑了吧?

那分析到这里我想问一下百度的工作人员,为什么百度的域名请求的流量,最后会302到这个恶意域名?为什么恶意域名上会有你们的流量请求?

43be0fab005eb1ec170cffd5d2b0c85d.png

然后这个软件指向了这个百度域名下的一个js文件,上面这段代码中,很像XSS代码中的语句

document.write(unescape("%3Cscript%20type%3D%22text/javascript%22%20src%3D%22http%3A//http://cpro.baidustatic.com/cpro/ui/cm.js%3Ft%3D0%22%3E%3C/script%3E"))

也是通过各种字符变化逃避检测

这段代码解码之后是这样

"<script type="text/javascript" src="http://cpro.baidustatic.com/cpro/ui/cm.js?t=0"></script>"

他向这个cm.js传了一个参数,t=0,这个能对百度域名下的脚本传参数的,很玄妙

然后我们访问这个域名http://cpro.baidustatic.com/cpro/ui/cm.js就会跳转到http://sc.qhdbfjx.com/img/cm.js

为什么百度域名的解析会跳转指向恶意网址??这点也麻烦百度做出解释(视频这里--->视频君)

9a563174c036c98cd6ab2f9c8cacc723.png
https://www.zhihu.com/video/897087514643406848

本文完

原文首发链接:http://blog.csdn.net/isinstance/article/details/78085339

微信订阅号读者点击阅读原文,可以跳转。

欢迎关注玄魂工作室

------------------------------------

06fd38f2e2b3788aa786c74516b6ccbb.png


----------------------------------


一份python安全编程入门教程

Struts2 S2-052 RCE简单测试

阅读原文

这篇关于js随机跳转域名_不明恶意攻击致lt;搜狗搜索gt;lt;搜索结果gt;跳转lt;百度搜索gt;技术原理分析...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/386572

相关文章

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三