目录
跨站请求伪造(Cross site Request,CSRF)
跨站请求伪造(Cross site Request,CSRF)
实例:heike用户可以伪造admin(正常)用户的转账请求,强制admin用户,转账给任意用户。
基本概念;
CSRF是一种攻击,他强制终端用户在当前对对其进行身份验证后的Web应用程序上之行非本意操作的攻击。
CSRF 攻击的重点在于更改状态的请求,⽽不是盗取数据,因为攻击者⽆法查看伪造请求的响应。
借助于社会工程学的一些帮助,通过电子邮件或聊天发送链接,攻击者可以诱骗用户执行攻击者选择的操作。如果受害者是普通用户,则成功的CSRF攻击可以强制用户执行更改状态的请求,例如转移资金、修改密码等操作。如果受害者是管理账户,CSRF攻击会危机整个Web应用程序。
关键点:
受害者没有退出登录。
CSRF是一种欺骗受害者提交恶意请求的攻击。他继承了受害者的身份和特权,代表受害者执行非本意的、恶意的操作。
目标:
CSRF的目标是更改用户帐户的状态,攻击者利用CSRF发送的请求都是更改状态的请求,比如转账、修改密码、购买商品等。
CSRF的场景中,攻击者是没有办法获得服务器的响应。
构建CSRF场景:
模拟银行网站和恶意网站
恶意网站构造一个诱导链接
我们可以通过<img>标签构造GET请求。受害者访问网站的时候加载了<img>标签。浏览器会根据<img>标签中的src属性,请求服务器资源(GET),会自动带上身份认证信息(Cookie)。
例:<img src='./1.jpg'><br />
<img src='http://192.168.16.109/bank/action.php?
username=hacker&money=100&submit=%E4%BA%A4%E6%98%93' alt='宝⼑在⼿,谁与争锋'>
攻击原理及过程:
1.受害用户开启浏览器,访问受信任的网站,输入用户名和密码请求登陆
2.*成功登陆网站后,浏览器会储存用户登陆信息在cookei中
3.*在受害用户未退出信任网站之前 ,同意浏览器打开 具有CSRF攻击的诱导网站, 载入诱导网站时候,诱导网站返回具有攻击性的代码来更改信任网站状态请求
4.*构造:通过<img>构造get请求,进行伪造
CSRF和XSS区别与联系:
☺ XSS:跨站脚本攻击,是用户没有做一个好的过滤,会出现注入漏洞
诱骗用户点击恶意链接盗取用户cookie进行攻击
攻击方式:构造恶意链接,诱骗用户点击盗取用户的Cookie信息。
☺ CSRF:跨站请求伪造,是用户登陆信任网站未退出的情况下访问攻击者建造的恶意网站,冒充受害者身份发送恶意请求。
相同点:XSS,CSRF,SSRF三种常见的Web服务端漏洞均是由于,服务器端对用户提供的可控数据过于信任或者过滤不严导致的。
区别:CSRF是请求页面api来实现非法操作,无法直接获取用户的cookie而是冒充用户,需要用户登陆&#