新闻动态   News
搜索   Search
你的位置:首页 > 新闻动态 > 公司新闻

推速达:棋牌菠菜网站如何实现流量劫持实操教程

2020/1/10 9:57:15      点击:

现在的菠菜网站基本都会含有这样的功能:在浏览器(360浏览器、IE浏览器)地址栏中输入www.csdn.net网址,它会跳转到www.baidu.com。只要你一但访问了这个网站后,你以后所访问的菠菜网站都会自动又跳转回来所指定的网站。这个对站长来说带来的流量收益是非常大的


本文只做好学者娱乐教学,请勿实际操作,否则后果自负,如有异议请联系QQ:758596845

下面就给大家分享我的实战教程。大概的思路是这样的:HOOK NtDeviceIoControlFile,将DLL注入浏览器,拦截到发包信息,篡改网址。

我已经通过HOOK获取了发包信息,如图(360浏览器中输入www.csdn.net后得到的发包):

准备工作

进行劫持的机器:最好使用 kali linux在本地或者远程撘一个HTTP服务器,作为钓鱼网站,用于伪装目标网站最好安装一个大功率的无线网卡安装劫持工具ettercap (kali自带)测试机器安装浏览器(废话,是台电脑都有,纯命令行linux用lynx也可以)两台电脑接入同一个无线路由器或者集线器(最好不要使用交换机,因为必须要取得交换机本身的控制才可以进行,而路由器只需要进行欺骗就可以)

网站劫持原理

DNS决定的是我们的域名将解析到哪一个IP地址的记录,是基于UDP协议的一种应用层协议

这个攻击的前提是攻击者掌控了你的网关(可以是路由器,交换机,或者运营商),一般来说,在一个WLAN下面,使用ARP劫持就可以达到此效果。

你在访问一个网站的过程中,经历了如下几个阶段:

以访问freebuf的主页为例:

地址栏输入baidu.com访问本机的hosts文件,查找 baidu.com 所对应的 IP,若找到,则访问该IP若未找到,则进行这一步,去(远程的)DNS服务器上面找baidu.com的IP,访问该IP

可以通过Wireshark抓包来看一下这个过程

这是一个发向baidu.com的DNS请求

这是DNS服务器返回的内容:

中间人劫持就发生在第三步:由于恶意攻击者控制了你的网关,当你发送了一个查找baidu

.com

的IP的请求的时候,中间人拦截住,并返回给你一个恶意网址的IP,你的浏览器就会把这个IP当做你想要访问的域名的IP!!这个IP是攻击者搭建的一个模仿了目标网站前端界面的界面,当你在该界面输入用户名密码或者付款操作的时候,就会中招。

由于DNS劫持导向的界面的URL是完全正确的,因此

这类攻击一般极难分辨!

本文只做好学者娱乐教学,请勿实际操作,否则后果自负,如有异议请联系QQ:758596845

攻击者可以将网页的前端做的极为完善!几乎和原网页一模一样,各种链接,也都指向正确的地方,只有这个登陆框是有问题的,一旦输入用户名密码就会被攻击者所接受到。

从这些信息中如何改动使之跳转到指定的网址呢?

在HTTP协议中,使用三个数字代表HTTP协议状态。

HTTP状态代码是在Web服务器返回数据的第一行实现的

比如你访问http://www.so.com,好搜的服务器会返回的数据第一行是:

HTTP/1.1 200 OK

这里就说明好搜返回的状态是200,协议是HTTP/1.1,状态描述是OK。

大家都知道g.cn这个google的网址,这个网址会转跳到www.baidu.cn上,当我们访问g.cn的时候第一行返回的是:

HTTP/1.1 301 Moved Permanently

说明状态是301,状态描述是Moved Permanently,直译为“永久转移”,这里g.cn用到的就是永久重定向。

大家会问,怎么看到这个“HTTP/1.1 200 OK”这样的状态,这里需要一个能够监控IE浏览器通讯的程序,我用的是HttpWatch 4.0 Professional 专业版,下载地址“http://link.silmoon.net/r/down_s4_11/HttpWatch.rar”,安装后从[查看(V)]->[浏览器栏(E)]找到HttpWatch,之后会看到这个工具已经显示出来了,在此不多说这个程序怎么使用了。

在这里我就简单介绍几个状态代码(更多信息可参考)

在1XX中,是Informational和实验性使用的协议,几乎根本不用,就此忽略。

200 OK:表示请求已经接受,客户所需要的信息已经成功的返回给客户。

206 Partial Content:部分内容,如果客户端请求的是较大的资源,比如下载,MP3,会被分段传送。此状态表示这是其中的一部分。

300 Multiple Choices:可选重定向,表示客户请求的资源已经被转向到另外的地址了,但是没有说明是否是永久重定向还是临时重定向。

301 Moved Permanently:永久重定向,同上,但是这个状态会告知客户请求的资源已经永久性的存在在新的重定向的URL上。

302 Moved Temporatily:临时重定向,在HTTP1.1中状态描述是Found,这个和300一样,但是说明请求的资源临时被转移到新的URL上,在以后可能会再次变动或者此URL会正常请求客户的连接。

400 Bad Request:坏的请求,这在IIS里常见,其表现为(Invalid Hostname)失败的主机头,另外其他的失败的坏请求都是此状态。

403 Forbidden:禁止状态,此状态是明显的禁止用户和拒绝用户的请求!

404 Not Found:请求的地址和资源没有找到。

500 Internal Server Error:内部服务器错误。

503 Service Unavailable:服务器不可用,表示Web服务器已经崩溃或者超载运行,此状态就是明确的告诉用户,现在服务器有问题。

本文只做好学者娱乐教学,请勿实际操作,否则后果自负,如有异议请联系QQ:758596845

什么是精确重定向?

当你访问http://www.111.cn/myPage.aspx想转向到http://www.111.com/myPage.aspx这叫精确重定向,就是仅仅域名变了,但是后面的路径依旧存在,相反,就是不管访问那个页面,都重定向到一个新的指定的页面。

解释3xx状态

我们以301永久重定向为例。我们发请求给g.cn,看到HttpWatch的信息

以下是代码片段:

HTTP/1.1 301 Moved Permanently

Cache-Control: private, max-age=2592000

Content-Length: 235

Content-Type: text/html; charset=UTF-8

Date: Mon, 11 Jan 2010 13:58:44 GMT

Expires: Mon, 11 Jan 2010 13:58:44 GMT

Location: http://www.google.cn/webhp?source=g_cn

Server: gws

X-XSS-Protection: 0此状态明显说明301永久重定向,但是从定向到哪里呢??看下面有一个Location: http://www.google.cn/webhp?source=g_cn,Location的意思是位置,一个3xx的请求必须包含Location字段信息,否则将不知道转向到哪里。

在程序中实现3xx状态

ASP:

在ASP的编程中有一个方法或者说是函数可以控制状态行的字符,并且可以添加Location这样的字段。

本文只做好学者娱乐教学,请勿实际操作,否则后果自负,如有异议请联系QQ:758596845

以下是代码片段:

<%

Response.Status = 301 '表示状态切换成301

Response.AddHeader "Location","http://www.baidu.com/" '在头中添加Location字段,其内容是百度的网址。

%>以下是代码片段(精确重定向):

<%

Response.Status = 301 '表示状态切换成301

Response.AddHeader "Location","http://www.baidu.com/"&Request.ServerVariables("HTTP_X_REWRITE_URL") '在头中添加Location字段,其内容是百度的网址。

%>

这是永久重定向的实现方法,有人说Response.Redirect也可以重定向,但是你最好用HttpWatch看看到底是不是301!

Request.ServerVariables("HTTP_X_REWRITE_URL")是ASP中获得请求路径的方法。

PHP:

和ASP一样,也是两步

以下是代码片段: