当前位置: 首页 > article >正文

常见的Web安全漏洞:SYN攻击/CSRF/XSS

一、SYN攻击(属于DOS攻击)

什么情况下被动方出现SYN_RCVD状态?(flood攻击服务)
客户伪造 ip + 端口, 向服务端发送SYN请求。完成2次握手,第三次服务端 等待客户端ACK确认,但由于客户不存在服务端一直未收到确认,启动超时重发机制,当服务端重发到一定次数后(linux下配置:/proc/sys/net/ipv4/tcp_syn_retries),仍未收到确认,服务端放弃并断开连接。

对服务端会造成怎样攻击?

  • 占满半连接队列,让正常请求无法到达
  • 每次重发时都要轮询比较未完成连接队列,占用服务端资源

server端检测SYN攻击:
当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了,使用如下命令可以让之现行:
netstat -nap | grep SYN_RECV(-n:不做名字解析 -a:显示所有套接字 -p:显示pid和对应程序名)

解决方式

  • 缩短超时时间、增加最大半连接数、过滤网关防护(防火墙代理转发).
  • 监视并释放半连接队列中的大量无效连接(无奈之举:可能会影响正常请求)
  • 采用 syn cookie(未正常通过三次握手的半连接,服务端不会提前为其分配资源)
  • 针对攻击量小且源ip为真实ip的情况,可设置黑名单(or 白名单)

关键就是攻击者发送完syn后,不会再做任何后续的ack回复

二、XSS(跨站脚本攻击):

概念:用户提交的数据中可以构造恶意代码并且执行,从而实现窃取用户信息(比如cookie等)等攻击。

防御手段

  • 对实体字符进行转义
  • 使用HTTP Only来禁止JavaScript读取cookie值

三、CSRF(跨站请求伪造):

概念:攻击者盗用你的身份,通过构造跨站请求,欺骗用户在登录认证过的网站上执行恶意操作。
常见的CSRF攻击包括:在受害者账号下发起一些不合法的操作,如发帖、删帖、转账等。

步骤

  • 登录受信任网站A,并在本地生成Cookie
  • 在不登出A的情况下,访问恶意网站B
  • 必须是同一浏览器,因为不同浏览器不能相互利用COOKIE
    CSRF流程图

防御手段

  • 服务端验证http头部的 Referer字段,确认请求来源
  • 加入 csrf_token(服务器生成一个随机的token并返回给客户端,客户端在发送请求时需要带上这个token,服务器在接收到请求后会验证这个token的合法性)
  • 加入验证码 机制(交易场景 等…)

四、XSS和CSRF 两者区别:

  • XSS是实现CSRF的诸多手段之一,可以利用XSS实现CSRF攻击。
  • XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。

http://www.kler.cn/a/665.html

相关文章:

  • PostgreSQL CRUD 操作指南
  • C++之红黑树模拟实现
  • kimi搜索AI多线程批量生成txt原创文章软件-不需要账号及key
  • 虚幻5 UE5 UNREALED_API d虚幻的
  • 【零基础保姆级教程】制作自己的数据集(二)——Labelme的安装与使用及常见的报错解决方法
  • 详解磁盘IO、网络IO、零拷贝IO、BIO、NIO、AIO、IO多路复用(select、poll、epoll)
  • Rockchip RV1126 模型部署(完整部署流程)
  • 动态矢量瓦片缓存库方案
  • Spark SQL支持DataFrame操作的数据源
  • 硬件设计从失败案例中找方法
  • Python 四大主流 Web 编程框架
  • 堆结构的两个应用
  • sklearn库学习--SelectKBest 、f_regression
  • 树的前中后序的Morris遍历
  • vue动态路由
  • 华为OD机试(20222023)考点分类
  • 【深度强化学习】(6) PPO 模型解析,附Pytorch完整代码
  • 我的创作纪念日
  • 【解决】elementui ——tooltip提示在循环中点击一个,同时显示多个的问题!
  • 数仓建模—主题域和主题
  • SpringBoot:手写一个 SpringBoot Starter
  • 【LeetCode】1544. 整理字符串、LCP 44. 开幕式焰火
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题——渗透测试解析(详细)
  • 深度学习 Day26——使用Pytorch实现猴痘病识别
  • 计算机器的工作时长
  • MongoDB数据库从入门到精通系列之三:创建、更新和删除文档