跨站请求伪造(csrf)

1csrf介绍

CSRF (Cross-site request forgery,跨站请求伪造)也被称为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户请求受信任的网站。

2csrf原理

在上图中,A网站通过cookie来识别用户C,当用成功进行身份验证之后浏览器就会得到一个标识其身份的cookie,只要不关闭或者退出其登录,访问A网站都会带上这个cookie。如果在这个时候,用户C访问了被黑客控制的网站B,网站B又发出要求访问网站A的请求,然后就会由用户C端根据网站B发起的请求,带着A网站的cookie访问网站A,但这并不是用户C的本意,那么这就是所谓的请求伪造了,跨站是因为这是由B端发起的。而且这是受害者用户C完全不知情的请求,从而在未授权的情况下完成权限保护下的操作。

3、判断是否存在csrf

(1)最简单的方法就是抓取一个正常请求的数据包,如果没有Referer字段和token,那么极有可能存在CSRF漏洞。

(2)如果有Referer字段,但是去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

4csrf漏洞挖掘

1)使用pikachu靶场,到csrf模块,使用账户:Vince,密码:123456登录,点击逻辑个人资料

2)如图所示,点击submit并使用burp抓包,在burp中【将抓到的包发送到repeater模块在点击send(一些情况不执行这一步,csrf会失败)】

3)在发送到csrf  poc模块

4)在csrf poc模块下,在下图红色方框中修改自己想要修改的数据(这里修改了sex,phone,add)左边是原始数据,作为参考,点击test in browser-copy:

5)返回burp的拦截页面,先点击drop,在关闭拦截:

6)返回之前的浏览器,新打开一个页面,访问步骤5复制的URL,点击sumit request(成功修改,在一般测试过程中,显示success等)

7)回到步骤1的页面,刷新页面,数据成功被修改:

5、防范措施

(1)验证HTTP Referer字段

(2)在请求地址中添加token并验证

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值