前端江湖之攻与防

前端安全的话题再次被提及,深航东航系统被攻破,乘客信息泄露并被利用,这类例子比比皆是。在前端江湖中,攻击与防守更像是一场漫无硝烟的战争,悄无声息却无时无刻都在进行。

前端常见漏洞包括XSS、CSRF及界面操作劫持,服务端如SQL注入等。

前端使用的传输协议是http,不经过加密直接传输的。HTML中有很多地方可以内嵌脚本。及前端的存储,cookie,web storage.这些在一定程度上带来了一些安全风险。

同域:两个站点同协议,同域名,同端口。

出于防范跨站脚本攻击的同源安全策略,浏览器禁止客户端脚本(如Javascript)对不同域名的服务进行跨域调用。

同源策略(Same Origin)中的源有着严格的定义,参见RFC6454,第4章节。一般而言,Origin由{protocol, host, port}三部分组成。

下面是同源检查的一些实例

可能有点意外的是,一般我们会认为不同的子域名应该被当做同域名,是安全的调用,但实际上浏览器同源策略甚至禁止了不同子域名和端口的服务之间的调用。

跨子域的访问,可使用iframe,然后设置domain为相同。

HTTP相关头

User-Agent:在使用HTTP协议进行请求时,HTTP协议头部会添加User-Agent,该信息可以标识请求者的一些信息,如什么浏览器类型和版本、操作系统,使用语言等信息。

Referer:HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。HTTP Referer使用非常简单,使用场合比较多的是用于页面统计、资源防盗链等,但还是有一点值得注意的是:Referer是不安全的,客户端可以通过设置改变 Request中的值,尽量不要用来进行安全验证等方面。

HTML中内嵌脚本执行

可内嵌于js文件中,可出现在HTML的script标签中,HTML标签的事件中,及一些标签的src,href等属性的伪协议javascript:中。这样导致防御XSS有些棘手。使用HTTPOnly cookie可以一定程度防止脚本获取cookie。

AJAX

AJAX的请求头设置是有限制的。AJAX严格遵守同源策略。

XSS攻击

XSS是一种经常出现在web应用中的安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

CSRF攻击

CSRF是Cross Site Request Forgery的缩写(也缩写为XSRF),直译过来就是跨站请求伪造的意思,也就是在用户会话下对某个CGI做一些GET/POST的事情——这些事情用
户未必知道和愿意做,你可以把它想做HTTP会话劫持。

时间: 2024-11-05 19:39:51

前端江湖之攻与防的相关文章

智能家居网络安全攻与防

以下均内容均为博主原创.如转载,请注明出处.谢谢! 背景 物联网将会成为继互联网之后的下一个暴发点,目前以有不少公司已进入该领域. 智能家居作为物联网中最具有潜力的领域,网络安全是必须引起重视的课题.在互联网领域中,用户去安全性的敏感度并不是那个高.但是在智能家居领域中,如果系统被黑客攻击:半夜房门自动打开.无故解除安防系统.灯不亮等严重威胁到了用户的财产人身安全. 所以,智能家居想发展,安全性是决不可忽视的关键要素. 网络通信安全 任何信息在网络上传播能是能被第三者监听的.一个局域网就像是一间

高屋建瓴之WebMail攻与防

0x01:前言 随着互联网的快速发展,我们的生活与互联网的联系愈加的紧密.各种快捷方便的信息化通信工具渐渐取代了传统的通信方式.微博.QQ.MSN.微信.陌陌, …这样的社交软件和平台已经成为了我们生活必不可少的通讯和交友平台. 但是像上述的这些软件及平台都有一个共同的特征,那就是即时性.即时性的通信虽然有其独特的优点所在但是在企业级方面的安全性却得不到全方面的保障:电子邮件却恰恰相反,虽然即时通讯的能力不强,但是在企业级的安全性方面相对于即时通信还是略占优势的.根据一则报道显示: “有52%的

图片盗链的攻与防

前言: 之前在整理nginx资料的时候, 里面谈到过防盗链的配置. 当时觉得有些新鲜(还是自己孤陋寡闻了), 毕竟很少接触这个概念或者说是名词. 大致的意思时, 防止他人的网站引用你的图片, 进而消耗你网络带宽资源的一种措施. 本文将讲述防盗链的原理, nginx如何配置防盗链, 以及如何反防盗链的一些思路. 笔者这是简单谈谈, 权当抛砖引玉. 科普: 他人网站未经你的允许, 引用你网站的资源链接(图片/文档). 不仅消耗你服务器的网络带宽, 甚至侵害你的利益, 间接盗取你的网站流量, 所以危害

攻与防的较量—信息化安全提升的源动力

信息化安全的提升,某种程度上,依赖于攻击与防护对抗的碰撞力度.攻击愈烈,防守意识愈能提升,安全防护的技术水平和能力愈加速发展:而防守越强,同时也刺激攻击手段不断"创新"与"求变". 本次社保行业信息泄露事件的集中报道,就是信息化安全攻与防较量的一个典型代表. 1.社保数据遭受泄露事件曝光绝不"纯属偶然": 7天连锁酒店的600万会员信息泄密: CSDN 1000多万客户信息被窃取: 12306网站被攻破,上百万人的信息泄露: "房叔房姐

SQLCipher之攻与防

在移动端,不管是iOS还是Android,开发人员用的最多的本地数据库非SQlite莫属了.SQLite是一个轻量的.跨平台的.开源的数据库引擎,它的在读写效率.消耗总量.延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案. 但是,用SQLite保存一些不是很敏感的信息还可以接受,存储敏感信息就值得商榷了,免费版的SQLite中的信息是明文存放的,你甚至直接用文本编辑器打开都可以看到敏感内容,比如下面这个: 其实SQLite是提供了加密功能的,即SQLite Encrypt

新手学web前端有哪些攻略?

web前端入行门槛低.薪资高.发展前景好,已经成为近几年的热门岗位,很多人在想要转行时也会首选web前端.想要学好web前端,尤其是对于没有任何基础的新手来说,一定要找到好的学习方法.下面小编就为大家分享一下前端新手学习的攻略有哪些? 第一:基础的重要性 无论做什么都一定要有扎实的基础,参加web前端开发培训也不例外,只有基础牢固,才能更深入的学习新技能.作为一名初级的web前端工程师,你必须要具备基础的技术要素:html.CSS和Java.这是作为web前端工程师所必须要掌握的.web前端的入

SQL注入攻与防之代码层防御SQL注入

[目录] 0x0 前言 0x1 领域驱动的安全 1.1 领域驱动的设计 1.2 领域驱动的安全示例 0x2 使用参数化查询 2.1 参数化查询 2.2 Java中的参数化语句 2.3 .NET(C#)中的参数化语句 2.4 PHP中的参数化语句 2.5 PL/SQL中的参数化语句 0X3 移动应用中的参数化语句 3.1 iOS应用程序中的参数化语句 3.2 Android应用程序中的参数化语句 3.3 HTML浏览器中存储的参数化语句 0x4 输入验证 4.1 白名单 4.2 黑名单 4.3 J

DDos攻与防

DDos(Distributed Denial of Service),分布式拒绝服务,在游戏.在线业务等方面常会发现这样的攻击,一般是竞争对手所为.那DDOS攻击的方式有哪些呢? 1流量攻击(四层) 主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机. 1.1 SYN/ACK Flood攻击 这个是很古老的攻击方法了,不过前期还是挺凑效的,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK 包,导致主机的缓存资源被耗尽或忙于发送回应

PHP 采集大全 采集原理分析 禁用采集 各种采集方法详解 采集的攻于防 采集性能 应用协议分析

//py by http://my.oschina.net/cart 做了N年的PHP,采集了N家数据,由初学者菜鸟,到现在的熟手,采集天猫.淘宝.腾讯.京东.敦煌.Lightinthebox.大龙.zencart.magento.prestashop.opencart.xcart.踏踏....对采集颇有诸多的理解. 现在给大家分析下,如有误,请指出. 我能想到的常用采集方法: 1. file 支持应用层协议,返回的数据是以数组形式返回,需要开启allow_url_fopen. 长处:擅长处理本