通过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防止流量劫持
何为流量劫持 前不久小米等六家互联网公司发表联合声明,呼吁运营商打击流量劫持.流量劫持最直观的表现,就是网页上被插入了一些乱七八糟的广告/弹窗之类的内容.比如这样: 网页右下角被插入了游戏的广告. 流 ...
随机推荐
- HDU-6113
度度熊是一个喜欢计算机的孩子,在计算机的世界中,所有事物实际上都只由0和1组成. 现在给你一个n*m的图像,你需要分辨他究竟是0,还是1,或者两者均不是. 图像0的定义:存在1字符且1字符只能是由一个 ...
- git避免每次输入密码
生成公匙 在仓库所在目录输入 ssh-keygen -t rsa -C "yourname@sina.com" 其中yourname@sina.com是注册邮箱.可以在%HOME% ...
- [状态模式]实现stopwatch
1.模拟传统面向对象语言的状态模式实现 // Stopwatch类 状态机class Stopwatch { constructor() { this.button1 = null ...
- 《JavaScript 模式》知识点小抄本(上)
介绍 最近开始给自己每周订个学习任务,学习结果反馈为一篇文章的输出,做好学习记录. 这一周(02.25-03.03)我定的目标是<JavaScript 模式>的第七章学习一遍,学习结果的反 ...
- JVM系列三(垃圾收集器).
一.概述 1. 哪些内存需要回收 上篇文章 我们介绍了 Java 内存运行时区域的各个部分,其中程序计数器.虚拟机栈.本地方法栈三个区域随线程而生,随线程而灭,在这几个区域内就不需要过多考虑回收的问题 ...
- js中 forEach 和 map 区别
共同点: 1.都是循环遍历数组中的每一项. 2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input. 3.匿名函数中 ...
- 《Java基础知识》Java继承的概念和实现
继承时类和类之间的关系,是一个很简单很直观的概念,与显示生活中的继承(例如儿子继承了父亲财产)类似. 继承可以理解为一个类从另一个类中获取方法和属性的过程.如果类B继承于类A,那么类B就拥有类A的属性 ...
- 服务器端Mysql常用操作
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/f7463513-5 ...
- 虚拟化和Docker
1.硬件层的虚拟化具有高性能和隔离性,因为hypervisor直接在硬件上运行,有利于控制VM的OS访问硬件资源,使用这种解决方案的产品有VMware ESXI和Xen server. 2.hyper ...
- sudo 1.2.27 - Security Bypass
EXP: https://www.exploit-db.com/exploits/47502?utm_source=dlvr.it&utm_medium=twitter 漏洞复现: 具体配置参 ...