CSRF - 跨站请求伪造

2023-11-07

什么是CSRF?

CSRF(Cross-site request forgery)跨站请求伪造:也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

实说白了, csrf漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个都网站,会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户不想做的功能(比如是添加账号等)   js(可以发送数据包) ajax

CSRF和SSRF的区别

CSRF为跨站请求伪造,SSRF为服务器请求伪造,CSRF的核心是让客户端的浏览器去访问,SSRF核心是让服务器去访问。

CSRF与XSS的区别

csrf伪造请求,xss为跨站脚本攻击,一个为伪造cookie等验证信息,一个则是使用一个脚本攻击。

XSS 核心是操作目标网站的HTML代码 窃取Cookie

CSRF 核心是在非目标网站的HTML代码做手脚 让受害者浏览器偷偷的去访问目标网站。

为什么CSRF会利用的cookie信息可以不过过期?

因为Cookie具有时效性,但时效性不一定,常见的是一次会话,什么是一次会话?就是浏览器关闭开启一次。

Cookie是什么?

Cookie就是个验证信息,用于对登陆的用户进行一个验证,看看是什么身份。

Cookie在CSRF中的作用?

CSRF中,就是利用这个cookie,来盗用其他用户的身份来进行操作,就相当于有个人拿了你的身份证去上网,cookie就相当于这个身份证

CSRF怎么和XSS打组合拳

首先使用XSS直接执行CSRF的JS恶意语句

csrf可以用于钓鱼吗

可以,可以和xss一起用,用一个反射型的xss,盗取cookie后,构造csrf脚本或脚本去攻击

CSRF的成因

Cookie不过期,没有进行进一步的验证用户信息,没有安全意识访问了恶意站点

csrf的操作流程

用户A登陆B站,在登陆网站B时,收到了攻击者C发送的盗取cookie进行操作的链接到C,得到cookie后csrf进行操作

csrf能有什么操作

转账,修改密码,越权等N种操作

一定要登陆A时同时访问C吗

不一定,cookie都有时效性,一次性的cookie必须这样,不是一次性的则会存在硬盘中

CSRF可以直接盗取在本地的cookie吗

不可以,但这是xss的操作,csrf只是利用cookie

CSRF的载体

一个包含恶意链接或脚本

csrf poc是什么

一个带验证的数据表单的脚本或链接,内有要操作的数据

csrf操作过程

生成一个脚本或链接,当你操作时触发,就获得你在目标网站上的cookie把数据提交到目标地址,当你访问或者操作时,浏览器偷偷执行了攻击者的操作

csrf是什么

csrf为跨站请求伪造,伪造利用其它用户来完成请求操作,简单来说就是让别人来进行我想要的操作

token防御csrf原理

Token就是一段字母数字的随机值,访问时服务端会生成一个随机的token值并传回到前端的表单里,当我们提交表单时,token会作为一个参数提交到服务端进行验证 [终极方案]

referer防御csrf原理

Refer记录了该http请求的来源地址,访问一个安全受限页面请求必须来自同一个网站,如果不是则请求不合法无法生效  [可绕过]

如何绕过token

Token的生成一定要随机,有些Token根本就不验证或者时间戳做Token

如果存在xss漏洞,token防御将无效

csrf如何绕过referer

当浏览器的检测不严,比如referer值为空时,可以绕过

Referer可以伪装绕过

来来来,进靶场

我的网站icon-default.png?t=M1L8http://59.63.166.75:8010/newcsrf/

去搭建自己的织梦网站吧

结果按照别人形同的文件路径进去是一片空白,查找资料看见

 

出现莫名的错误,如安装时显示空白,这样能是由于系统没装载mysql扩展导致的,对于初级用户,可以下载dede的php套件包,以方便简单的使用。

1)php文件被使用记事本编辑或其他情况造成文件中存在BOM头导致代码运行错误,这种情况可以在网上下载php一键清除BOM工具进行清除。

2)DEDECMS多数代码采用PHP4的语句,在较新的PHP主机环境中不支持。需要对代码进行适当调整。

如includeuserlogin.class.php文件中的 session_register函数PHP5.4以后就不在支持,注释掉相关代码即可。

3)DEDE系统某处出现错误,但是由于DEDE默认是屏蔽了代码错误提示,造成无法看到错误提示。

解决方法找到includecommon.inc.php文件,打开,查找程序代码:error_reporting(E_ALL);error_reporting(E_ALL  ~E_NOTICE);替换为error_reporting(E_ALL);error_reporting(E_ALL  ~E_NOTICE);

然后即可根据错误提示来解决问题。

4)进入datasessions 目录删除缓存数据,然后在测试。如果是在服务器端一般是文件权限的问题,只需设置文件的user权限即可。

搞了好一会儿,总算进来了

 

 

 

 

 发现木马文件可以生效,再开burp抓包,制作为CSRF

http://192.168.102.170/uploads/dede/file_manage_control.php

改为http://192.168.102.170/newcsrf/dede/file_manage_control.php

看两个地址是否同源,可以登录查看,若不会报错就是同源

然后在投诉模块上传CSRF攻击文件

 

 

 

连接蚁剑,得到flag.php文件,得到flag

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSRF - 跨站请求伪造 的相关文章

  • 在处理程序之后访问 HTTP 请求上下文

    在我的日志记录中间件 链中的第一个 中 我需要访问一些在链下游的某些身份验证中间件中编写的上下文 并且仅在处理程序本身执行之后 旁注 需要首先调用日志记录中间件 因为我需要记录请求的持续时间 包括在中间件中花费的时间 此外 当权限不足时 身
  • 是否可以修改 $_SESSION 变量?

    恶意用户是否可以将 SESSION 在 php 中 变量设置为他想要的任何值 很大程度上取决于您的代码 有一点非常明显 SESSION username REQUEST username
  • 返回重定向作为对 Ajax(fetch、XHR 等)请求的响应

    如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果服务器发送重定向 又名 302 响应加上 Location 标头 浏览器将自动遵循重定向 对此的回应second请求 假
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 收到“路径‘OPTIONS’被禁止”。 ASP.NET网站异常

    我收到错误System Web HttpException Path OPTIONS is forbidden 自从我们将网站转移到新的服务器设置以来 我无法重新创建该错误 但我每天至少会收到几次有关此异常的电子邮件 有什么想法可能导致此问
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • ExoPlayer2 - 如何使 HTTP 301 重定向工作?

    我开始使用 ExoPlayer 来传输一些音频 一切都很顺利 直到我遇到一个带有 301 永久移动 重定向的 URL ExoPlayer2 默认情况下不处理该问题 我已经看过这个线程 https github com google ExoP
  • 动态img(或视频)标签根本不加载资源,HTTP请求处于“待处理”状态

    我尝试使用以下方法在 Web 应用程序上加载资源时遇到一些问题img or videoHTML 标签 我在我的应用程序中使用 Angular 并动态设置src的参数img标签 使用ng src src 指示 没有那么多图像和资源需要加载 在
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • 使用 POST 将数据从 Android 发送到 AppEngine Datastore

    抱歉 如果这是一个简单的问题 但我只是不知道我应该做什么 而且我认为我有点超出了我的深度 我想将数据从 Android 应用程序发送到在 Google App Engine 上运行的应用程序 数据必须从那里写入数据存储区 我的数据主要采用对
  • 如何将 HTTP(而非 HTTPS)与 RequestBin 结合使用

    我想使用请求Bin https requestb in用于 HTTP 而非 HTTPS 调试的工具 但是 它似乎不支持它 例如 curl http requestb in 1eqnllm1 vvvv Hostname was NOT fou
  • 什么会导致 TCP/IP 丢弃数据包而不丢弃连接?

    我有一个基于 Web 的应用程序和一个客户端 都是用 Java 编写的 无论如何 客户端和服务器都在 Windows 上 客户端通过以下方式发出 HTTP GET Apache HttpClient http hc apache org h
  • 使用 JAX-RS 通过 HTTP PUT 流式传输字节

    我有一个工作流程 涉及从 Java 客户端到 Web 服务器执行 HTTP POST 帖子的正文有一个规范对象 然后 我将其从我的网络服务器传递到 Apache ZooKeeper 它在服务器上以自己的进程运行 后者运行大量计算 我正在努力
  • 以编程方式设置 Jetty GzipHandler

    我在玩码头GzipHandler它的工作方式似乎相当奇怪 它只压缩已经压缩的文件 我的整个设置是 GzipHandler gzipHandler new GzipHandler gzipHandler setHandler myHandle
  • 通过 HTTP 代理进行 iOS XMPP 聊天

    我有一个 iPhone 应用程序 可与 2 项服务配合使用 通过 http 使用 REST 服务 使用 AFNetworking 通过 TCP 进行 XMPP 聊天 使用 XMPPFrameworkhttps github com robb
  • Cordova:如何诊断 ajax 不适用于 UWP(Windows 商店)应用程序

    我有一个简单的 Cordova 应用程序 在构建并作为 Windows UWP 应用程序运行时 ajax 调用会以某种方式阻止我的工作网络 我以前曾多次问过这个问题 但我想尝试改写 因为从未得到任何解决方案 应用程序 ajax 调用在我的家
  • 是否应该用于 JSF 2.2 CSRF 保护?

    我很困惑 我看到 JSF 2 0 有隐式 CSRF 保护 JSF 2 0 如何防止 CSRF https stackoverflow com questions 8704612 how jsf 2 0 prevents csrf 根据文章的
  • 如何防止 ASP.NET 站点的图像盗链?

    防止人们从我的托管 ASP NET 网站热链接到图像的最佳 最简单方法是什么 我不需要防止所有图像 资源被热链接 我只是想防止热链接到网站上的特定图像 资源 供参考 它托管在 GoDaddy com 上 因此 IIS 技巧可能不起作用 最简

随机推荐

  • web前端模仿微信悬浮窗效果

    微信新出了个悬浮窗的功能 因为业务需要 我用js写了个h5版本的 依赖jq或者zepto 可以自己选择改造 请用手机或者电脑浏览器模拟手机模式查看 在线预览 代码如下
  • 【数码管识别】需要改进的地方

    类型转换的问题 统一一种类型 该图中的问题已通过先提取感兴趣区域后图像处理解决了 图像反转的问题 需要简化
  • 云服务器建站:如何防止别人ping我们的网站?

    一 Ping功能是什么 在网络中ping是一个十分强大的TCP IP工具 它的作用主要为 1 用来检测网络的连通情况和分析网络速度 2 根据域名得到服务器IP 3 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量
  • C++编写封装驱动接口时::符号的意思

    今天在查看mini2440官方提供的camtest c文件时 发现使用C 编写 然后便仔细分析了下代码 发现里面的open close write read等linux系统函数前面都加上了 符号 不明白什么意思 于是在网上找了下 解释如下
  • 四个步骤教你爬取网站图片,新手必学

    很多人学习Python很重要的一个原因是 可以很简单的把一个网站的数据爬下来 尤其是做我们这一行 产品经理 电商行业 领导 弄一个买卖游戏周边商品的交易APP出来 我 行 那我们卖什么呀 领导 看下友商卖什么我们就卖什么 我 好吧 那就爬点
  • redis内存数据库 笔记6:应用场景

    目录 一 网站缓存 二 实现最新消息排行 三 共同好友 一 网站缓存 1 String 字符串 2 Hash 二 实现最新消息排行 List 列表 List 说白了就是链表 redis 使用双端链表实现的 List 相信学过数据结构知识的人
  • 带你了解什么是中断以及外部中断案例分析

    了解什么是中断 好 今天我来给大家讲一下我们什么是中断以及如何去运用外部中断源 首先 我们学习单片机的时候 一定听说过学会中断才是单片机的入门 因为中断系统大大提高了单片机对随机事件的实时处理能力 并且提高了单片机的工作效率 当然 中断这个
  • 函数对象包装器(std::function、std::bind / std::placeholder)

    这部分内容虽然属于标准库的一部分 但是从本质上来看 它却增强了 C 语言运行时的能力 这部分内容也相当重要 所以放到这里来进行介绍 std function和std bind的主要用途之一是安全函数指针 网上有很多文章解释了函数指针在C C
  • 计算机原理--操作系统概览

    操作系统概览 What Why 操作系统的基本功能 操作系统相关概念 What Why 操作系统是管理计算机硬件和软件资源的计算机程序 管理配置内存 决定资源供需顺序 控制输入输出设备等 操作系统提供让用户和系统交互的操作界面 操作系统的种
  • Python 使用 shuffle() 乱序排列/打乱序列/打乱列表

    在 Python 中 列表和元组中的元素是有顺序的 但是由于元组不可变 所以一般我们涉及到打乱操作 都是针对的列表 在深度学习中 由于原始训练数据可能存在顺序性 当我们分批成 mini batch 进行学习的时候 后面的数据会对系数影响更大
  • 数据结构——循环单链表

    循环单链表是单链表的另一种形式 其结构特点链表中最后一个结点的指针域不再是结束标记 而是指向整个链表的第一个结点 从而使链表形成一个环 和单链表相同 循环链表也有带头结点结构和不带头结点结构两种 带头结点的循环单链表实现插入和删除操作较为方
  • MFC CcomboBox控件

    组合框控件简介 组合框其实就是把一个编辑框和一个列表框组合到了一起 分为三种 简易 Simple 组合框 下拉式 Dropdown 组合框和下拉列表式 Drop List 组合框 下面讲讲它们的区别 简易组合框中的列表框是一直显示的 效果如
  • 515. Find Largest Value in Each Tree Row

    You need to find the largest value in each row of a binary tree Example Input 1 3 2 5 3 9 Output 1 3 9 不明白这样的题目还是medium
  • vb 删除服务器文件,【开源】VB编写的WEB服务器,链接在2楼,原帖已删

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 定义 这是一款桌面级的WEB服务器 包含一个静态的http服务器与一个js脚本引擎 可以展示静态的网页与生成简单的动态页面 适合个人在windows服务器上面简单的建立http服务 支持情况 静
  • Unity3D 显示private变量

    显示特定的private变量 以及希望在Object Inspector中显示的并予以显式标记的变量 这类变量将在Normal和Debug模式中加以显示 对此 可利用 SerializeField 属性声明private 变量 如下所示 S
  • 在Ubuntu 14.04上安装最新版mesa

    关于 mesa mesa是一个开源的OpenGL的实现 它被广泛用于包括X Windows在内的各种渲染系统中 具体见官网 http www mesa3d org intro html 现在 我们将在Ubuntu 14 04上编译并安装最新
  • 2023年第五届河南省CCPC大学生程序设计竞赛

    Problem A 小水獭游河南 小水獭来到河南旅游 它认为一个字符串 s 是 HENAN 的当且仅当存在两个非 空 字符串 a 和 b 满 足如下三个条件 a 由小写字母组成 且 a 中每种字母只出现了一次 b 由小写字母组成 且 b 是
  • 不可多得的干货!字节跳动Android实习面试凉凉经,移动架构师成长路线

    前言 说不焦虑其实是假的 因为无论是现在还是最近几年 很早就有人察觉Android开发的野蛮生长时代已经过去 过去的优势是市场需要 这个技术少有人有 所以在抢占市场的时候 基本上满足需要就已经可以了 但是现在 各式各样的APP层出不穷 AP
  • 欧拉回路、欧拉通路、欧拉图、半欧拉图等有关欧拉图的讲解与代码实现

    有人说 图论的起源 就是源于欧拉图 千万别看成柏拉图 题记 首先 先要讲一些有必要知道的东西 当然 我在这里也写过 这里再给出一些拓展的内容 欧拉通路 通过图中每条边且只通过一次 并且经过每一顶点的通路 欧拉回路 通过图中每条边且只通过一次
  • CSRF - 跨站请求伪造

    什么是CSRF CSRF Cross site request forgery 跨站请求伪造 也被称为 One Click Attack 或者Session Riding 通常缩写为CSRF或者XSRF 是一种对网站的恶意利用 尽管听起来像