精华内容
下载资源
问答
  • 探讨如何做好融媒体中心网络安全防护.pdf
  • 疫情下更要做好网络安全防线.pdf
  • 坚守最后防线,做好网络安全应急工作.pdf
  • 在智能建筑施工中如何做好网络安全系统检测.pdf
  • 对新时期金融业做好网络安全等级保护工作的思考.pdf
  • 如何做好网络安全红蓝对抗 安全 网络安全 移动安全 区块链 数据安全与治理
  • 如何做好网络安全工作.pdf
  • CNCERT自2010年以来,每年及时发布前一年度网络安全态势情况综述,至今已连续发布11年,对我国党政机关、行业企业及全社会了解我国网络安全形势,提高网络安全意识,做好网络安全工作提供了有力参考。
  • 为充分应对数字化转型过程中面临的网络安全威胁,数字化转型企业需要从战略角度切入,改变过去被动防御的传统思维,做好主动规划和安全管理,从“情报—攻防—管理—规划”四个维度构建企业安全免疫系统。
  • 做好计算机网络安全防护应对网络安全威胁.pdf
  • 保护网络安全做好五项工作.pdf
  • 本预案的适用范围为由信息管理中心负责建设管理的网站、 网络安全事件应急处理。 (一)日常安全工作职责 信息管理中心工作人员根据分工、做好以下工作:  1.对网站、网络进行日常检查、分析风险、排除隐患、...
  • 做好计算机网络安全防护应对网络安全威胁 (1).pdf
  • 金融行业网络安全标准合集 《金融数据安全治理模型与实践》 金融行业网络安全白皮书; 金融行业内生安全详解和实践; 以对抗为核心的金融安全保障体系建设; 新形势下金融安全防护思考与实践; 《移动金融客户端...
  • 网络安全售前工程师需要具备哪些能力? 一张思维导图即可一目了然 售前工程师在项目前配合销售拿单提供技术支持,需要了解公司,公司产品,技术框架等细节,同时还需要了解行业竞争对手产品,各自的优劣势,就公司...

    网络安全售前工程师需要具备哪些能力?

    一张思维导图即可一目了然

    在这里插入图片描述
    售前工程师在项目前配合销售拿单提供技术支持,需要了解公司,公司产品,技术框架等细节,同时还需要了解行业竞争对手产品,各自的优劣势,就公司产品和同行产品有个公平客观的评价和介绍。

    售前工程师和项目经理的配合,在项目前期对用户关注需求或痛点,要结合公司产品实际能力,给出最佳解决方案,不夸大,不虚承若,细节做到位,做到真诚。不为项目中标后实施过程留下坑,确保项目能顺利验收。
      
    1、具备一定的产品知识
    熟悉公司本身的技术状态,包括技术团队能力、项目实施能力,行业解决方案的特点和优劣;

    2、具备一定的技术
    积累熟悉公司及行业所涉及的各种技术,至少精通其中一项技术,了解和熟悉其他相关技术;继由硬件十万个为什么组织的2017电子工程师技术交流大会(EETC)·杭州站的召开,受到广大工程师的热烈欢迎和积极反响。

    如果你希望通过一门技术的学习,实现自己的高薪就业梦,那么在学习之前需要先了解这门技术的薪资情况。接下…

    全栈工程师这个头衔在国内还是少有听闻,但是在美国早已大肆流行开来,纵关Facebook,Twitte…

    这个问题其实可以引申为以下两点:1. 什么是只有 FPGA 工程师能做的? 2. 作为 FPGA 工程师,我们应该如何培养这些能力…

    现在很多人都有一种看法:无论是软件开发还是嵌入式等,都是青春饭,但是软件(java,,ios等应用层)的工资都稍高于嵌入式,…

    在数字IC设计领域,前端验证工作一般都是用FPGA完成的,因此FPGA工程师也是IC设计公司迫切需要的人才。 FPGA…

    升级了CCS到5.2版本,用其打开原有工程师总是有,但原有的工程是毫无问题的,怎么回事儿???…

    软件工程师被我们戏称为“码农”,这不是褒义但也不是贬义。算是程序员的一种自嘲 ,我们天天对着电脑,眼…

    注册消防工程师与注册安全工程师区别还是比较大的,下面小编就从名称、分级、就业方向、考试科目、难度以及…

    15年学校毕业,从事嵌入式软件开发工作。很多人都说,做软件做不长久的,到了三十多岁就要转行了。

    就我所了解的,在现在以及可预见的未来,这个行业对软件工程师的需求绝对是碾压硬件工程师的。也就是说,招软件工程师的职位比硬…

    扁平化、、创新、、结果导向,这些都是当代中国互联网公司最标榜的价值。据说,互联网是最为开…

    随着大数据的爆发,中国IT业内也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机…

    几乎每隔一段时间,企业就会达到一个瓶颈期 — 在这个时间段,我们如何去突破临界点?相信在这个节点上,…

    最近有好多网友问我关于全栈工程师的事情,从大家的口气中,能听出大家都认为全栈工程师是一个非常高大上的…

    人人都在说工程师文化,90%的同学们向往工程师文化,然而95%的同学们觉得自己的部门没有工程师文化。…

    有不少考生对于一消、二消有一些困惑:不明白一级消防工程师和二级消防工程师到底有什么区别或者可以先考二…

    由于目前大数据人才匮乏,由于18年是各个大学第一年开设大数据专业,所以暂时也没有相关专业的大数据专业…

    又到了金三银四的招聘季,公司的管理者都在思考:在现在的市场下,到底应该为自己的公司注入怎样的新鲜…

    首先,我是在广州一家与我们专业相关的公司实习的,我所在的部门主要是负责三维方面,一般都是接一些规划局…

    未来的发展方向,当然最高的就是如果有幸做到公司的CIO,就是这个行业顶端的,当然也可以出来开公司。

    售前工程师的工作目标是协助销售人员推动项目签单,以完成合同签订为工作结束,主要工作内容如下:

    售前工程师(Pre-sales Engineers)有时被称为销售工程师,是科技公司销售团队中技术熟…

    随着终端技术的发展,前端工程师成了一个炙手可热的职位,甚至衍生出了大前端工程师的概念。那什么是大前端…

    从前,有一个前端程序员,他无意间得到了一盏神灯。神灯许诺会实现他一个愿望。于是他向神灯许愿,希望有生…

    当时,我为当地的一家小公司构建了一个 WordPress 网站,时薪是25美元。开发软件是我的业余爱…

    先给前端工程师的工作下个一句话定义:运用前端技术,实现体验的良好传达。如果在前面加上 Web,那么是…

    大公司也是从小公司一步步走过来的,而大公司之所以与小公司不同,不在于基础的技术体系不同,而是当数据量…

    如今的社会,随着时代的发展,出现了很多职业,像电子类,计算机类的专业,出现了各种各样的工程师,有算法…

    我们正处在科技高速发展的时代,如今互联网已经与我们的生活息息相关,我们每天在互联网产生大量的数据,这…

    大数据的技术是一个技术群落,想全部学习短期内是不现实的,那么我们怎么样科学的有逻辑有规划的来学习,怎…

    很多小伙伴觉得学习一个新的技术很难,要想做出改变并非难事,你缺少的只是一个计划。学习大数据更是如此,…

    嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有μcos,vxworks,linux,android等。当然,对于嵌入式或单片机工…

    2017年底,我在设计院从事桥梁设计工作,对职业发展有了新的想法,决定从土木工程转行到人工智能领域。…

    我们都知道,大数据现在常火热的,基本上是人尽皆知,很多人也都非常想加入这个行业,成为一名优秀合格…

    大数据工程师用阿里巴巴集团研究员薛贵荣的话来说,就是一群“玩数据”的人,玩出大数据的商业价值,让数据…

    数据分析师指的是不同行业中,专门从事行业数据搜集、整理、分析,并依据数据做出行业研究、评估和预测的专…

    互联网行业是一个高速运转的行业,我们这个时代可以说是一个互联网的时代,不知不觉,你会发现,一切行业和…

    针对目前互联网行业的大而言,程序员的日子并不是太好过,不管是在找工作的,还是在职场上打拼多年的,…

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性…

    随着互联网事业的蓬勃发展,编程语言越来越火爆。Java编程工程师收入高、业内需求量大,备受人们青睐。…

    Java自1995年问世以来,因其卓越的通用性、高效性、平台移植性 和安全性等特性,成为全球范围内应…

    每年都会有大批的大学生求职,这是市场就业的一种严峻,大学生只有做好职业生涯规划,才能有目标地去学…

    临近毕业,学生都在找工作,而一般单位对于JAVA工程师要求还是比较高的,起码懂编程语言。今天,小编就…

    在社会分工的背景下,软件行业的工程师群体被划分成了开发、测试、产品等诸多岗位,以协作的方式共同完成价…

    监理这一行业,从1988年正式推行,已成为工程建设不可缺少的责任主体之一,为国家各项工程建设的质量控…

    这个浮躁的时代,巫毒僵尸我们身边被太多各色新闻所包围。比如企业裁员这种消息比比皆是,其中还不乏行业巨头,有人…

    用阿里巴巴集团研究员薛贵荣的话来说,大数据工程师就是一群“玩数据”的人,玩出数据的商业价值,让数据变…

    一直以来互联网行业一直都是高薪的代言词,其中程序员又是工资最高的一职业,那么大家一直想很问问,请问前…

    本资料为资深电源工程师整理的电源学习进阶资料,细心划分了入门篇、终极篇和高级篇,是一套价值极高的参考学习资料,方便每个阶…

    本期内容是接上期“工程师告诉你做PCB设计(上篇)”,“工程师告诉你做PCB设计(上篇)” ,如果您错过了前面内容可以点击…

    芯片无处不在,手机、电脑、空调、洗衣机、冰箱、由器等等都需要芯片。 兔爸在芯片行业做模拟工程师,一做14年。他的第一句线

    5G时代是一个大融合时代,多种无线接入技术融合,固网、移动网融合,IT和CT融合,人联网和物联网融合,互联之下带来的…

    展开全文
  • 基于攻击图模型的多目标网络安全评估技术研究 基于协同的域间路由路径 基于Cookie劫持的Deep-Web用户数据安全性分析 基于HTTP会话过程跟踪的网页挂马攻击检测方法 基于Twitter控制的移动僵尸网络 数据泄密新挑战 ...
  • 活动的目的是调查了解网民对网络安全内涵与范畴的认知情况,进一步唤醒网民的网络安全意识。 调查了解网民对当前...基于调查数据的分析结果对政府管理部门和互联网企业如何进一步做好网络安全管理工作提出对策与建议
  • 如何做好办公室计算机网络安全工作.pdf
  • 试论如何做好计算机网络安全维护方式.pdf
  • 浅谈如何做好医院网络安全管理.pdf
  • 网络安全的PPT(防火墙原理与部署) “亚信科技(中国)有限公司,亚信学院”
  • 因势利导,做好青少年网络安全教育.pdf
  • 如何做好局域网网络安全与硬件维护工作.pdf
  • 截至20190309,已发布并现行的网络安全国家标准清单。来源为全国信安标委。要做好信息安全的工作,首先要寻找和熟悉相关的标准,在标准要求的基础框架上来更好地完成自己的工作。标准要求只是基础规范,个性化的要求...
  • 如何做好融媒体中心网络安全防护.pdf
  • 之前接触了不少硬件厂家及防病毒方面的专家,其实病毒并不可怕,可怕的是你没有做好预防工作,例如数据备份,应用备份,异地备份等策略。针对病毒问题整理总结了几点,希望对中小型企业网络安全提供支持和帮助。
  • 前端网络安全防范详解

    千次阅读 2019-01-22 20:35:27
    XSS(Cross Site Scripting)攻击全称跨站脚本攻击是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到...

    借鉴了很多文章,参考很多资料
    浅谈CSRF

    XSS

    涉及的面试题 什么是XSS攻击?如何预防XSS攻击

    1 基础概念

    XSS(Cross Site Scripting)攻击全称跨站脚本攻击是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。[百度百科]

    XSS指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。
    从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

    XSS攻击的危害包括:

    1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

    2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

    3、盗窃企业重要的具有商业价值的资料

    4、非法转账

    5、强制发送电子邮件

    6、网站挂马

    7、控制受害者机器向其它网站发起攻击

    2 原因解析

    主要原因:

    过于信任客户端提交的数据!

    解决办法:

    不信任客户端提交的数据,只要是客户端提交的数据就应该先进行相应的过滤处理后方可进行下一步的操作.

    进一步分析:

    客户端提交的数据本身就是应用所需的,但是恶心攻击者利用网站对客户端提提交数据的信任,在数据中插入一些符号以及JavaScript代码,那么这些数据就会成为应用代码中给的一部分了,那么攻击者就可以肆无忌惮的展开攻击

    因此我们绝对不可信任任何客户端提交的数据

    3 类型

    持久性(存储型)和非持久性(反射型)

    持久型

    持久型也就是攻击的代码被写入数据库中,这个攻击危害性很大,如果网站访问量很大的话,就会导致大量正常访问的页面,就会导致大量正常访问页面的用户都受到攻击。

    最典型的就是留言板的XSS攻击

    在这里插入图片描述
    例子中只是简单的alert(),但是脚本如果很复杂盗用用户的cookie(接口请求获取),账号密码(DOM查询获取)等操作
    这种情况如果前后端都没有做防御的话,这段评论就会被存储到数据库中,这样每个打开这个页面的用户都会被攻击

    非持久型

    非持久型XSS是指发送请求时,XSS代码出现在请求的URL中,作为参数提交到服务器,服务器解析并响应。响应结果中包含XSS代码,最后浏览器解析并执行,从概念上可以看出,反射型XSS代码首先是出现在URL中,然后需要服务端解析,最后需要浏览器之后XSS代码才能攻击

    非持久型相比持久性的危害就小了很多,一般通过修改URL参数的方式加入攻击代码,诱导用户访问链接从而进行攻击

    http://www.xxx.com?name=<script>alert(1)</script>
    <div>{{name}}<div>这时候的name就会取值为alert(1)
    

    但是对于这种攻击,Chrome这类大型浏览器就能自动帮用户防御攻击,但是不代表我们就不需要防御此类攻击。
    在这里插入图片描述

    4 防御方法

    通常有两种方式用来防御

    1 转义字符

    首先,对于用户的输入应该是永远不信任的,最普遍的做法就是转义输入输出的内容,对于括号,尖括号,斜杠进行转义

    function escape(str) {
      str = str.replace(/&/g, '&amp;')
      str = str.replace(/</g, '&lt;')
      str = str.replace(/>/g, '&gt;')
      str = str.replace(/"/g, '&quto;')
      str = str.replace(/'/g, '&#39;')
      str = str.replace(/`/g, '&#96;')
      str = str.replace(/\//g, '&#x2F;')
      return str
    }
    

    通过转义可以将攻击代码 变成

    // -> &lt;script&gt;alert(1)&lt;&#x2F;script&gt;
    escape('<script>alert(1)</script>')
    

    但是对于显示富文本来说,显然不能通过上面的办法来转义所有字符,因为这样会把需要的格式也过滤掉。对于这种情况,通常采用白名单过滤的办法,当然也可以通过黑名单过滤,但是考虑到需要过滤的标签和标签属性实在太多,更加推荐使用白名单的方式。

    const xss = require('xss')
    let html = xss('<h1 id="title">XSS Demo</h1><script>alert("xss");</script>')
    // -> <h1>XSS Demo</h1>&lt;script&gt;alert("xss");&lt;/script&gt;
    console.log(html)
    

    以上示例使用了 js-xss 来实现,可以看到在输出中保留了 h1 标签且过滤了 script 标签。

    2 CSP

    内容安全策略 (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段

    CSP 的主要目标是减少和报告 XSS 攻击 ,XSS 攻击利用了浏览器对于从服务器所获取的内容的信任。恶意脚本在受害者的浏览器中得以运行,因为浏览器信任其内容来源,即使有的时候这些脚本并非来自于它本该来的地方。

    CSP通过指定有效域——即浏览器认可的可执行脚本的有效来源——使服务器管理者有能力减少或消除XSS攻击所依赖的载体。一个CSP兼容的浏览器将会仅执行从白名单域获取到的脚本文件,忽略所有的其他脚本 (包括内联脚本和HTML的事件处理属性)。

    作为一种终极防护形式,始终不允许执行脚本的站点可以选择全面禁止脚本执行

    CSP本质上就是建立白名单,开发者明确告诉浏览器哪些外部资源可以进行加载和执行,我们只需要配置规则,如何拦截是由浏览器自己实现的,我们可以通过这种方式来尽量减少XSS攻击
    开启CSP的方式(如果使用CSP)

    1 你可以使用 Content-Security-Policy HTTP头部 来指定你的策略,像这样:

    设置HTTP Header中的Content-Security-Policy: policy

    2 设置meta标签的方式

    meta http-equiv=“Content-Security-Policy” content=“default-src ‘self’; img-src https://*; child-src ‘none’;”>

    常见用例(设置HTTP Header来举例)

    • 一个网站管理者想要所有内容均来自站点的同一个源 (不包括其子域名) 只允许加载本站资源

    Content-Security-Policy: default-src ‘self’

    • 一个网站管理者允许内容来自信任的域名及其子域名 (域名不必须与CSP设置所在的域名相同)

    Content-Security-Policy: default-src ‘self’ *.trusted.com

    • 一个网站管理者允许网页应用的用户在他们自己的内容中包含来自任何源的图片, 但是限制音频或视频需从信任的资源提供者(获得),所有脚本必须从特定主机服务器获取可信的代码.

    Content-Security-Policy: default-src ‘self’; img-src *; media-src media1.com media2.com; script-src userscripts.example.com

    • 只允许加载HTTPS协议图片

    Content-Security-Policy: img-src https://*

    • 允许加载任何来源框架

    Content-Security-Policy: child-src ‘none’

    对于这种方式来说,这要开发者配置了正确的规则,那么即使网站存在漏洞,攻击者也不能执行它的攻击代码,而且CSP的兼容性不错.

    CSRF

    面试题:什么是CSRF攻击?如何防范CSRF攻击

    1 基本概念

    CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

    2 原理

    原理就是攻击者构造出一个后端请求地址,诱导用户点击或者通过某些途径自动发起请求。如果用户是在登录状态下的话,后端就以为是用户在操作,从而进行相应的逻辑

    也就是完成一次CSRF攻击,受害者必须依次完成两个步骤:
    1 登录受信任的网站,并在本地生成Cookie
    2 在不登出信任网站的情况下,访问危险网站

    你也许有疑问:如果我不满足以上两个条件中的一个,我就不会收到CSRF攻击。
    的确如此,但是你不能保证以下情况的发生:
    1 你不能保证你登录了一个网站后,不再打开一个tab页面并访问其他页面
    2 你不能保证你关闭浏览器后,你的本地Cookie立刻过期,你的上次会话已经结束.(事实上,关闭浏览器不能结束一个会话,)

    3 危害(CSRF可以做什么)

    攻击者盗用了你身份,以你的名义发送恶意请求,CSRF能够做的事情:以你的名义发送邮件,盗取你的账号甚至是购买商品,虚拟货币的转账,个人隐私泄露和财产安全
    举个例子:

    示例一

    有一个小小的东西叫cookie大家应该知道,一般用来处理登录等场景,目的是让服务端知道谁发出的这次请求。如果你请求了接口进行登录,服务端验证通过后会在响应头加入Set-Cookie字段,然后下次再发请求的时候,浏览器会自动将cookie附加在HTTP请求的头字段Cookie中,服务端就能知道这个用户已经登录过了。知道这个之后,我们来看场景:
    1.你准备去清空你的购物车,于是打开了买买买网站www.maimaimai.com,然后登录成功,一看,购物车东西这么少,不行,还得买多点。
    2.你在看有什么东西买的过程中,你的好基友发给你一个链接www.nidongde.com,一脸yin笑地跟你说:“你懂的”,你毫不犹豫打开了。
    3.你饶有兴致地浏览着www.nidongde.com,谁知这个网站暗地里做了些不可描述的事情!由于没有同源策略的限制,它向www.maimaimai.com发起了请求!聪明的你一定想到上面的话“服务端验证通过后会在响应头加入Set-Cookie字段,然后下次再发请求的时候,浏览器会自动将cookie附加在HTTP请求的头字段Cookie中”,这样一来,这个不法网站就相当于登录了你的账号,可以为所欲为了!如果这不是一个买买买账号,而是你的银行账号,那……
    这就是传说中的CSRF攻击。

    示例二

    银行网站A,它以GET请求来完成银行转账的操作,如:http://www.mybank.com/Transfer.php?toBankId=11&money=1000

    危险网站B,它里面有一段HTML的代码如下:

      <img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>
    

    首先,你登录了银行网站A,然后访问危险网站B,噢,这时你会发现你的银行账户少了1000块…

    为什么会这样呢?原因是银行网站A违反了HTTP规范,使用GET请求更新资源。在访问危险网站B的之前,你已经登录了银行网站A,而B中的以GET的方式请求第三方资源(这里的第三方就是指银行网站了,原本这是一个合法的请求,但这里被不法分子利用了),所以你的浏览器会带上你的银行网站A的Cookie发出Get请求,去获取资源“http://www.mybank.com/Transfer.php?toBankId=11&money=1000” ,结果银行网站服务器收到请求后,认为这是一个更新资源操作(转账操作),所以就立刻进行转账操作…

    示例三

    为了杜绝上面的问题,银行决定改用POST请求完成转账操作。

    银行网站A的WEB表单如下:

     <form action="Transfer.php" method="POST">
        <p>ToBankId: <input type="text" name="toBankId" /></p>
        <p>Money: <input type="text" name="money" /></p>
        <p><input type="submit" value="Transfer" /></p>
      </form>
    

    后台处理页面Transfer.php如下:

     <?php
        session_start();
        if (isset($_REQUEST['toBankId'] && isset($_REQUEST['money']))
        {
            buy_stocks($_REQUEST['toBankId'], $_REQUEST['money']);
        }
      ?>
    

    危险网站B,仍然只是包含那句HTML代码:

    <img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>
    

    和示例二中的操作一样,你首先登录了银行网站A,然后访问危险网站B,结果…和示例1一样,你再次没了1000块~T_T,这次事故的原因是:银行后台使用了 R E Q U E S T 去 获 取 请 求 的 数 据 , 而 _REQUEST去获取请求的数据,而 REQUEST_REQUEST既可以获取GET请求的数据,也可以获取POST请求的数据,这就造成了在后台处理程序无法区分这到底是GET请求的数据还是POST请求的数据。在PHP中,可以使用 G E T 和 _GET和 GET_POST分别获取GET请求和POST请求的数据。在JAVA中,用于获取请求数据request一样存在不能区分GET请求数据和POST数据的问题。

    示例四

    经过前面2个惨痛的教训,银行决定把获取请求数据的方法也改了,改用$_POST,只获取POST请求的数据,后台处理页面Transfer.php代码如下:

    <?php
        session_start();
        if (isset($_POST['toBankId'] && isset($_POST['money']))
        {
            buy_stocks($_POST['toBankId'], $_POST['money']);
        }
      ?>
    
    

    然而,危险网站B与时俱进,它改了一下代码:

    <html>
      <head>
        <script type="text/javascript">
          function steal()
          {
                   iframe = document.frames["steal"];
                   iframe.document.Submit("transfer");
          }
        </script>
      </head>
    
      <body "steal()">
        <iframe name="steal" display="none">
          <form method="POST" name="transfer" action="http://www.myBank.com/Transfer.php">
            <input type="hidden" name="toBankId" value="11">
            <input type="hidden" name="money" value="1000">
          </form>
        </iframe>
      </body>
    </html>
    

    如果用户仍是继续上面的操作,很不幸,结果将会是再次不见1000块…因为这里危险网站B暗地里发送了POST请求到银行!

    总结一下上面3个例子,CSRF主要的攻击模式基本上是以上的3种,其中以第1,2种最为严重,因为触发条件很简单,一个就可以了,而第3种比较麻烦,需要使用JavaScript,所以使用的机会会比前面的少很多,但无论是哪种情况,只要触发了CSRF攻击,后果都有可能很严重。

    理解上面的3种攻击模式,其实可以看出,CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的!

    4 如何防御

    防范CSRF攻击可以遵循以下几种规则:
    1. GET请求不对数据进行修改
    2. 不让第三方网站访问到Cookie
    3. 阻止第三方网站请求接口
    4. 请求时附带验证信息,比如验证码或者Token
    SameSite

    可以对Cookie设置SameSite属性,该属性表示Cookie不随着跨域请求发送,可以很大程度上减少CSRF的攻击,但是该属性目前并不是所有浏览器都兼容

    验证 Referer HTTP头部

    对于需要防范CSRF的请求,我们可以通过验证Referer来判断请求是否为第三方网站发起的.

    Token服务端核对令牌

    服务器下发一个服务端核对令牌随机Token,每次发送请求时将Token携带上,服务器验证Token是否有效

    验证码

    这个方案的思路是:每次的用户提交都需要用户在表单中填写一个图片上的随机字符串,厄…这个方案可以完全解决CSRF,但个人觉得在易用性方面似乎不是太好,还有听闻是验证码图片的使用涉及了一个被称为MHTML的Bug,可能在某些版本的微软IE中受影响。

    点击劫持

    设计面试题:什么是点击劫持?如何防范点击劫持

    1 基本概念

    点击劫持(ClickJacking)是一种视觉上的欺骗手段。大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义;

    2 实例

    二种 iframe 和图片覆盖

    ifrmae
    <!DOCTYPE HTML>
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <head>
    <title>点击劫持</title>
    <style>
         html,body,iframe{
             display: block;
              height: 100%;
              width: 100%;
              margin: 0;
              padding: 0;
              border:none;
         }
         iframe{
              opacity:0;
              filter:alpha(opacity=0);
              position:absolute;
              z-index:2;
         }
         button{
              position:absolute;
              top: 315px;
              left: 462px;
              z-index: 1;
              width: 72px;
              height: 26px;
         }
    </style>
    </head>
         <body>
              那些不能说的秘密
              <button>查看详情</button>
              <iframe src="http://tieba.baidu.com/f?kw=%C3%C0%C5%AE"></iframe>
         </body>
    </html>
    

    PS:页面看起来就这样,当然真正攻击的页面会精致些,不像这么简陋。

    1. 网址传播出去后,用户手贱点击了查看详情后,其实就会点到关注按钮。

    PS:可以把iframe透明设为0.3看下实际点到的东西。
    在这里插入图片描述
    在这里插入图片描述
    这样贴吧就多了一个粉丝了

    图片覆盖

    图片覆盖攻击(Cross Site Image Overlaying),攻击者使用一张或多张图片,利用图片的style或者能够控制的CSS,将图片覆盖在网页上,形成点击劫持。当然图片本身所带的信息可能就带有欺骗的含义,这样不需要用户点击,也能达到欺骗的目的。

    PS:这种攻击很容易出现在网站本身的页面

    在可以输入HTML内容的地方加上一张图片,只不过将图片覆盖在指定的位置。

    <a href="http://tieba.baidu.com/f?kw=%C3%C0%C5%AE">
         <img src="XXXXXX" style="position:absolute;top:90px;left:320px;" />
    </a>
    
    解决办法

    在防御图片覆盖攻击时,需要检查用户提交的HTML代码中,img标签的style属性是否可能导致浮出。

    3 如何防御

    1 X-FRAME_OPRIONS

    X-FRAME_OPRIONS (X-Frame-Options)这个可以说是为了解决ClickJacking而生的
    是一个HTTP响应头,在现代的浏览器中有一个较好的支持。它就是为了防御用iframe嵌套的点击劫持攻击
    该响应头有三个值可选,分别是

    • DENY 表示页面不允许通过iframe的方式展示,(浏览器会拒绝当前页面加载的任何iframe)
    • SAMEORIGIN 表示页面可以在相同域名下通过iframe的方式展示,(frame页面的地址只能为同源域名下的页面)
    • ALLOW-FROM 表示页面可以在指定来源的iframe中展示
    具体的设置方法:
    Apache配置:
    Header always append X-Frame-Options SAMEORIGIN
    
    nginx配置:
    add_header X-Frame-Options SAMEORIGIN;
    
    IIS配置:
    <system.webServer>
        ...
        <httpProtocol>
            <customHeaders>
                <add name="X-Frame-Options" value="SAMEORIGIN" />
            </customHeaders>
        </httpProtocol>
        ...
    </system.webServer>
    

    JS防御

    对于某些远古浏览器来说,并不能支持上面的这种方式,那我们只有通过JS的方式来防御点击劫持

    <head>
      <style id="click-jack">
        html {
          display: none !important;
        }
      </style>
    </head>
    <body>
      <script>
        if (self == top) {
          var style = document.getElementById('click-jack')
          document.body.removeChild(style)
        } else {
          top.location = self.location
        }
      </script>
    </body>
    

    4 总结

    点击劫持算是一种很多人不大关注的攻击,他需要诱使用户与页面进行交互,实施的攻击成本更高。另外开发者可能会觉得是用户犯蠢,不重视这种攻击方式。

    中间人攻击

    涉及面试题:什么是中间人攻击?如何防范中间人攻击

    中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。

    中间人攻击是攻击方同时与服务端和客户端建立起了连接,并让对方认为连接是安全的,但是实际上整个通信过程都被攻击者控制了。攻击者不仅能获得双方的通信信息,还能修改通信信息。

    通常来说不建议使用公共的 Wi-Fi,因为很可能就会发生中间人攻击的情况。如果你在通信的过程中涉及到了某些敏感信息,就完全暴露给攻击方了。

    当然防御中间人攻击其实并不难,只需要增加一个安全通道来传输信息。HTTPS 就可以用来防御中间人攻击,但是并不是说使用了 HTTPS 就可以高枕无忧了,因为如果你没有完全关闭 HTTP 访问的话,攻击方可以通过某些方式将 HTTPS 降级为 HTTP 从而实现中间人攻击。

    展开全文
  • 做好计算机网络安全防护技术的相关措施分析.pdf
  • 做好办公网络安全保密工作的认识与思考.pdf
  • 高职院校做好计算机网络安全管理工作的措施.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,838
精华内容 38,735
热门标签
关键字:

如何做好网络安全