通过BGP实现流量劫持
BGP
BGP全称是Border Gateway Protocol,翻译成中文是边界网关协议,用于全球各个AS之间的路由。它的地位是毋庸置疑的,如果没有它就没有全球的因特网。因为全球各个AS都等价的维护一个BGP也带来一些安全性问题,只要任意一个节点的BGP信息配置失误都可能对全球网络产生影响。
像国内BAT这样的企业都是通过互联网交换中心用BGP与其他各大运营商建立的连接关系对外提供服务的。当然更多的中小型公司没有实力自己另起一个AS与运营商建立BGP邻居,这时他们可以“寄生”在其他运营商中来对外提供服务(比如我接入联通的网络,使用联通提供的ip地址来对外提供服务。此时对于其他AS的网民来讲我就是联通提供给他们的服务)。
注:每一个AS都是一个独立的整体网络,一个AS所有者可以是一家公司,也可以是一个组织。一个组织内的服务器想要对因特网上的网民提供服务就需要通过BGP将自己AS内的ip地址宣告给其他AS,好让其他AS内的用户知道你这有响应服务提供。 换言之,一个AS就好像一个部落,你要想和其他部落进行贸易往来就需要修条路通往其他部落,这条路就是BGP。

因为全球的AS都是用BGP来学习路由,所以我们只需要对BGP稍微“动点手脚”就可以达到流量劫持的目的,下面介绍两种常用方法:
背景:1.1.1.0/24属于AS100并通过BGP路由宣告出去,AS200和AS300的用户通过BGP学习到1.1.1.0/24的路由,实际访问的时候将流量转发至AS100

1、利用“地理位置”对流量进行截胡:AS400经过攻击者操控后,将本不属于它的1.1.1.0/24网段宣告进BGP,这样AS200和AS300就从两个方向都学到了1.1.1.0/24的路由。AS200和AS300这时会比较两个方向的AS-PATH属性,哪个短走哪边,结果AS300发现从AS400发来的AS-PATH经过的路径更少,然后将本应该给AS100的1.1.1.0/24的流量就丢给了AS400,AS400从而达成了流量劫持的目的。

2、更细的子网掩码:AS400经过攻击者操控后,宣告一个子网掩码更细的网段1.1.1.0/25进BGP,这样AS200和AS300的路由表中的就都学到了一条更精细化的路由1.1.1.0/25。根据“子网掩码越大越优先”的路由选路原则,AS200和AS300此后就会将1.1.1.0/25的流量转发至AS400,AS400从而达成了流量劫持的目的。

总结:BGP网络是全球所有人共同维护的一张网络,你对BGP的任何一次操作都可能影响全球用户,所以在对BGP进行操作时一定要小心再小心!
通过BGP实现流量劫持的更多相关文章
- 【流量劫持】躲避 HSTS 的 HTTPS 劫持
前言 HSTS 的出现,对 HTTPS 劫持带来莫大的挑战. 不过,HSTS 也不是万能的,它只能解决 SSLStrip 这类劫持方式.但仔细想想,SSLStrip 这种算劫持吗? 劫持 vs 钓鱼 ...
- 【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持
前言 在之前介绍的流量劫持文章里,曾提到一种『HTTPS 向下降级』的方案 -- 将页面中的 HTTPS 超链接全都替换成 HTTP 版本,让用户始终以明文的形式进行通信. 看到这,也许大家都会想到一 ...
- WiFi流量劫持—— JS脚本缓存投毒
在上一篇<WiFi流量劫持—— 浏览任意页面即可中毒>构思了一个时光机原型,让我们的脚本通过HTTP缓存机制,在未来的某个时刻被执行,因此我们可以实现超大范围的入侵了. 基于此原理,我们用 ...
- htaccess文件还可以被用来把访问网站的流量劫持到黑客的网站
看是否有文件上传操作(POST方法), IPREMOVED--[01/Mar/2013:06:16:48-0600]"POST/uploads/monthly_10_2012/view.ph ...
- HTTPS-能否避免流量劫持
流量劫持是什么? EtherDream在一篇科普文章<>中详细介绍了流量劫持途径和方式. 流量劫持是一种古老的攻击方式,比如早已见惯的广告弹窗等,很多人已经对此麻木,并认为流量劫持不会造成 ...
- 关于全站https必要性http流量劫持、dns劫持等相关技术
关于全站https必要性http流量劫持.dns劫持等相关技术 微信已经要求微信支付,申请退款功能必须12月7号之前必须使用https证书了(其他目前为建议使用https),IOS也是2017年1月1 ...
- Linux-某电商网站流量劫持案例分析与思考
[前言] 自腾讯与京东建立了战略合作关系之后,笔者网上购物就首选京东了.某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东,心里第一个反应就是中木马了. 竟然有这样的事,一 ...
- Web流量劫持
BadTunnel实战之远程劫持任意内网主机流量 http://www.freebuf.com/articles/web/109345.html http://blog.csdn.net/ts__cf ...
- 如何使用HTTPS防止流量劫持
何为流量劫持 前不久小米等六家互联网公司发表联合声明,呼吁运营商打击流量劫持.流量劫持最直观的表现,就是网页上被插入了一些乱七八糟的广告/弹窗之类的内容.比如这样: 网页右下角被插入了游戏的广告. 流 ...
随机推荐
- SpringMvc 跨域处理
导读 由于浏览器对于JavaScript的同源策略的限制,导致A网站(Ajax请求)不能通过JS去访问B网站的数据,于是跨域问题就出现了. 跨域指的是域名.端口.协议的组合不同就是跨域. http:/ ...
- leetcode -- 寻找两个有序数组的中位数
题目: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nu ...
- Windows基础
目录 一. 硬件概述 二.常见硬件设备 三.文件系统 四. 文件类型和DOS命令 五 .批处理 六 .TCP/IP概述和Windows配置 七.网络设置.DNS.邮件★ 一. 硬件概述 1.计算机的发 ...
- 双重检查锁单例模式为什么要用volatile关键字?
前言 从Java内存模型出发,结合并发编程中的原子性.可见性.有序性三个角度分析volatile所起的作用,并从汇编角度大致说了volatile的原理,说明了该关键字的应用场景:在这补充一点,分析下v ...
- poj 1679 The Unique MST (次小生成树模板题)
Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spann ...
- es6 数组去重
方法一: var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2]; var arr2 = arr.filter((x, index,se ...
- VS2019 开发Django(九)------内置模板和过滤器
导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...
- 利用sklearn对多分类的每个类别进行指标评价
今天晚上,笔者接到客户的一个需要,那就是:对多分类结果的每个类别进行指标评价,也就是需要输出每个类型的精确率(precision),召回率(recall)以及F1值(F1-score). 对于 ...
- k8s~跨namespace的service相互访问
在k8s里,你可以通过服务名去访问相同namespace里的服务,然后服务可以解析到对应的pod,从而再由pod转到对应的容器里,我们可以认为这个过程有两个port的概念,service port 就 ...
- JS---DOM---案例:模拟百度搜索框
模拟百度搜索框 我的思路整理: 1. 注册文本框抬起事件(onkeyup) 2. 处理函数: --->创建临时数组,循环遍历文本框键入的文字内容和keywords数组,用keyWords[i]. ...