博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSRF
阅读量:4679 次
发布时间:2019-06-09

本文共 745 字,大约阅读时间需要 2 分钟。

跨站请求伪造
它与XSS不同在于从信任角度来看
XSS 利用用户对站点的信任
CSRF:站点对已经经过身份认证的信任
 
CSRF和之前的注入漏洞不同,CSRF其实不是一个技术漏洞,而是一种业务逻辑漏洞(对关键操作缺少确认机制),CSRF攻击过程需要的条件:
  • 目标用户已经登录过网站,已经完成身份认证
  • 新请求的认证不需要重新身份认证
  • 攻击者必须了解web请求的参数构造
  • 目标用户访问了攻击者的URL(社会工程学)
 
简单实验说明概念,同样还是利用DVWA上的环境,我们在通过CSRF修改密码时候,原先的密码是不需要我们重复输入到页面上,我们只需要输入新的密码即可修改,利用burp进行截断查看
这时我们可以构造出一个新的页面,诱使受害者点击链接从而修改密码。修改如下:
1.先构造一个直接将密码修改为我们想要的密码链接
2.接着打开apache服务,将此链接投放至受害者网页
3.用户点击后,(但是这里的前提条件是用户之前登陆过此页面,拥有此页面的修改密码权限)
上面这种情况的弊端就是我们将鼠标放在123链接上的时候会看到链接的GET请求,所以我们需要将GET请求改成POST请求。此时burp会帮助我们实现此行为
此时再去访问a.html页面
点击按钮后的现象和用get方式一样,同样可以修改密码,这样做更加隐蔽一些
上述实验只是阐述CSRF的大概思路,具体情况要根据不同页面设计上的逻辑漏洞而形成不同的攻击手段
 
检测是否可以利用CSRF:
现在大多数网站都有anti-CSRF-token ( 可以理解为服务器和客户端之间的一个随机值)
检查referrer头是否可以伪造
检查会话超时时间
 

转载于:https://www.cnblogs.com/Tempt/p/11203909.html

你可能感兴趣的文章
第一个爬虫
查看>>
Java面试知识点之Java基础
查看>>
老外的前端面试题
查看>>
架构:新浪架构师谈微博架构
查看>>
SQL 语句速查
查看>>
discuz 删除指定条件的资讯
查看>>
Android上下文菜单ContextMenu
查看>>
JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
查看>>
Python & Django 学习笔记
查看>>
python第四天练习题
查看>>
【bzoj4543】Hotel加强版(thr)
查看>>
没有标题(1)
查看>>
React-Native学习手册----搭建基于ios平台的开发环境
查看>>
Android手机 Fildder真机抓包
查看>>
[stm32] 中断
查看>>
L1-043 阅览室
查看>>
我大学时代的好朋友要结婚了!
查看>>
RTP Payload Format for Transport of MPEG-4 Elementary Streams over http
查看>>
PAT-1134. Vertex Cover (25)
查看>>
git 命令图解
查看>>