CSRF攻击
2016-12-30 11:00
169 查看
1.什么是CSRF攻击
CSRF(Cross-site request forgery),跨站请求伪造。
CSRF攻击的原理如下:
1)用户登录正常的网站A后,在本地生成Cookie
2)在不登出A的情况下,访问了危险网站B
3)网站B中含有网站A的链接,点击网站A的链接,会调用本地cookie验证,自动登录网站A。
CSRF攻击源于WEB的隐式身份验证机制,WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的。
2.原理图如下:
3.CSRF的防御
1)Cookie Hashing(所有表单都包含同一个伪随机值):
CSRF的问题在于网站验证cookie存在的情况下,黑客可以直接登录网站。
我们可以在访问网站时,服务端生成一个伪随机数,访问网站每个页面时带上这个伪随机数,服务端验证cookie和伪随机数是否一致。
这样可以确保网站A的链接不是由第三方网站直接跳转过来的,因为第三方网站是无法获得网站的cookie伪随机数的。
2)验证码
登录网站时设置验证码,是很常用的方式,可以完全解决CSRF的问题。
CSRF(Cross-site request forgery),跨站请求伪造。
CSRF攻击的原理如下:
1)用户登录正常的网站A后,在本地生成Cookie
2)在不登出A的情况下,访问了危险网站B
3)网站B中含有网站A的链接,点击网站A的链接,会调用本地cookie验证,自动登录网站A。
CSRF攻击源于WEB的隐式身份验证机制,WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的。
2.原理图如下:
3.CSRF的防御
1)Cookie Hashing(所有表单都包含同一个伪随机值):
CSRF的问题在于网站验证cookie存在的情况下,黑客可以直接登录网站。
我们可以在访问网站时,服务端生成一个伪随机数,访问网站每个页面时带上这个伪随机数,服务端验证cookie和伪随机数是否一致。
这样可以确保网站A的链接不是由第三方网站直接跳转过来的,因为第三方网站是无法获得网站的cookie伪随机数的。
2)验证码
登录网站时设置验证码,是很常用的方式,可以完全解决CSRF的问题。
相关文章推荐
- shiro安全框架扩展教程--设计数据对象校验器,如何防止xss以及csrf攻击
- CSRF攻击
- web开发常见安全问题(SQL注入、XSS攻击、CSRF攻击)
- Django网站建设-sql注入、xss攻击、csrf攻击
- CSRF攻击
- csrf攻击
- csrf攻击
- web安全之token和CSRF攻击
- XSS和CSRF攻击
- csrf攻击
- CSRF攻击
- CSRF攻击
- 安全 --- CSRF攻击
- CSRF攻击
- CSRF攻击
- web开发常见安全问题(SQL注入、XSS攻击、CSRF攻击)
- 浅析:XSS攻击、SQL注入攻击和CSRF攻击
- 点击劫持 Framekiller--恶意frame导致CSRF攻击
- WEB安全_csrf攻击
- CSRF攻击