msforest / notebook

好记性不如烂笔头,记录知识的点点滴滴。
https://github.com/msforest/notebook/wiki
0 stars 0 forks source link

web 安全知识 #15

Open msforest opened 7 years ago

msforest commented 7 years ago
  1. cookie
  2. xss
  3. csrf
  4. http/2.0
  5. cors
  6. dos

cookie

cookie是用于服务器对来自客户端请求的一种身份验证;cookie的使用为技术带来了好处,比如会话状态管理、个性化设置、浏览器行为跟踪等,但也引发了一些安全的问题,比如xss攻击。

cookie是由服务器生成并发送给客户端保存,之后的每次浏览器请求都会带上cookie信息,这会造成一定的带宽浪费,而且这些cookie信息都是很容易被获取,所以相应的安全预防是有必要的。

httponly

对于js不需要读取cookie信息的应用,可以将cookie设置成httponly类型,可以在一定程度上阻止跨域脚本攻击(xss)。HttpOnly标志并没有给你提供额外的加密或者安全性上的能力,当整个机器暴露在不安全的环境时,切记绝不能通过HTTP Cookie存储、传输机密或者敏感信息。 Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly cookie

跨站脚本攻击(cross site scripting)

xss攻击是由于用户输入不合法的数据导致浏览器解析文档造成的攻击。比如当你打开一封Email或附件、浏览论坛帖子时,可能恶意脚本会自动执行,因此,在做这些操作时一定要特别谨慎。 预防xss攻击措施:

跨站请求伪造(cross-site request forgery)

csrf是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。比如 <img src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory"> 当你打开含有了这张图片的HTML页面是,如果你已经登录了你的银行帐号并且还有效(而且没有其它验证步骤),你的银行里的钱可能会被自动转走。 预防csrf攻击措施:

http/2.0

http2.0是自从1997年提出http1.1网络协议之后的一个大改版,最初是由spdy协议开发而来的,而spdy是由google开发的,google于2015年2月9日声明chrome浏览器不再使用spdy转而支持http2.0,并从chrome51之后开始使用http2.0协议;http2.0标准是在2015年5月份公开的,2015年底,所有现代浏览器都支持http2.0协议,比如Chrome, Opera, Firefox, Internet Explorer 11, Safari, Amazon Silk, and Edge browsers。截止2017年3月份,一千万个网站中就有13.7%的网站支持http2. 优势

http/2.0 wiki http2

CORS

出于安全原因,浏览器限制从脚本内发起的跨源http请求,意味着应用程序只能从加载应用程序的同一个域请求资源
跨域资源共享机制允许 Web 应用服务器进行跨域访问控制,从而使跨域数据传输得以安全进行。浏览器支持在 API 容器中(例如 XMLHttpRequest 或 Fetch )使用 CORS,以降低跨域 HTTP 请求所带来的风险。

DOS

DOS