本文总结了一些常见的web前端攻击方式及防御方法,其中一部分之前已经谈到过。
[xss] 跨站脚本攻击
目标:向目标网站中注入一段JS脚本
原理:当网站对用户输入的数据过滤不全时,有可能把数据当成脚本执行
危害:主要用于获取用户登录凭据,从而使攻击者能冒充用户登录
防御:前端进行严格过滤;不使用innerHTML插入代码;使用CSP限制可执行的脚本
[csrf] 跨站请求伪造
目标:跨站请求接口
原理:通过将接口当作资源引入,或提交表单等方式,调用其他网站的接口
危害:当用户已登录被攻击的网站时,可以冒充用户进行各种操作
防御:检测请求头中的Referer字段判断请求来源,拒绝跨站的请求;不使用cookie而使用token作登录凭据
[xssi] 跨站脚本包含
目标:获取或探测跨域资源内容
原理:将跨域资源当作脚本用<script>标签引入页面,通过检测报错信息或检测全局变量的方式探测资源内容
危害:获取用户存储在其他站点的信息
防御:现代浏览器通过CORB的机制进行防御,只需在响应头中用Content-Type正确设置MIME类型即可
[CRLF注入]
目标:构造自定义的响应头
原理:由于HTTP请求头之间是用回车和换行隔开的,某些服务器存在漏洞,通过在url中插入回车(CR)和换行(LF),使url的一部分进入响应头中,从而使服务器返回特定的响应头
危害:攻击者可以通过注入Location响应头使页面重定向到恶意网站
防御:关注服务器存在的漏洞,正确配置服务器(和服务器有关,其实nginx也有此漏洞)
[界面操作劫持]
目标:使用户在不知情的情况下进行某些操作,或窃取用户数据
原理:一般通过<iframe>+透明层的方式,诱导用户点击某个位置,或窃取用户输入的内容
危害:欺骗用户进行特定操作,或截取用户输入的用户名和密码
防御:禁止网站被嵌入到iframe中;提醒用户检查url,提高用户的安全意识
[网络端口扫描]
目标:扫描用户主机或用户所在局域网的主机端口是否打开
原理:将目标主机和端口构造的url当作图片加载,通过观察成功或失败回调触发的时间来判断端口是否打开
危害:判断用户主机是否启动了某些服务,或通过检测某些站点的连通性判断用户网络环境,从而针对性地进行进一步攻击
防御:浏览器一般会拒绝访问常见服务端口和经典病毒使用的端口,无需主动防御
[MITM] 中间人攻击
目标:窃取或篡改用户与服务器之间的通信数据
原理:利用arp攻击等方式使用户主机和服务器之间的流量经过攻击者的设备,从而窃取或篡改通信数据
危害:可窃取用户密码、伪造网站内容、植入网页广告等,并可进行重放攻击
防御:全站使用HTTPS加密传输(在不理解密码学的情况下自己进行加密,仍可能被篡改或重放)
本文来自:变化吧门户-www.bianhb.com
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧门户观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论