DVWA—CSRF 跨站请求伪造

news2025/6/9 19:14:26

注意:

1、这里对XSS(Stored)关卡不熟悉的可以从这里去看http://t.csdn.cn/ggQDK

2、把难度设置成low

一、概述

    1、定义

        跨站请求伪造,攻击者利用服务器对用户得新人,从而欺骗受害者去服务器上执行受害者不知晓得请求。

    2、场景

        攻击者会伪造一个请求(一般为链接),然后欺骗用户去点击,一但点击,整个攻击就形成了,所以也被称之为onclick攻击

    3、它与xss的区别:

           1、 XSS的攻击:主要是让脚本在浏览器上执行,服务器仅仅只是脚本的载体,本身服务器端不会受到攻击利用。

           2、 CSRF的攻击:攻击者会伪造一个用户发送给服务器的正常连接,其核心主要和已登录(已认证)的用户去发请求,CSRF不需要知道用户的Cookie,一切行为都是用户在执行(但是并不知晓)

           1、 XSS是将恶意代码植入被攻击服务器,利用用户对服务器的新人完成攻击。

            2、CSRF是攻击者预先在傀儡服务器页面植入恶意代码,诱使用户访问,在受害者不知情的情况下执行了恶意代码。

    4、攻击要点

  •  服务器没有对操作来源进行判断(比如IP,Referer等)
  •  受害者处于登录状态
  •  攻击者需要找到一条可以修改或获取敏感信息的请求

二、实操

        1、至少准备两台有web环境的电脑。打开burp suite,然后进入靶场DVWA-CSRF关卡。

思路:这个界面是一个修改密码的界面,它为什么会存在CSRF,其实类比我们平时的修改密码的业务可以想到。我们在修改密码时候需要进行旧密码校验,而这里只需要输入新密码就可以修改。所以可以利用这一点,来诱导用户通过某种方式来提交修改密码的连接来完成CSRF的攻击。

        2、提交修改密码,使用burp截取数据包。从数据包中也可以看到这是一个GET请求,而且用户名密码都在GET请求中。

         

          直接使用burp来生成一个粗糙的poc

                

         3、从里面我们可以看到这个CSRF  HTML中,它把所有的按钮和提交的数据都隐藏了,并且只剩下一个按钮。

        

        4、在本地或者攻击主机上写一个csrf.html,然后把代码复制进去。是这样一个界面。

        

         5、在界面注入一个XSS来诱导用户点击。可以一般是存储型的XSS(Stored),来这里放一个鱼儿。等鱼儿上钩

  •  在XSS(Stored)关卡布置陷阱

<button><a href="http://1.14.71.18:9521/CSRF.html">是兄弟就来点我</a></button>

  • 结果:这个陷阱一看就很诱人!

        6、我们点击进去可以看到,弹到了我们的那个提交框,当我提交按钮的时候,当前用户的密码就会被我修改。抓包看一下

攻击主机的界面

         换句话说,只要有用户进去点击了这个连接和按钮,那么当前用的密码都会被修改成12581(攻击主机上的CSRF.html中的值)

如果要神不知鬼不觉。

三、逐渐开始猥琐!

        从数据包我们可以看到,其实就是提交了一个get连接。那么我们可以这样来修改。直接把连接塞进去。并且插入一张百度搜索的图片链接地址来诱惑用户点击。

<a href="http://192.168.100.5/vulnerabilities/csrf/?password_new=9999&password_conf=9999&Change=Change"><img src="https://img0.baidu.com/it/u=2265573730,270758597&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=350"></a>

 看这标题,用户就一定会点吧。

点击图片并截获数据包查看。

 此时密码就已经被修改。!

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Fluid-数据编排能力原理解析

前言本文对Fluid基础功能-数据编排能力进行原理解析。其中涉及到Fluid架构和k8s csi driver相关知识。建议先了解相关概念&#xff0c;为了便于理解&#xff0c;本文使用JuiceFS作为后端runtime引擎。原理概述Fuild数据编排能力&#xff0c;主要是在云原生环境中&#xff0c;能…

FEC原理与操作及BigTao机框装机说明

一、FEC原理与操作​ 1.FEC 原理简介 ​ 前向纠错&#xff08;英语&#xff1a;forward error correction&#xff0c;缩写FEC&#xff09;或信道编码&#xff08;英语&#xff1a;channel coding&#xff09;是一种在单向通信系统中控制传输错误的技术&#xff0c;通过连同数…

2023年十款开源测试开发工具推荐!

今天为大家奉献一篇测试开发工具集锦干货。在本篇文章中&#xff0c;将给大家推荐10款日常工作中经常用到的测试开发工具神器&#xff0c;涵盖了自动化测试、性能压测、流量复制、混沌测试、造数据等。 1、AutoMeter-API 自动化测试平台 AutoMeter 是一款针对分布式服务&…

环境变量与命令行参数详解

问题引入 ​ 我们先来看一段简单的死循环代码&#xff1a; int main() {while(1){printf("i am running!\n");sleep(1);}return 0; }​ 我们将其运行编译并生成为可执行文件 myproc &#xff0c;当我们要运行它的时候&#xff0c;都得在这个可执行文件前面加一个 .…

【C++】 类和对象 (下)

文章目录&#x1f4d5;再谈构造函数1. 构造函数体赋值2. 初始化列表3. explicit 关键字&#x1f4d5;static 成员1. 概念2. static 成员变量3. static 成员函数&#x1f4d5; 友元1. 友元函数2. 友元类&#x1f4d5;内部类&#x1f4d5;编译器优化&#x1f4d5;再谈构造函数 1…

Python traceback模块:获取异常信息

除了使用 sys.exc_info() 方法获取更多的异常信息之外&#xff0c;还可以使用 traceback 模块&#xff0c;该模块可以用来查看异常的传播轨迹&#xff0c;追踪异常触发的源头。下面示例显示了如何显示异常传播轨迹&#xff1a;classSelfException(Exception): pass defmain(): …

linux 学习(持续更新)

一&#xff1a;初识linux 新装操作环境&#xff1a; mac intel电脑 CentOS系统版本&#xff1a;CentOS-8.1.1911 在这里解释一下[chenllocalhost /]$这句话的含义&#xff1a; chenl是用户名&#xff0c;也就是你自己起的名字。 是分割的符号 localhost是主机名&#xff0c;也…

轻松实现微信小程序上传多文件/图片到腾讯云对象存储COS(免费额度)

概述 对象存储&#xff08;Cloud Object Storage&#xff0c;COS&#xff09;是腾讯云提供的一种存储海量文件的分布式存储服务&#xff0c;用户可通过网络随时存储和查看数据。个人账户首次开通COS可以免费领取50GB 标准存储容量包6个月&#xff08;180天&#xff09;的额度。…

VBA提高篇_19 可选参数Optional_ IsMissing _MSgbox

文章目录1. 可选参数Optional2.IsMissing判断参数是否提供,只能判断变体类型3. 使用 : 可以按参数名传递参数 a:1,c:34.Msgbox 常用参数5.VBA颜色常量表1. 可选参数Optional Optional 代表本参数是可选项 False ; 代表参数若不指定,则默认为False Function mySumProduct(r As R…

2023年rabbitMq面试题汇总3(5道)

一、如何确保消息不丢失&#xff1f;消息持久化的前提是&#xff1a;将交换器/队列的durable属性设置为true&#xff0c;表示交换器/队列是持久交换器/队列&#xff0c;在服务器崩溃或重启之后不需要重新创建交换器/队列&#xff08;交换器/队列会⾃动创建&#xff09;。如果消…

【监控】Prometheus(普罗米修斯)监控概述

文章目录一、监控系统概论二、基础资源监控2.1、网络监控2.2、存储监控2.3、服务器监控2.4、中间件监控2.5、应用程序监控&#xff08;APM&#xff09;三、Prometheus 简介3.1、什么是 Prometheus3.2、优点3.3、组件3.4、架构3.5、适用于什么场景3.6、不适合什么场景四、数据模…

weston 2: 登录后直接启动weston配置

本人Kubuntu版本是22.04 名词&#xff1a;SDDM&#xff08;SDDM - Arch Linux 中文维基&#xff09;显示管理器 配置流程如下&#xff1a; 1.修改配置文件 a.配置.bashrc vim ~/.bashrc //以下内容删除 #export WLD$HOME/install #export LD_LIBRARY_PATH$WLD/lib/x86_64-…

使用IntelliJ IDEA搭建datax-web开发环境

记录&#xff1a;372场景&#xff1a;使用IntelliJ IDEA搭建datax-web开发环境&#xff0c;以及datax-web基本使用。版本&#xff1a;JDK 1.8Python 2.7.5datax-web开源地址&#xff1a;https://github.com/WeiYe-Jing/datax-web1.配置Maven环境1.1安装目录目录&#xff1a;D:\…

Spring6-基于XML自动装配

一、介绍自动装配&#xff1a;根据指定的策略&#xff0c;在IOC容器中匹配某一个bean&#xff0c;自动为指定的bean中所依赖的类类型或接口类型属性赋值二、创建controllerpackage com.wsy.auto.controller;import com.wsy.auto.service.UserService; import com.wsy.auto.serv…

应用于LSSVM对偶问题的张量列车卡尔曼滤波器的代码(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 ​ &#x1f4a5;1 概述 支持向量机是借助优化方法解决机器学习问题的新工具.近年来,支持向量机越来越受到人们的广泛关注,在其理论研究和算法实现方…

Vue拼图验证

vue-puzzle-verification 封装的一个用于登录验证的拼图的vue组件&#xff0c;使用了canvas画图和拖拽的一些技巧。支持大小、形状、图片、偏差、范围的自定义。 一、安装使用 npm install vue-puzzle-verification 二、main.js里引入 import PuzzleVerification from vue…

训练营day18

513.找树左下角的值 力扣题目链接(opens new window) 给定一个二叉树&#xff0c;在树的最后一行找到最左边的值。 示例 1: 示例 2: var findBottomLeftValue function(root) {let queue [root];let res root.val;while (queue.length) {let node queue.shift();if (nod…

Blender——烘培记录

参考链接&#xff1a;Blender2.8基础三&#xff1a;贴图烘培篇Blender 材质如何导出到 UE 和 Unity 里使用贴图烘焙打开【渲染属性】面板&#xff0c;把【渲染引擎】改为【Cycles】。把【设备】改为GPU计算&#xff0c;可以加快烘培速度。创建一个【图像纹理】节点&#xff08;…

fastadmin后台表单文字过长,限制显示,鼠标悬停显示全部

问题&#xff1a;显示文字区域过长&#xff0c;影响用户体验感 解决措施&#xff1a; 特别注意&#xff1a; return "<span styledisplay: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; title" row.contents ">" value …

ARM uboot源码分析1-启动第一阶段

一、start.S 引入 1、u-boot.lds 中找到 start.S 入口 (1) 在 C 语言中整个项目的入口就是 main 函数&#xff08;这是 C 语言规定的&#xff09;&#xff0c;所以譬如说一个有 10000 个.c 文件的项目&#xff0c;第一个要分析的文件就是包含了 main 函数的那个文件。 (2) 在…