Web通用漏洞--CSRF

漏洞简介

CSRF(Cross Site Request Forgery, 跨站请求伪造/客户端请求伪造),即通过伪造访问数据包并制作成网页的形式,使受害者访问伪造网页,同时触发伪造的请求而达到攻击效果的一种手段。

  1. 用户首先登录网站A,生成可以对网站A进行操作的cookie信息等令牌身份验证等
  2. 在未退出网站A时,恶意网站B通过诱骗等方式使得用户访问网站B
  3. 当用户访问网站B的同时,网站B发送对网站A进行相关操作的数据包。即利用用户的身份向网站A进行相关操作。
  4. 此时网站A接收到网站B发送过来的数据包,并没有对该数据包进行额外足够安全的检验。以为是用户所进行的操作。

漏洞利用

利用该漏洞一般需要熟知目标网站的请求数据包,并针对数据包生成可以发送该数据包格式或内容的网页。

无防护利用

利用条件:

1、需要请求伪造数据包

2、无过滤防护 有过滤防护能绕过

3、受害者需要触发(诱惑)

在实战中,一般为得到目标网站的源码后,进行复现,然后抓取攻击数据包并对其进行修改,然后写出或生成可以提交该数据包的网页。

生成网页方法:BurpSuite->Engagement tools->Generate CSRF Poc

有防护绕过

  1. 同源检测(referer)

    http请求头中Referer的含义和作用

  • 只检测referer字段中是否具有xx.xx.xx.xx网址

    • 绕过方式:

      可以采用将poc放入名为该关键字的文件夹下,当用户点击进行跳转时,referer字段中将带有关键字,注意必须是点击过来,如果访问方式是直接访问,那么referer中将不带目录名
  • 对referer字段全部检测

    • 绕过方式:

      配合XSS或文件上传,将触发数据包的JS文件插入目标网站中,或将触发数据包的html文件进行上传
  • 逻辑不严谨

    • 绕过方式:

      将referer字段进行置空或删除
    • 在站点很多功能需要实现的时候,并没有需要检测referer来源头的必要,开发人员在开发过程中并没有将关键功能进行严格referer检测,便造成了referer头可有可无。
  1. CSRFtoken检测

    CSRFtoken在个人理解来说就是当浏览器执行某些需要防止CSRF攻击行为时,在向服务器发送请求的同时会向服务器发送生成CSRFtoken的请求包,服务器生成一串不规则的CSRFtoken令牌交给浏览器,浏览器在执行该功能时将CSRFtoken令牌夹带在数据包中向服务器发送执行该功能的数据包,服务器收到数据包后检测CSRFtoken值正确后再进行相关操作。如此循环便保证数据包的唯一性,防止CSRF攻击

  • 绕过方式

    • 将CSRFtoken值进行复用(代码逻辑不严谨)
    • 将CSRFtoken项进行删除(代码逻辑不严谨)
    • 将CSRFtoken项进行置空(代码逻辑不严谨)

以上内容仅作参考学习,如有瑕疵或错误,希望各位师傅们斧正,感谢阅读。

Web通用漏洞--CSRF的更多相关文章

  1. 常见Web安全漏洞--------CSRF

    1,CSRF (Cross Site Request Forgery, 跨站域请求伪造),也可以说是模拟请求. 2,黑客获取到了token 令牌,发送恶意模拟请求,攻击网站,防御方法可以参考api 接 ...

  2. 程序员常用的3大Web安全漏洞防御解决方案:XSS、CSRF及SQL注入(图文详解)

    https://blog.csdn.net/ChenRui_yz/article/details/86489067 随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面 ...

  3. WEB漏洞——CSRF、SSRF

    CSRF漏洞 CSRF( Cross- site request forgery,跨站请求伪造)也被称为 One Click Attack或者 Session Riding,通常缩写为CSRF或者XS ...

  4. [web安全]Web应用漏洞攻击分析与防范

    网站攻击主要分为以下几类: (1) sql注入攻击 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.它是利 ...

  5. Web安全漏洞深入分析及其安全编码

    摘自:http://blog.nsfocus.net/web-vulnerability-analysis-coding-security/ 超全Web漏洞详解及其对应的安全编码规则,包括:SQL注入 ...

  6. Web安全之CSRF攻击的防御措施

    Web安全之CSRF攻击的防御措施   CSRF是什么? Cross Site Request Forgery,中文是:跨站点请求伪造. CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击 ...

  7. web安全漏洞种类

    (参考知道创宇) SQL注入: SQL注入(SQL Injection),是一个常见的发生于应用程序和数据库之间的web安全漏洞,由于在开发过程中的设计不当导致程序中忽略了检查,没有有效的过滤用户的输 ...

  8. 基于 burpsuite的web逻辑漏洞插件开发(来自JSRC安全小课堂,柏山师傅)

    基于 burpsuite的web逻辑漏洞插件开发 BurpSuite 提供了插件开发接口,支持Java.Python.Ruby语言的扩展.虽然 BApp Store 上面已经提供了很多插件,其中也不乏 ...

  9. web安全漏洞

    1.什么是Web漏洞 WEB漏洞通常是指网站程序上的漏洞,可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞.如果网站存在WEB漏洞并被黑客攻击者利用,攻击者可以轻易控制整个网站,并可进一步 ...

  10. Web安全之CSRF(跨站请求伪造)

    CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为"CSRF",在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺 ...

随机推荐

  1. Rocky 9 Linux 软件安装 neovim 和 git

    目录 编辑器 Neovim 版本控制工具 Git RHEL 系列软件安装介绍 软件安装包简介 源码包安装 rpm包安装 yum & dnf 在线安装 脚本安装包 rockyLinux 介绍软件 ...

  2. 2021-05-21:给定一个数组arr,先递减然后递增,返回arr中有多少个绝对值不同的数字?

    2021-05-21:给定一个数组arr,先递减然后递增,返回arr中有多少个绝对值不同的数字? 福大大 答案2021-05-21: 双指针.左指针最左,符合条件时右移:右指针最右,符合条件时左移.左 ...

  3. 2021-07-29:最大路径和。给定一个矩阵matrix,先从左上角开始,每一步只能往右或者往下走,走到右下角。然后从右下角出发,每一步只能往上或者往左走,再回到左上角。任何一个位置的数字,只能获得

    2021-07-29:最大路径和.给定一个矩阵matrix,先从左上角开始,每一步只能往右或者往下走,走到右下角.然后从右下角出发,每一步只能往上或者往左走,再回到左上角.任何一个位置的数字,只能获得 ...

  4. 玩转服务器之环境篇:PHP和Python环境部署指南

    前几篇文章中讲解了如何搭建docker和Java Web环境的方法,本篇文章来教大家搭建一个好的PHP和Python环境,可以帮助开发和运行PHP和Python应用程序,使其更加高效和稳定. 一. P ...

  5. vue全家桶进阶之路4:NPM包

    NPM(Node Package Manager)是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展. NPM是 JavaScript 的包管理工具,也是世界上最大的软件注册表.有 ...

  6. SQL Server修改列的数据类型

    ALTER TABLE LJPA001H DROP CONSTRAINT DF_LJPA001H_pa_sex_1 ALTER TABLE LJPA001H ALTER COLUMN pa_sex V ...

  7. (偶尔更新)【Linux】Linux常见不常用命令收集

    本文时间 2023-05-20 作者:sugerqube漆瓷 cd,vi,clear这些属于常见常用命令本文不再赘述. 安装命令 yum install vim举例安装vim rpm -ivh a.r ...

  8. 研究NIST FIPS 199 - 安全分类的标准

    NIST FIPS 199 - 安全分类的标准 FIPS199是在2004年2月发布的,这是一份古老的文件,但在实施信息安全时应首先遵循,无论你准备遵守哪种安全标准.常见的安全标准有:CIS.ISO2 ...

  9. 在树莓派上实现numpy的LSTM长短期记忆神经网络做图像分类,加载pytorch的模型参数,推理mnist手写数字识别

    这几天又在玩树莓派,先是搞了个物联网,又在尝试在树莓派上搞一些简单的神经网络,这次搞得是LSTM识别mnist手写数字识别 训练代码在电脑上,cpu就能训练,很快的: import torch imp ...

  10. 2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言, 其左右子结点分别位于 (row + 1, col -

    2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列. 对位于 (row, col) 的每个结点而言, 其左右子结点分别位于 (row + 1, col - ...