PIKACHU--CSRF

目录

 

CSRF概述

如何判断网站是否具有CSRF漏洞

实现csrf攻击需要的条件

CSRF和XSS的区别

如何方式CSRF攻击

PIKACHU--CSRF(get)

PIKACHU---CSRF(post)

PIKACHU--CSRT TOKEN 

防护措施


CSRF概述

CSRF(Cross-site request forgery,跨站情切伪造)由于在csrf的攻击场景中一般是伪造一个链接当用户点击链接的时候,攻击就已经完成了所以又被称为 one  click attack/session riding 。是一种挟制用户在当前以登录的web应用程序上执行非本意的操作的攻击方法

一般CSRF对场景的要求比较高往往需要多个条件才能实现,所以算不上是高危漏洞但是也不容小觑。一般都是攻击者盗用用户的身份,以用户的名义发送恶意请求,可以造成个人泄露、财产安全等

如何判断网站是否具有CSRF漏洞

判断一个网站有没有CSRF漏洞,其实就是判断对关键信息(密码等)的操作(增删改)是否容易被伪造,

  • 修改用户的账号密码时,是否需要验证旧密码
  • 修改敏感信息时是否又token验证
  • 是否在关闭或退出浏览器后及时销毁cookie或session

实现csrf攻击需要的条件

  • 登录受信任的网站,并且在本地生成cookie
  • 在不登出该网站的情况下,访问危险网站

CSRF和XSS的区别

CSRF是借用户的权限完成攻击,也就是说它并没有拿到用户的权限,而XSS则是直接拿到了用户的权限。且CSRF需要用户先登录网站,XSS不需要登录,CSRF是利用网站本身的漏洞去请求网站的API。XSS是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容。

如何方式CSRF攻击

  • 对敏感信息的操作增加安全的token
  • 对敏感信息的操作增加安全的验证码
  • 对敏感信息的操作实施安全的逻辑流程,比如修改密码时,需要先校验旧密码等

PIKACHU--CSRF(get)

登录用户点击修改个人信息,抓取数据包

从数据包来看后台并没有做token,所以我们可以直接修改任意我们想修改的信息,同时又因为是get方式来提交信息。我们可以直接把要修改好的信息构造近url中,然后想办法让用户点击,用户点击完等页面跳转过去修改已经完成了

localhost/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=11111111&add=haker&email=l3333%40pikachu.com&submit=submit HTTP/1.1

get方式请求就是比较容易利用,所有的参rong数都在url中,只需要构造出链接(把对应的参数改成我们需要的值)然后发送给用户就可以了

PIKACHU---CSRF(post)

这里的测试流程跟get方式是一样的只不过由于是POST型的请求方式所以不能通过构造Url进行攻击,但是我们可以通过搭建一个站点,然后在站点上做一个表单,然后发送给用户站点的链接,当用户点击时就会自动向存在CSRF的服务器提交POST请求来修改个人信息。

PIKACHU--CSRT TOKEN 

CSRF的主要问题是敏感操作容易被伪造,我们可以加入Token让请求不那么容易被伪造

每次请求都增加一个随机码(需要够随机不容易被伪造),后台每次对这个随机码进行验证,并且用完即毁

防护措施

  • 增加token验证
    • 对关键操作增加token参数,够随机。不能被轻易破解
  • 关于安全的会话管理(由于登录态的原因避免会话被利用)
    • 不要在客户端保存敏感信息(比如身份或验证信息)
    • 退出,关闭浏览器的会话过期机制
    • 设置会话过期机制,比如15分钟无操作,则登录自动超时
  • 访问控制安全管理
    • 敏感信息的修改需要身份进行二次验证,比如修改账号密码,需要判断旧密码
    • 敏感信息的修改使用POST,而不是GET
    • 通过HTTP头部中的referer来限制原页面
  • 增加验证码
    • 一般在登录(防暴力破解),也可以用在其他重要信息操作的表单中(需要考虑可用性)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值