计算机网络——常见的网络攻击手段

什么是XSS攻击,如何避免?

XSS 攻击,全称跨站脚本攻击(Cross-Site Scripting),这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,因此有人将跨站脚本攻击缩写为XSS。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS攻击一般分三种类型:存储型 、反射型 、DOM型XSS

XSS是如何攻击的?

拿反射型举个例子吧,流程图如下:

如何解决XSS攻击问题

不相信用户的输入,对输入进行过滤,过滤标签等,只允许合法值。

HTML 转义

对于链接跳转,如 <a href="xxx" 等,要校验内容,禁止以script开头的非法链接。

限制输入长度等等

SYN泛洪攻击

TCP进入三次握手前,服务端会从CLOSED状态变为LISTEN状态,同时在内部创建了两个队列:半连接队列(SYN队列)和全连接队列(ACCEPT队列)。

什么是半连接队列(SYN队列) 呢? 什么是全连接队列(ACCEPT队列) 呢?

TCP三次握手时,客户端发送SYN到服务端,服务端收到之后,便回复ACK和SYN,状态由LISTEN变为SYN_RCVD,此时这个连接就被推入了SYN队列,即半连接队列。

当客户端回复ACK, 服务端接收后,三次握手就完成了。这时连接会等待被具体的应用取走,在被取走之前,它被推入ACCEPT队列,即全连接队列。

我们都知道 TCP 连接建立是需要三次握手,假设攻击者短时间伪造不同 IP 地址的 SYN 报文,服务端每接收到 一个 SYN 报文,就进入 SYN_RCVD 状态,但服务端发送出去的 ACK + SYN 报文,无法得到未知 IP 主机的ACK 应答,久而久之就会占满服务端的 SYN 接收队列(未连接队列),使得服务器不能为正常用户服务。

处理方法是通过防火墙,或者增大半连接队列,缩短超时时间。

什么是DoS、DDoS、DRDoS攻击?

DOS: (Denial of Service),中文名称是拒绝服务,一切能引起DOS行为的攻击都被称为DOS攻击。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。

DDoS: (Distributed Denial of Service),中文名称是分布式拒绝服务。是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。常见的DDos有SYN Flood、Ping of Death、ACK Flood、UDP Flood等。

DRDoS: (Distributed Reflection Denial of Service),中文名称是分布式反射拒绝服务,该方式靠的是发送大量带有被害者IP地址的数据包给攻击主机,然后攻击主机对IP地址源做出大量回应,形成拒绝服务攻击。

什么是CSRF攻击,如何避免

什么是CSRF 攻击?

CSRF,跨站请求伪造(英语:Cross-site request forgery),简单点说就是,攻击者盗用了你的身份,以你的名义发送恶意请求。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。

CSRF是如何攻击的呢?

我们来看下这个例子哈(来自百度百科)

Tom 登陆银行,没有退出,浏览器包含了Tom在银行的身份认证信息。

黑客Jerry将伪造的转账请求,包含在在帖子

Tom在银行网站保持登陆的情况下,浏览帖子

将伪造的转账请求连同身份认证信息,发送到银行网站

银行网站看到身份认证信息,以为就是Tom的合法操作,最后造成Tom资金损失。

如何解决CSRF攻击

检查Referer字段。HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址。

添加校验token。

相关推荐
酉鬼女又兒14 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
我是一颗柠檬14 天前
【计算机网络全面教学】网络设备与故障排查,从集线器到Wireshark抓包实战Day7(2026年)
网络·计算机网络·wireshark
梁辰兴14 天前
计算机网络基础:报文鉴别
网络·计算机网络·计算机·计算机网络基础·梁辰兴·报文鉴别
JAVA面经实录91715 天前
操作系统面试题
java·服务器·数据库·计算机网络·面试
JAVA面经实录91715 天前
操作系统(面试全覆盖)
java·计算机网络·面试
JAVA面经实录91715 天前
高频算法面试题
java·计算机网络·算法·面试
@insist12315 天前
系统架构设计师-计算机网络基础体系全梳理
计算机网络·系统架构·软考·系统架构设计师·软件水平考试
Yvonne爱编码15 天前
JAVA EE初阶---DAY 2 计算机网络
java·开发语言·计算机网络·算法·java-ee·php
梁辰兴15 天前
计算机网络基础:对称加密密码体制
网络·计算机网络·计算机·对称加密·计算机网络基础·梁辰兴
aramae15 天前
《计算机网络(第5版)》第二章 物理层
服务器·网络·后端·计算机网络