首页 > 其他分享 >pikachu 之CSRF(跨站请求伪造)get和post型

pikachu 之CSRF(跨站请求伪造)get和post型

时间:2024-07-25 16:55:52浏览次数:13  
标签:跨站 请求 登录 get 网站 pikachu 用户

CSRF(跨站请求伪造)

概念
跨站请求伪造(Cross-Site Request Forgery,简称CSRF)是一种攻击方式,攻击者通过伪造用户的请求,欺骗受害者在不知情的情况下执行不想要的操作。这种攻击利用了用户已经在目标网站上通过身份验证的状态(如登录状态),从而以用户的身份发送恶意请求。
工作原理
  1. 用户在某个网站(比如银行网站)上登录并获得一个会话令牌(Cookie)。
  2. 用户在没有退出登录的情况下,访问了一个恶意网站。
  3. 恶意网站中包含了指向银行网站的恶意请求,比如转账请求。
  4. 用户的浏览器会自动带上银行网站的会话Cookie,从而完成转账操作。
  5. 银行网站因为接收到了合法的Cookie,会认为请求是合法用户发起的,从而执行操作。
get型 登录进去之后随便修改一下提交 然后就开始在网络中寻找我们提交的数据包 这个时候登录lili的的账户然后打开vince的那个url http://127.0.0.1/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=123123&add=henan&email=henan666%40pikachu.com&submit=submit(欺骗) 发现了什么 post型 首先登录一个账号然后修改它的信息 然后burp抓包 抓包后(这不好截图一截图页面就下去了toude 图) 然后就找到html把他保存下来 这个时候把html发给lucy让他打开 这是lucy现在的信息 打开html后 你一点你就会发现lucy信息变了为kevin

标签:跨站,请求,登录,get,网站,pikachu,用户
From: https://blog.csdn.net/LIU6636LIU/article/details/140641860

相关文章

  • python中scrapy爬取数据get()与getall()区别
    在使用scrapy进行爬取数据的时候,有些时候需要爬取的是一段文本,或者一个div里面有很多内容,这时候我们就要使用到get()或者getall()来获取数据: get():是获取的满足条件的第一个数据。getall():是获取的满足条件的所有数据。scrapyget()getall()原理在Scrapy中,get(......
  • LeetCode 864. Shortest Path to Get All Keys
    原题链接在这里:https://leetcode.com/problems/shortest-path-to-get-all-keys/description/题目:Youaregivenan mxn grid grid where:'.' isanemptycell.'#' isawall.'@' isthestartingpoint.Lowercaselettersrepresentkeys.U......
  • Django request.data.get传送列表
    request.data.get('fa_no',[])代码片段通常用于Django处理视图中的传入请求数据。这一行代码试图从请求数据中获取键'fa_no'关联的值。如果在请求数据中未找到'fa_no',它会返回一个默认值空列表([])。以下是每个部分的解释:request:这是HTTP请求对象。data:这个属......
  • Django get_or_create和update_or_create 的作用和使用
    Djangoget_or_create和update_or_create的作用和使用:get_or_create和update_or_create是Django中的两个有用的方法,用于在数据库中获取或创建记录。如果记录不存在,则创建它们;如果存在,则返回现有记录。这两个方法帮助简化了避免重复记录的逻辑,并提供了一种简洁的方法来更新......
  • Python 中 __get__ 方法的内部原理
    我正在摆弄描述符,结果碰壁了。我以为我可以像使用任何其他方法一样直接调用它,但显然,它似乎不一致或者我遗漏了一些东西。假设我有一个用作描述符的坐标类:|||还有一个Point类,它有2个坐标属性:classCoordinate:def__set_name__(self,owner,name):self._na......
  • 在 python requests modul 中,如何检查页面是否使用“POST”方法或“GET”方法
    如何使用python“requests”模块检查页面是否使用“GET”方法或“POST”方法。我期望输出为True或False,或者GET或Post预期代码:importrequestsurl=f"www.get_example.com"response=requests.get(url)ifresponse.check_get==True:print("get")你......
  • Vue全家桶 - pinia 的理解和学习1(Pinia 核心概念的 Store、State、Getter、Action)
    Pinia(Vue的专属状态管理库)Pinia和Vuex的区别设计理念和架构Vuex采用集中式架构,所有状态存储在一个全局状态树中,通过mutations和actions来修改和处理状态。Pinia采用去中心化的架构,每个模块有自己的状态,这使得Pinia在代码分割和模块化方面更加灵活。TypeSc......
  • Linux获取线程调度策略pthread_attr_getschedpolicy
    thread_attr_getschedpolicy 函数是POSIX线程(pthread)库中用于获取线程属性对象中的调度策略的函数。在实时系统中,调度策略决定了线程如何被调度器选择来执行。pthread_attr_getschedpolicy 函数允许你查询一个已创建的线程属性对象(pthread_attr_t 类型)中设置的调度策略......
  • QListWidget实现内部拖动排序功能
    1.需求将QListWidget有很多的任务,需要拖动任务,手动进行排序,并且需要保存拖动之后的顺序,软件重新打开要是修改之后的顺序;(1)继承QListWidget,重写一个QListWidget自定义类#ifndefDROPLISTWIDGET_H#defineDROPLISTWIDGET_H#include<QListWidget>#include<QDropEvent>clas......
  • 为什么 Runtime.getRuntime().exec 在 Tomcat 中以 root 身份分叉进程?
    我正在使用Runtime.getRuntime().exec(...)从Tomcatweb应用程序中执行python脚本。当我在我的开发环境中时一切都很顺利(Eclipse通过Sysdeo-Plugin运行我的本地Tomcat(位于/home/me/opt/tomcat))。当我在生产环境(=DebianSqueeze)中运行我的web应用程序时,会出现此问题......