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

什么是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。

相关推荐
ChicagoTypewriter11 小时前
计算机网络中的常用表项梳理
网络·计算机网络·智能路由器
摘取一颗天上星️1 天前
后端密码加密:守护用户数据的钢铁长城
计算机网络·哈希算法·加密算法
Félix2512 天前
计算机网络笔记(不全)
网络·计算机网络
Absinthe_苦艾酒2 天前
计算机网络(三)传输层TCP
网络·tcp/ip·计算机网络
Cachel wood12 天前
Spark教程6:Spark 底层执行原理详解
大数据·数据库·分布式·计算机网络·spark
papership12 天前
【入门级-基础知识与编程环境:3、计算机网络与Internet的基本概念】
计算机网络·青少年编程
杭州杭州杭州13 天前
计算机网络笔记
笔记·计算机网络
always202213 天前
计算机网络--期末速通版
计算机网络
多多*13 天前
计算机网络期末 网络基础概述
运维·服务器·网络·数据库·计算机网络·oracle·lua
Cachel wood13 天前
Spark教程1:Spark基础介绍
大数据·数据库·数据仓库·分布式·计算机网络·spark