前端安全(1) 文件上传漏洞攻击与防御

参考:

前端安全 -- XSS攻击

web大前端开发中一些常见的安全性问题

1 跨站脚本攻击(XSS攻击)

XSS(Cross Site Script):攻击者向有XSS漏洞中输入(传入)恶意的HTML或者JS代码,当其他用户浏览该网站时,这段代码就会自动执行,从而到达攻击的目的。如盗取用户Cookie、破坏页面结构,重定向到其他网站等。

在现代浏览器的同源策略保护下,浏览器的跨域行为受到了限制,并且从XSS漏洞攻击原理上讲,跨站这两个字其实没有什么必要。

XSS攻击分类

XSS攻击是常见的Web攻击,其重点是“跨站” 和 “客户端执行”。有人将XSS攻击分为三种,分别是:

  1. Reflected XSS(基于反射的XSS攻击)

  2. Stored XSS(基于存储的XSS攻击)

  3. DOM-based or local XSS(基于DOM或本地的XSS攻击)

Reflected XSS(基于反射的XSS攻击)

主要依靠站点服务端返回脚本,在客户端触发执行从而发起Web攻击。

举例:

1、在搜索框搜索内容,填入“<script>alert('我要攻击了')</script>”, 点击搜索。
2、当前端页面没有对返回的数据进行过滤,直接显示在页面上,这时就会alert那个字符串出来。
3、如果将alert替换为恶意代码,获取用户cookie的地址,账号密码或者重定向到钓鱼网站等等。

安全措施:

1. 前端在显示服务端数据时候,不仅是标签内容需要过滤、转义,就连属性值也都可能需要。

2. 后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。

标签:
<span><script>alert('handsome boy')</script></span>

转义
<span>&lt;script&gt;alert(&#39;handsome boy&#39;)&lt;/script&gt</span>

Stored XSS

基于存储的XSS攻击,是通过发表带有恶意跨域脚本的帖子/文章,从而把恶意脚本存储在服务器,每个访问该帖子/文章的人就会触发执行。

防范:

  1. 要是服务端要进行过滤,因为前端的校验可以被绕过。

  2. 服务端不校验时候,前端要以各种方式过滤里面可能的恶意脚本,例如script标签,将特殊字符转换成HTML编码。

DOM-based or local XSS

WiFi流量劫持—— JS脚本缓存投毒

数据被中间人获取了而已,而由于HTTP是明文传输的,所以是极可能被窃取的。

防范:使用HTTPS

 

2 跨站请求伪造(CSRF攻击)

Web安全之CSRF攻击

3 SQL注入攻击

防止SQL注入攻击-学习笔记

4 文件上传漏洞

文件上传漏洞攻击与防御

 

 

猜你喜欢

转载自www.cnblogs.com/houfee/p/11123442.html