通过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防止流量劫持
何为流量劫持 前不久小米等六家互联网公司发表联合声明,呼吁运营商打击流量劫持.流量劫持最直观的表现,就是网页上被插入了一些乱七八糟的广告/弹窗之类的内容.比如这样: 网页右下角被插入了游戏的广告. 流 ...
随机推荐
- FPGA_VIP_V101 视频开发板 深入调试小结
FPGA_VIP_V101 推出已经有半年有余,各项功能例程已移植完毕,主要参考crazybingo例程进行移植和结合开发板设计了几个实例例程 主要包含: 硬件配置: FPGA:EP4CE6E22C8 ...
- Spring MVC文件上传出现错误:Required MultipartFile parameter 'file' is not present
1.配置文件上传的解析器 首先需要在spring mvc的配置文件中(注意是spring mvc的配置文件而不是spring的配置文件:applicationContext.xml)配置: sprin ...
- 关于C 语言的字符串常量拼接
问题记录: C语言中,字符串是否可以通过连续的常量创建直接编辑拼接在一起? 比如下述语句赋值: const char *path = “this is string one” “this is s ...
- Cloudflare Workers 部署跨域代理服务
项目源码:https://github.com/netnr/workers 发布链接:https://cors.zme.ink 使用文档:https://developers.cloudflare.c ...
- 阿里巴巴的26款Java开源项目
阿里巴巴的26款Java开源项目 开源展示了人类共同协作,成果分享的魅力.没有任何一家网络公司可以不使用开源技术,仅靠自身技术发展起来.“取之于开源,用之于开源,才能促进开源的良性发展”,阿里巴巴各个 ...
- android studio 代码问题总结
1,android studio隐藏title时,用eclipse里面的方法不行,所以用下面的代码解决,此代码需要写在 加载xml文件之后 getSupportActionBar().hide(); ...
- Vue大纲
Vue框架 Vue ---- vue的基本使用 文本/事件/属性指令 补充: js面向对象 js函数 Vue ---- 表单指令 条件指令 循环指令 分隔符 过滤器 计算属性 监听属性 Vue --- ...
- JavaScript图形实例:圆形图案
在HTML5的Canvas 2D API中,可以调用arc方法绘制圆或圆弧.该方法调用格式为: context . arc(x, y, radius, startAngle, endAngle, an ...
- SpringCloud-创建服务消费者-Ribbon方式(附代码下载)
场景 SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- JS---封装缓动(变速)动画函数---增加多个任意多个属性
封装缓动动画函数---增加多个任意多个属性 在原来缓动动画函数,增加任意一个属性的基础上,做了如下改变 1. 原来function animate(element, attr, target),三个变 ...