前端安全知识

1XSS(跨站脚本攻击Cross Site Scripting

最常见的攻击WEB网站的方法,攻击者通过注入非法的html标签或者javascript代码,从而当用户浏览该网页时,控制用户浏览器。


可能造成以下影响:

1.利用虚假输入表单骗取用户个人信息;

2.利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求;

3.显示伪造的文章或图片;


防御:

按理说,只要有输入数据的地方,就可能存在XSS危险。

1.httpOnly:在cookie中设置HttpOnly属性后,js脚本将无法读取到cookie信息;

2.过滤:

对输入的地方进行检查(包括前后端都要检查);

HtmlEncode

当用户输入<script>....</script>进行保存时,将<script>标签进行转换,在展现时, 浏览器会对这些字符转换成文本内容,而不是一段可执行的代码。


2CSRF(跨站点请求伪造Cross Site Request Forgeries

冒充用户发起请求,完成一些违背用户意愿的事情(如修改用户信息、删除评论等)。


可能会造成以下影响:

1.利用已通过认证的用户权限更新设定信息等;

2.利用已通过认证的用户权限购买商品;

3.利用已通过认证的用户权限在留言板上发表评论。


XSS区别:

1.通常来说CSRF是由XSS实现的;

2.本质上讲,XSS是代码注入问题,CSRFHTTP问题;XSS是内容没有过滤导致浏览器将攻击者的输入代码执行。CSRF则是因为浏览器在发送HTTP请求时自动带上cookie


防御:

1.验证码:强制用户必须与应用进行交互,才能完成最终请求;

2.尽量使用postget太容易被拿来做CSRF攻击;

3.Referer check:请求来源限制;

4.tokentoken验证的CSRF防御机制是公认最合适的方案。


3Click Jacking(点击劫持)

点击劫持,是指利用透明的按钮或链接做成陷阱,覆盖在web页面之上。然后诱使用户在不知情的情况下,点击那个链接访问内容的一种攻击手段,这种行为又称为界面伪装(UI Redressing)。


有两种方式:

1.攻击者使用一个透明的iframe覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。

2.攻击者使用一张图片覆盖在网页上,遮挡网页原有的位置含义。


防御:

1.X-FRAME-OPTIONS,该http响应头字段是用来给浏览器指示允许一个页面可否在<iframe>中,网站可以使用该功能,来确保自己的网站内容没有被嵌入到别人的网站中去。






猜你喜欢

转载自blog.csdn.net/u012755393/article/details/79870870