Web安全基础篇 | 您所在的位置:网站首页 › web安全入门知识 › Web安全基础篇 |
随着互联网的高速发展,基于web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在web平台上,web业务的迅速发展也引起黑客们的强烈关注,接踵而来的就是web安全威胁的凸显。 黑客利用网站操作系统的漏洞和web服务程序的SQL注入漏洞等得到web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。 这也使得越来越多的用户关注应用层的安全问题,对web应用安全的关注度也逐渐升温。 一、Web基础知识 1.http协议 超文本传输协议是互联网上应用最广泛的一种网络协议。所有www文件都必须遵守的一个标准,是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范,简单点说就是一种固定的通讯规则。 2.网络三种架构及特点网络应用程序架构包括三种: 客户机/服务器结构(C/S)浏览器/服务器结构(B/S)P2P结构C/S架构 需要安装特定的客户端程序 针对不同平台开发不同版本 升级应用需重新安装 能够直接使用客户端硬件资源 B/S架构 客户端无需安装,有Web浏览器即可 跨平台能力 无缝升级,客户端免维护 P2P架构 点到点系统,不需要服务器中转,客户端与客户端彼此直接通信 3. Web应用的特点应用是图形化和易于导航的,能够在页面显示色彩丰富的图形和文本。 应用与平台无关,可以使用任何平台通过internet访问。 Web应用是分布式的,不同的信息可以放在不同的站点上。 Web应用是动态的,web站点的信息包含站点本身的信息,信息的提供者也可以对网站的信息进行更新。 4.URL组成Protocol:指定使用的传输协议 hostname:主机名 port:端口号 path:路径 parameters:参数 query:可选,用于给动态网页传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。 fragment:信息片段,字符串,用于指定网络资源中的片断。 5.Http协议的性质HTTP是简单的 HTTP是可扩展的 HTTP是无状态,有会话的 HTTP是可靠的 6.请求响应报文的格式HTTP请求报文分为三部分 请求行 请求方法、URL、协议版本等(消息报头) 请求头 由一个头域名、冒号和值域组成 请求体 响应 响应行 协议和状态码 状态码分类 响应头 响应体 7.请求方法GET POST OPTIONS HEAD PUT DELETE TRACE CONNECT 8.http缓存缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。这样带来的好处有:缓解服务器端压力,提升性能(获取资源的耗时更短了)。 9.缓存新鲜度如何判断Web服务器通过2种方式来判断浏览器缓存是否是最新的 1、 Last-Modified和If-Modified-Since 2、 ETags和If-None-Match 10.Http重定向原理以及状态码在 HTTP 协议中,重定向操作由服务器通过发送特殊的响应(即 redirects)而触发。HTTP 协议的重定向响应的状态码为 3xx 。浏览器在接收到重定向响应的时候,会采用该响应提供的新的 URL ,并立即进行加载;大多数情况下,除了会有一小部分性能损失之外,重定向操作对于用户来说是不可见的。 1XX 指示信息 2XX 请求发送成功 3XX 重定向 4XX 客户端发送的请求有语法错误 5XX 服务器错误 11.HTTPS协议 数字证书HTTPS协议是以安全为目标的HTTP通道,其实就是HTTP的升级版本 数字证书:是由权威的CA(Certificate Authority)机构给服务端进行颁发,CA机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。 12.HTTPS协议与HTTP协议的区别?HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。 HTTP采用80端口连接,而HTTPS则是443端口。 HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费,也有些web容器提供,如TOMCAT。HTTP协议不需要。 13. Web客户端的作用用来发送HTTP请求 接收服务器响应 把服务器返回的HTML代码渲染成界面Web客户端来主要是浏览器。 14.Web服务端作用监听客户请求 处理客户端的简单请求(一般静态页面) 客户端与数据库之间的屏障 处理复杂系统的业务和数据库的访问 15.集群环境的作用集群环境:服务器集群是指将很多服务器集中起来去进行同一种服务。集群可以利用多个计算机并行计算从而获得很高的计算速度(负载均衡),也可以用多个计算机做备份,从而使得实现故障转移。 16.什么是Cookie,Cookie的作用。Cookie: Cookie实际上是一小段的文本信息(key-value格式)。 客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。 17.Cookie 的类型会话Cookie:保存在内存中,由浏览器维护,浏览器关闭后消失。 持久性Cookie:保存在硬盘里,有过期时间,用户手动清理或到了过期时间,持久性Cookie会被删除。 Expires属性:Cookie中的maxAge用来表示该属性,单位为秒。 18.session的作用和原理在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。 Session的原理 用户第一次请求服务器时,服务器端会生成一个sessionId 服务器端将生成的sessionId返回给客户端,通过set-cookie 客户端收到sessionId会将它保存在Cookie中,当客户端再次访问服务端时会带上这个sessionId 当服务端再次接收到来自客户端的请求时,会先去检查是否存在sessionId,不存在就新建一个sessionId重复1,2的流程,如果存在就去遍历服务端的session文件,找到与这个sessionId相对应的文件,文件中的键值便是sessionId,值为当前用户的一些信息 此后的请求都会交换这个 sessionId ,进行有状态的会话 Session的两种实现方式(也就是传递方式) 通过Cookie实现 通过URL重写来实现 Session 与Cookie的区别 Cookie的数据保存在客户端浏览器,Session保存在服务器 服务端保存状态机制需要在客户端做标记,所以Session可能借助Cookie机制 Cookie通常用于客户端保存用户的登录状态 Session是可以存取任何类型的数据的,但是Cookie只能存入字符串 Cookie存储数据大小有限制,Session没有限制 19. Token的原理用户通过用户名和密码发送请求。 程序验证。 程序返回一个签名的token给客户端。 客户端储存token,并且每次用于每次发送请求。 服务端验证token并返回数据。 20.数据的编码方式url编码是一种浏览器用来打包表单输入的格式。 Base64就是一种用64个ASCII字符来表示任意二进制数据的方法。 MD5 为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。目前不可逆解。 21.Web测试的类型界面测试:导航测试、图形测试、内容测试、整体界面测试、界面控件测试 功能测试: 性能测试 兼容性测试 安全性测试等 22.H5优点 跨平台优势,H5页面在各个平台都适用,且可以在网页上直接进行调试和修改,开发和维护的成本较低,开发周期较短。强化了Web网页的表现性能。除了可描绘二维图形外,还准备了用于播放视频和音频的标签。追加了本地数据库等Web应用的功能。H5营销的数据统计方便 23. APP测试/Web测试/H5测试的区别相同之处 针对同一个系统功能的测试,三端所测的业务流程是一样的 一般情况下手机端和PC端都对应一套后台服务,也有一些功能,比如PC与手机端展示不一致,或者有什么特殊处理,这样情况下后台会写两套不同的接口来处理对应的业务需求不同之处 测试平台(容器)不同 兼容性测试不同 系统架构不一样 发布流程不同 APP还有一些专项测试 24.移动端常用的三种开发模式主要有原生APP(Native App)、混合APP(Hybrid App)、WEB APP三种. 二、探索式测试 传递测试法:看数据测一送一: 同时执行两种同样的操作。遍历测试法: 测试弹窗,测试所有弹窗。破坏测试法:比如网络或者内存。(前四种主要是全局的) 三、敏捷测试方法 3.1 瀑布模型和敏捷模型比较顺序(瀑布模型):简单,分阶段,阶段间存在因果关系,不支持用户参与,要求预先确定需求。 使用范围:需求易于完善定义且不易变更的软件系统。 敏捷(迭代):不要求需求预先完备定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求的变化。 使用范围:需求复杂、难以确定、动态变化的软件系统 3.2 Scrum框架包括3个角色、3个工件、5个事件、5个价值3个角色:产品负责人 ScrumMaster 开发团队 3个工件 产品Backlog SprintBacklog 产品增量 5个事件 Sprint(Sprint本身是一个事件,包括了如下4个事件) Sprint计划会议 每日站会 Sprint评审会议 Sprint回顾会议 5个价值 承诺 – 愿意对目标做出承诺 专注– 把你的心思和能力都用到你承诺的工作上去 开放– Scrum 把项目中的一切开放给每个人看 尊重– 每个人都有他独特的背景和经验 勇气– 有勇气做出承诺,履行承诺,接受别人的尊重 3.3 用户故事包含三个要素角色(who) :谁要使用这个 活动(what) :要完成什么活动 价值(value) :为什么要这么做,这么做能带来什么价值 3.4 用户故事的特性独立的 可讨论的 有价值的 可估算的 小的 可测试的 3.5用户故事的优先级1.Must 2.Should 3.Could 4.Would Not 3.6 看板的作用明确的阶段及准入准则。 每个阶段的任务数量,控制在制品 |
CopyRight 2018-2019 实验室设备网 版权所有 |