CSRF

跨站请求伪造
它与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头是否能够伪造
检查会话超时时间
相关文章
相关标签/搜索