关于WEB安全的知识

第一章 客户端安全

2.1 同源策略

限制不同的document脚本对当前的document读取或者设置某些属性

端口,协议或者域名之一有一个不一样就会产生跨域问题

2.2 浏览器沙箱

浏览器利用沙箱技术,可以让不受网页信任的代码,JavaScript代码运行在一个收到限制的环境中,从而保护本地的桌面系统安全。

浏览器的多进程架构,将浏览器的各个功能分开,当一个进程崩溃时,也不会影响到其他的进程。谷歌是第一个引入浏览器多进程架构的浏览器,主要分为浏览器进程、渲染进程、插件进程以及扩展进程。

2.3 恶意网址拦截

原理:浏览器周期性地从服务器获取一份最新的恶意网址名单。

恶意网站:
①挂马网站:利用浏览器的漏洞执行恶意JavaScript代码
②钓鱼网站:模仿知名网站来欺骗用户

拦截:谷歌黑名单库,EVSSL证书


第二章 跨站脚本攻击

3.1 XSS简介

指的是黑客用过HTML注入篡改网站,插入了恶意脚本,从而在用户浏览时控制用户的权限。

类型:
1、反射型XSS:简单地把用户输入的数据“反射”给用户,往往诱使用户点击才会成功。也成为非持久性XSS攻击
2、存储型XSS:把用户的数据存储在服务端。也称为持久性XSS。比如黑客发表一篇含有恶意代码的文章,用户阅读后把恶意脚本存储在服务端。
3、DOM Based XSS:并非按照数据是否存储在服务端划分的,效果上来说是反射型的XSS。单独划分来说,比如构造一个事件,闭合源码的’且插入自己的JavaScript代码。第二个就是会闭合掉a然后使得触发另外的函数。

3.2 XSS攻击进阶

  • XSS Playload:攻击者攻击成功之后就会执行它的恶意代码,XSS Playload就是JavaScript代码。比如他会读取你的浏览器cookie对象,这也称为cookie劫持。可以通过HttpOnly标识防止cookie劫持

  • 构造GET请求和POST请求可能导致用户删除重要资料和文章。还可以利用这个来获取用户的账户密码等信息。

  • 非法获取用户的IP地址。因为很多时候用户的电脑都是使用了***服务器,网站看到的IP地址其实是内网的出口IP地址。

3.3 XSS防御

  • HttpOnly:主要是为了解决XSS攻击后的cookie劫持攻击。

step1 :浏览器向服务器发送请求,这时候是没有cookie的
step2 :服务器返回set-Cookie头,向客户端浏览器写入Cookie
step3 :在该Cookie到期之前,浏览器访问该域下的所有页面都应该发送Cookie

  • 处理富文本:在标签选择上尽量选择白名单,避免使用黑名单

第四章 跨站请求伪造

攻击者在自己的域内伪造一个页面,比如删除某个博客的文章。然后诱使用户访问一个页面,就以该用户身份在第三方站点执行一次操作。
####CSRF防御

  • 验证码:CSRF攻击通常是用户在不知情的情况之下构造了网络请求,而验证码是用户必须与应用进行交互才能完成最终请求。
  • Referer Check :用于检查请求是否来自于合法的"源"。比如用户需要发帖就会登陆到后台,那么Referer这个值必然是发帖表单所在的页面。但是有一个缺陷,服务器并非什么时候都会去得到Referer。
  • Token:Token 需要同时放在表单中和session中,提交表但时,服务器要验证表单中的Token是否与用户session或者(cookie)中的Token是否一致。
  • token一定要足够随机

第五章 点击劫持

5.1 点击劫持

点击劫持其实就是利用视觉上的欺骗手段。攻击者使用一个不透明、不可见的iframe覆盖在网页上,

5.2 拖拽劫持和数据窃取

诱使用户从不可见的iframe中拖拽出攻击者希望得到的数据。

5.3 触屏劫持

  • touchstart
  • touchend
  • touchmove
  • touchcancel

5.4 防御ClickJacking

  • frame busting
    写一段JavaScript代码防止iframe嵌套

  • X-Frame-Options
    使用一个HTTP请求头,当值位DENY时浏览器拒绝加载当前页面任何frame页面;若值为sameorigin时允许加载同源页面下的页面;当值为allow-from origin时就允许加载页面的地址


第六章 HTML5安全

6.1 HTML5新标签

使用HTML5新增的标签,比如说video等用于远程加载资源的标签会存在XSS漏洞。

  • iframe的sandbox
    为了限制iframe的脚本,为iframe定义了一个sandbox属性,将iframe所加载的内容视为一个独立的"源",其中的脚本被限制执行,表单被限制提交,插件被禁止加载。
  • postMessage----跨窗口传递信息
    允许每一个window对象往其他的擦窗口发送文本信息,从而实现跨窗口消息传递,这个功能是不受同源策略限制。

第七章 注入攻击

7.1 SQL注入

注入的本质就是把用户输入的数据当成代码执行。原来程序要执行的数据拼接了用户输入的数据。


第八章 认证与会话管理

  • 认证的目的就是为了认出用户是谁,授权就是为了决定用户能够做什么。
  • 认证实际上就是一个验证凭证的过程。
  • 单点登陆,用户登陆一次就可以访问所有的系统。
  • OpenID是一个开放的单点登陆系统,用的是URI作为用户在互联网上面的标识,然后网站重定向到openID的提供者认证,认证完成后再重定向回网站。
  • web应用中,用户登陆后,服务器会返回一个sessionID加密写在浏览器的cookie上。

ps:笔者最近开通了微信公众号,大家可以关注一下哦,谢谢大家的支持!

全部评论

相关推荐

华为北京什么时候签约,哪位老哥来个准信
投递华为北京研究所等公司10个岗位 >
点赞 评论 收藏
分享
11-09 14:54
已编辑
华南农业大学 产品经理
大拿老师:这个简历,连手机号码和照片都没打码,那为什么关键要素求职职位就不写呢? 从上往下看,都没看出自己到底是产品经理的简历,还是电子硬件的简历? 这是一个大问题,当然,更大的问题是实习经历的描述是不对的 不要只是去写实习流程,陈平,怎么去开会?怎么去讨论? 面试问的是你的产品功能点,是怎么设计的?也就是要写项目的亮点,有什么功能?这个功能有什么难处?怎么去解决的? 实习流程大家都一样,没什么优势,也没有提问点,没有提问,你就不得分 另外,你要明确你投的是什么职位,如果投的是产品职位,你的项目经历写的全都是跟产品无关的,那你的简历就没用 你的面试官必然是一个资深的产品经理,他不会去问那些计算机类的编程项目 所以这种四不像的简历,在校招是大忌
点赞 评论 收藏
分享
评论
点赞
1
分享
正在热议
# 25届秋招总结 #
442405次浏览 4511人参与
# 春招别灰心,我们一人来一句鼓励 #
41942次浏览 531人参与
# 北方华创开奖 #
107432次浏览 599人参与
# 地方国企笔面经互助 #
7962次浏览 18人参与
# 同bg的你秋招战况如何? #
76670次浏览 561人参与
# 虾皮求职进展汇总 #
115613次浏览 886人参与
# 阿里云管培生offer #
120246次浏览 2220人参与
# 实习,投递多份简历没人回复怎么办 #
2454658次浏览 34857人参与
# 实习必须要去大厂吗? #
55771次浏览 961人参与
# 提前批简历挂麻了怎么办 #
149901次浏览 1977人参与
# 投递实习岗位前的准备 #
1195935次浏览 18548人参与
# 你投递的公司有几家约面了? #
33206次浏览 188人参与
# 双非本科求职如何逆袭 #
662208次浏览 7394人参与
# 如果公司给你放一天假,你会怎么度过? #
4753次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157628次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11561次浏览 287人参与
# 发工资后,你做的第一件事是什么 #
12704次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35804次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20126次浏览 240人参与
# 我的上岸简历长这样 #
452016次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39299次浏览 314人参与
# 非技术岗是怎么找实习的 #
155868次浏览 2120人参与
牛客网
牛客企业服务