热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:讲给前端的网络安全:网络模型与攻击手段

本文由编程笔记#小编为大家整理,主要介绍了讲给前端的网络安全:网络模型与攻击手段相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了讲给前端的网络安全: 网络模型与攻击手段相关的知识,希望对你有一定的参考价值。




// 每日前端夜话 第444篇
// 正文共:1400 字
// 预计阅读时间:7 分钟



这次基于 OSI 和 TCP/IP 这两个模型来介绍可能发生的攻击手段
















OSI 和 TCP/IP 模型



讲给前端的网络安全(3): 网络模型与攻击手段

从上图可以看到,OSI 模型将网络划分成为七层,而TCP / IP模型将其简化成四层。本文会使用 OSI 模型的前三层(1〜3),与 TCP/IP 模型的后两层(3〜4)来讲解常见的网络攻击。


物理层(OSI Layer 1)


物理层面的攻击很难发生在严格控管的机房环境,而在办公室、家庭、咖啡馆等网络环境很常见。


物理层的传输基本上是 010101 的数字信号,基本的传输媒介是使用光、电与无线电。先看一种没什么技术含量的 L1 攻击,大家应该都看过这个东西。



讲给前端的网络安全(3): 网络模型与攻击手段

红框内就是 L1 等级的防火墙,剪断之后就能阻挡恶意流量,当然正常流量也一起被干掉了。这就是不需要什么技术的 L1 级攻击,把通信介质断开就可以达到 DoS (Deined of Service)的效果,当然这没什么技术含量。


不过还有需要更多技术的 L1 攻击。最常见的就是被称为 Tapping 的攻击,Tap 这个词是窃听的意思。有些网络商也将 TAP 称为测试访问点(Test Access Point)或终端访问点(Terminal Access Point)来美化这种行为。


TAP是一把双刃剑,可以让网管分析数据流,但如果到恶意用户手中就会变成窃听的工具。TAP 主要分为两种,主动式与被动式。


被动式 TAP(Passive TAP)


被动式 TAP 就是把一部分传输介质复制出来。


例如:假如是传统的铜质双绞线,就可以在实体上把导线线接出来;而光纤中的光脉冲信号则可以用分光器把光线分离出来;无线信号的话大家都能收到,直接收就行了,但是会有很大机率对原信号造成干扰或衰减。


因为被动式是直接对传输介质本身复制的方式,所以不会因为监听设备死掉而造成连接中断的情况。不过要注意,被动式指的是不主动提供新的信号源来中继数据信号,这与后面要说的零停机(Zero Downtime) 不太一样。被动 TAP 可以做到零停机,但不是所有的方法都可以。


主动式TAP(Active TAP)


主动式 TAP 需要主动提供新的信号源来做中继,避免信号衰减。主动式 TAP 可以做到中间人(MITM)攻击,同时也能避免被动式 TAP 信号干扰与衰减的问题。


而主动式的缺点也很明显,由于新的信号源是由中间人主动提供的,当中间人的主动式 TAP 装置故障或掉线后,整个连线将会中断。


链路层(OSI Layer 2)


链路层就是 L2,L2 交换机的 L2 值得就是这个它。


链路层攻击基本上都发生在你可以控制的设备周围,可以通过一些链路层的通信协议来进行攻击。比较常见的是假冒自己是另一台电脑(Fake Src MAC,ARP Spoofing),或者是假冒成一台交换器来影响周边设备(STP Spoofing、Trunking Attack)。L2 攻击可以有效的影响周边的设备。


网络层(OSI Layer 3)


L3 可以攻击的手段相对少一些。主要攻击的手段是伪造发包的来源 IP,让目的机器认为这个包是从其他机器来的,这种攻击被称为 IP 欺骗,是比较常见的 L3 攻击。比较简单的终端是无法阻止这种攻击的,需要在中途或来源断绝它。


传输层(OSI Layer 4, TCP/IP Layer 3)


传输层算是问题比较少的一层,这层主要需要配合前面的网络层进行攻击。因为现在主要用的都是 TCP 与 UDP,如果可以猜到对方使用的 TCP/UDP 端口,就可以进行连接并攻击。但是由于猜对的机率很小,所以没什么太大的价值,但是如果可以听到单方向的流量,则可以轻易的实现攻击。


应用层(TCP/IP Layer 4)


OSI L4 以上全都被 TCP/IP模型归为第四层,而这层最主要就是前端最关心的 Web 安全等问题。像是 SQL 注入、XSS、SSRF 之类的攻击都在这里。


总结


本文概述了 OSI 与 TCP/IP 模型中每一层可能会发生的安全问题,以后文章将会讲解这些攻击的细节,并会有一些实际操作。











讲给前端的网络安全(3): 网络模型与攻击手段





精彩文章回顾,点击直达







讲给前端的网络安全(3): 网络模型与攻击手段











讲给前端的网络安全(3): 网络模型与攻击手段


点分享




讲给前端的网络安全(3): 网络模型与攻击手段


点收藏





点点赞





点在看






推荐阅读
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • Web开发实践:创建连连看小游戏
    本文详细介绍了如何在Web环境中开发一款连连看小游戏,适合初学者和技术爱好者参考。通过本文,您将了解游戏的基本结构、连线算法以及实现方法。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 探讨多种方法来确定Java对象的实际类型,包括使用instanceof关键字、getClass()方法等。 ... [详细]
  • 个人博客:打开链接依赖倒置原则定义依赖倒置原则(DependenceInversionPrinciple,DIP)定义如下:Highlevelmo ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 本文详细探讨了 Android Service 组件中 onStartCommand 方法的四种不同返回值及其应用场景。Service 可以在后台执行长时间的操作,无需提供用户界面,支持通过启动和绑定两种方式创建。 ... [详细]
author-avatar
手机用户2602883205_410
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有