CSRF 概念
CSRF, 全写是Cross-Site Request Forgery(跨站请求伪造)。指的是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。
CSRF 还有一些其他的别名:
- XSRF 。 这个应该是为了和XSS 保持一致, 关于 XSS可以参考
- Cross Site Reference Forgery 跨站参考伪造。 这个和Cross-Site Request Forgery 意思差不多。
- Session Riding , 会话骑行。
CSRF的别名为什么叫回话骑行呢? 这个可以从CSRF 的发生的过程来看。
CSRF 是怎么发生的?
对于需要验证身份的Web 网站和应用, 一般的验证方式都是使用用户名/密码进行登录, 登录之后在一段时间内,浏览器和服务端之间好像保持了连接。这段时间就叫做Session ,也就是回话。 浏览器是怎么实现这个机制的呢?
其实很简单, 登录之后,服务端生成一串字符返回给浏览器,这串字符称为回话的ID , 在服务端。这个ID 对应了一个回话的对象, 里面保存着用户名等信息。
浏览器将这个字符串保留在本地, 每次请求的时候的时候都会将这个ID发送到服务端, 服务端通过这个ID h获取回话的对象, 验证是否有效? 是否过期等?
以Chr