CSRF
Cross-site request forgery:跨站请求伪造
原理
攻击者利用受害者的身份,以受害者的名义执行非法操作。
举个例子,假如你想给某位用户转账100元,那么单击转账按钮之后,发出的HTTP请求会与http://www.xxbank.com/pay.php?user=xx&money=100类似。而攻击者构造链接(http://www.xxbank.com/pay.php?user=hacker&money=100),当受害者访问了该url后就会自动向Hack账号转账100元,而且这只涉及受害者的操作,攻击者没有获取受害者的cookie或其他身份信息。
攻击重点:
- 受害者登录了网站,能够执行网站的功能
- 受害者访问了攻击者的url
关键点
CSRF是一种欺骗受害者提交恶意请求的攻击,它继承了受害者的身份和特权信息,代表受害者执行非本意、恶意的操作。
对于大多数站点,浏览器请求自动发送关于该站点关联的的所有凭据,例如用户cookie信息、IP地址,Windows凭据等。因此,如果用户当前已对该站点进行了身份验证,则该站点无法区分受害者发送的伪造请求和受害者发送的合法请求。
目标
CSRF攻击目标是能够更改服务器状态或数据的业务或功能,例如更改受害者的电子邮件地址,密码或购买商品。
有时可以将CSRF攻击存储在易受攻击的站点上。这些漏洞被称为“存储的CSRF攻击”。这可以通过简单的HTML字段中存储在