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实现流量劫持的更多相关文章

  1. 【流量劫持】躲避 HSTS 的 HTTPS 劫持

    前言 HSTS 的出现,对 HTTPS 劫持带来莫大的挑战. 不过,HSTS 也不是万能的,它只能解决 SSLStrip 这类劫持方式.但仔细想想,SSLStrip 这种算劫持吗? 劫持 vs 钓鱼 ...

  2. 【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持

    前言 在之前介绍的流量劫持文章里,曾提到一种『HTTPS 向下降级』的方案 -- 将页面中的 HTTPS 超链接全都替换成 HTTP 版本,让用户始终以明文的形式进行通信. 看到这,也许大家都会想到一 ...

  3. WiFi流量劫持—— JS脚本缓存投毒

    在上一篇<WiFi流量劫持—— 浏览任意页面即可中毒>构思了一个时光机原型,让我们的脚本通过HTTP缓存机制,在未来的某个时刻被执行,因此我们可以实现超大范围的入侵了. 基于此原理,我们用 ...

  4. htaccess文件还可以被用来把访问网站的流量劫持到黑客的网站

    看是否有文件上传操作(POST方法), IPREMOVED--[01/Mar/2013:06:16:48-0600]"POST/uploads/monthly_10_2012/view.ph ...

  5. HTTPS-能否避免流量劫持

    流量劫持是什么? EtherDream在一篇科普文章<>中详细介绍了流量劫持途径和方式. 流量劫持是一种古老的攻击方式,比如早已见惯的广告弹窗等,很多人已经对此麻木,并认为流量劫持不会造成 ...

  6. 关于全站https必要性http流量劫持、dns劫持等相关技术

    关于全站https必要性http流量劫持.dns劫持等相关技术 微信已经要求微信支付,申请退款功能必须12月7号之前必须使用https证书了(其他目前为建议使用https),IOS也是2017年1月1 ...

  7. Linux-某电商网站流量劫持案例分析与思考

    [前言] 自腾讯与京东建立了战略合作关系之后,笔者网上购物就首选京东了.某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东,心里第一个反应就是中木马了. 竟然有这样的事,一 ...

  8. Web流量劫持

    BadTunnel实战之远程劫持任意内网主机流量 http://www.freebuf.com/articles/web/109345.html http://blog.csdn.net/ts__cf ...

  9. 如何使用HTTPS防止流量劫持

    何为流量劫持 前不久小米等六家互联网公司发表联合声明,呼吁运营商打击流量劫持.流量劫持最直观的表现,就是网页上被插入了一些乱七八糟的广告/弹窗之类的内容.比如这样: 网页右下角被插入了游戏的广告. 流 ...

随机推荐

  1. idea实现简单热部署

    首先我们打开设置tomcat的页面         

  2. 【React】377- 实现 React 中的状态自动保存

    点击上方"前端自习课"关注,学习起来~ 作者:陈俊宇 https://github.com/CJY0208 什么是状态保存? 假设有下述场景: 移动端中,用户访问了一个列表页,上拉 ...

  3. 常用eslint配置

    "off"或者0 //关闭规则关闭 "warn"或者1 //在打开的规则作为警告(不影响退出代码) "error"或者2 //把规则作为一个 ...

  4. HTTP 错误 500.19 - Internal Server Error解决办法详解

    最近在服务器端部署程序发现这个问题,HTTP 错误 500.19 - Internal Server Error,程序在本地跑是没有问题的.但是部署完,浏览程序就出现这个问题,今天这篇文章就是记录一下 ...

  5. Java8-Lamda和Stream原理引入

    一说明 这边文章主要是带大家为什么会有lamda表达式的出现,流式思想的产生.具体的Lamda表达式操作,Stream流会在后面的文章更新,有兴趣的朋友也可以加一下我微信公众号,分享学习干货. 二ja ...

  6. Codeforces Round #609 (Div. 2)

    A题 给出n,求大于n的两个合数a和b,并且a-b = n 直接输出n的倍数即可 int n; int main() { cin >> n; cout << 9*n <& ...

  7. 基于windows server 2016和sqlserver 2016 AlwaysOn的群集配置

    文档:基于windows server 2016和sqlserver 2...链接:http://note.youdao.com/noteshare?id=4f07c1c3f7d0e32b7631d7 ...

  8. Java 密码加盐

    只对密码进行md5加密很容易反推出来,另外两个用户的密码相同时,数据库保存相同的密码,知道一个用户的密码就知道另一个.解决方法是在用户的短密码后面加上一段长字符,再计算 md5,这样反推出原始密码就变 ...

  9. github克隆项目缓慢

    github浏览或者克隆项目的时候,总是十分缓慢,下面是亲自自测的一种方式,克隆速度可以稍快一些 第一步 访问域名解析网站:https://www.ipaddress.com/ 在网页下方可以看见一个 ...

  10. Linux下MySQL或MariaDB忘记root密码的解决方法

    1.vim /etc/my.cnf 2.在[mysqld]下添加一行skip-grant-tables,然后保存并退出. 3.重启mysql服务:service mysqld restart. 4.不 ...