首页 > 其他 > 详细

CSRF漏洞

时间:2019-07-09 22:25:22      阅读:143      评论:0      收藏:0      [点我收藏+]

0X00:前言

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

 

CSRF是借用用户的权限完成攻击,攻击者没有拿到受害者权限

 

受害者必须在登录状态下,并且点击了连接

如果受害者不在登陆状态,或者没有点击,则攻击不成功

0X01:确认CSRF漏洞

(1)一般出现在对重要信息的修改(修改密码等),

 

(2)

 测试环境DVWA,pikachu

0X02:CSRF  get

一般是攻击者自己在网站创建账号,修改要修改的信息,抓包,得到url

技术分享图片

 

 技术分享图片

 

referer是什么东西呢???

Referer  是  HTTP  请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含  Referer  。比如我在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:

    Referer=http://www.google.com

由此可以看出来吧。它就是表示一个来源。

(2)http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=admin741&password_conf=admin741&Change=Change#

攻击者 只要把这个URL,内容修改一下,发给受害者,受害者点击后,就会把密码修改了,

 

 0X03:CSRF post

post需要借助自己的站点,与XSS  post类似

 

抓包post参数后,放到自己服务器站点的URL中,让受害者点击自己搭建的URL,自己的服务器,在向正常的服务器提交带有csrf payload的post请求,实现攻击

 

 

0X04:利用Token防御CSRF

if($_GET[‘sex‘]!=null && $_GET[‘phonenum‘]!=null && $_GET[‘add‘]!=null && $_GET[‘email‘]!=null && $_GET[‘token‘]==$_SESSION[‘token‘])

技术分享图片

 

在每次提交的时候,都会生成一个一定长度并且随机的数跟在URL中,每次点击修改的时候会话中也会有Token,两个比较

 

0Xff:总结

CSRF漏洞,攻击成功条件比较多,所以很多人也不是很重视。看起来与XSS比较相似,但是存在本质差别,CSRF不需要获得用户权限,还有其他防御措施:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。

 

CSRF漏洞

原文:https://www.cnblogs.com/liqik/p/11160806.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!