Web通用漏洞--CSRF

web,通用,漏洞,csrf · 浏览次数 : 10

小编点评

**Web通用漏洞--CSRF漏洞简介** **什么是CSRF漏洞?** CSRF漏洞是一种利用恶意网站通过诱骗用户访问目标网站的行为方式,使其访问恶意网站时触发请求。 **如何利用CSRF漏洞?** 攻击者通过以下步骤利用CSRF漏洞访问目标网站: 1. 诱骗用户登录目标网站A。 2. 恶意网站通过诱骗用户访问恶意网站B。 3. 恶意网站发送对网站A进行相关操作的数据包。 4. 网站A接收到数据包并对其进行安全处理。 5. 恶意网站通过发送数据包,绕过网站A的验证机制。 **漏洞条件:** 1. 用户必须在登录目标网站A时点击诱骗链接。 2. 恶意网站必须生成可发送给网站A的数据包。 3. 网站A必须对数据包进行安全处理。 **如何防御CSRF漏洞?** 1. 使用防CSRF防护机制,例如 Set-Cookie 和 SameSite 属性。 2. 严格检查用户登录页面中的参数。 3. 对数据包进行合法性验证。 4. 使用 HTTPS 协议。

正文

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相似的内容:

Web通用漏洞--CSRF

# Web通用漏洞--CSRF ## 漏洞简介 CSRF(Cross Site Request Forgery, 跨站请求伪造/客户端请求伪造),即通过伪造访问数据包并制作成网页的形式,使受害者访问伪造网页,同时触发伪造的请求而达到攻击效果的一种手段。 ![在这里插入图片描述](https://im

Web通用漏洞--文件包含

# Web通用漏洞--文件包含 ## 文件包含原理 在项目开发过程中,开发人员通常会将重复使用的函数写入单个文件中,在使用该类函数时,直接调用文件即可,无需重新编写,这种调用文件的过程成为文件包含。在文件包含过程中,如果用户可以控制所包含的文件,则为文件包含漏洞。 ## 文件包含函数 PHP:inc

Web通用漏洞--XSS

# Web通用漏洞--XSS ## XSS原理 XSS称为跨站脚本攻击,这种漏洞利用通常是被动性攻击,即需要受害者做出某些行为来配合攻击行为,才能达到攻击效果 XSS的原理是恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以

Web通用漏洞--SSRF

# Web通用漏洞--SSRF ## 漏洞简介 SSRF(Server-Side Request Forgery:服务器端请求伪造) 一种由攻击者构造形成由服务端发起请求的一个安全漏洞; 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。正是因为它是由服务端发起的,所以它能够请求到与它相连而

Web通用漏洞--RCE

# Web通用漏洞--RCE ## 漏洞简介 RCE远程代码/命令执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 RCE漏洞也分为代码执行漏洞和命令执行漏洞,所谓代码执行即通过漏洞点注入参数而使用源代码进行相应的操作,所谓的命令执行就是通过漏洞点注入参数使用源

Web通用漏洞--文件上传

# Web通用漏洞--文件上传 ## 概述 文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题,对于如何确保这类安全问题,一般会从原生态功能中的文件内容,文件后缀,文件类型等方面判断,但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题,也会在语言版本,语言函数,中间件,

Web通用漏洞--sql注入

# SQL注入 mysql注入目的:获取当前web权限 ## mysql注入--常规查询&union联合查询 1. MYSQL--Web组成架构 服务器搭建web服务可能存在多个站点搭建在一台服务器中,数据集中存储在数据库中,因此对数据库的管理也可以分为两种架构: 统一用户管理数据库,即对所有站点数

Web攻防--JNDI注入--Log4j漏洞--Fastjson反序列化漏洞

JNDI注入 什么是JNDI JNDI全称为 Java Naming and Directory Interface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。 JNDI支持的服务主要有:DNS

详解Web应用安全系列(1)注入漏洞之SQL注入

注入漏洞通常是指在可输入参数的地方,通过构造恶意代码,进而威胁应用安全和数据库安全。常见的注入漏洞包括:SQL注入和XSS跨站脚本攻击。 这篇文章我们主要讲SQL注入,SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加

Web攻防--xxe实体注入

# web攻防--xxe实体注入 ## 漏洞简介 XML 外部实体注入(也称为 XXE)是一种 Web 安全漏洞,允许攻击者干扰应用程序对 XML 数据的处理。它通常允许攻击者查看应用程序服务器文件系统上的文件,并与应用程序本身可以访问的任何后端或外部系统进行交互。 在某些情况下,攻击者可以利用 X