前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件安全性测试(连载2)

软件安全性测试(连载2)

作者头像
顾翔
发布2019-12-12 11:44:37
6230
发布2019-12-12 11:44:37
举报
文章被收录于专栏:啄木鸟软件测试

1.5软件安全三要素

1. 机密性(Confidentiality)

机密性要求保护数据内容不能泄露,加密是实现机密性要求的常见手段。加密技术的过程如下。

1)发送方通过加密函数和加密密钥对数据进行加密处理,形成密文。

2)发送方将加密好的密文发送给接收方。

3)接收方接收发送方发送过来的密文。

4)接收方接收过来的密文通过解密函数和解密密钥进行解密操作,还原数据。

如果一个加密算法在第3)步没有合适的算法,这个加密过程是不可逆的,否则是可逆的。MD5是常用的不可逆的加密算法。但是并不可以说不可逆的算法是不可以破解的,比如MD5算法可以通过“彩虹表”软件来进行破解。

2. 完整性(Integrity)

完整性则要求保护数据内容是完整、没有被篡改的。常见的保证一致性的技术手段是数字签名。公元1799年2月7日,康熙皇帝驾崩,留下传位诏书“传位十四太子”,大家都知道,在皇宫里面太子争权夺位在历朝历代是都存在的,雍正为列皇子第四位,为了达到皇位,派人把诏书改为“传位于四太子”。对于这个故事是否真假已经无从考据了,但是这正反应出来软件安全中的完整性。如果当时康熙皇帝可以把诏书设置为只读模式,估计就没这事情了。

3. 可用性(Availability)

可用性要求保护资源是“随需而得”。尽管数据进行了加密,数字签名等安全措施,但是正常程序在正常使用的时候,数据必须是可用的。影响可用性的很好例子是DDOS攻击。

1.6 WEB软件安全威胁OWASP Top 10

4 OWASP Top 10与2013软件安全威胁OWASP Top 10对比图

4是2017软件安全威胁OWASP Top 10与2013软件安全威胁OWASPTop 10对比图。2017软件安全威胁OWASP Top 10分别如下。

l A1:2017-注入。

l A2:2017-失效的身份认证。

l A3:2017-敏感数据泄露。

l A4:2017-XML 外部实体(XXE)。

l A5:2017-失效的访问控制。

l A6:2017-安全配置错误。

l A7:2017-跨站脚本(XSS)。

l A8:2017-不安全的反序列化

l A9:2017-使用含有已知漏洞的组件。

l A10:2017-不足的日志记录和监控。

这些知识在本章中都将有所涉及。

1.7同源策略

同源策略中的“源”指不同的主机“HOST”、不同的子域名、不同的端口或不同的协议。程序不可以跨“源”进行调用。比如A“源”的程序不得调用B“源”中的程序。a.com通过以下代码:

<scriptscr=http://b.com/b.js></script>

加载了b.com上的b.js,但是b.js是运行在a.com页面中的,因此相对于当前打开的页面(a.com)来说,b.js的源就应该是a.com而非b.com。1展示了同源的几种不同的情形。

1 同源策略

URL

同源

原因

http://www.3testing.com/dir1/1.html

同源

http://www.3testing.com/dir2/2.html

同源

https://www.3testing.com/dir/1.html

不同源

不同协议

http://www.3testing.com:81/dir/1.html

不同源

不同端口

http://test.3testing.com/dir/1.html

不同源

不同host

l http://www.3testing.com/dir1/1.html与http://www.3testing.com/dir2/2.html是同源的。

l http://www.3testing.com/dir1/1.html与https://www.3testing.com/dir/1.html不同源的原因是协议不同,一个是http协议,另一个是http协议。

l http://www.3testing.com/dir1/1.html与http://www.3testing.com:81/dir/1.html不同源的原因是端口不同,一个是80端口,另一个是81端口。

l http://www.3testing.com/dir1/1.html与http://test.3testing.com/dir/1.html不同源的原因是主机不同,一个是www.3testing.com 主机,另一个是test.3testing.com 主机。

但是src、href属性是支持跨域操作的,比如。

<img src="https://www.mydomain.com/img/tree.gif"></a>

<ahref="http://www.mydomain.com/hello.js">…</a>

<imgsrc="http://www.mydomain.com/hello.js">

<img src="#"onerror="http://www.mydomain.com/hello.js">

1.8 HTTP协议简介

由于本章主要介绍基于WEB的安全测试知识,所以在这里很有必要对HTTP协议进行简单地介绍。

1. HTTP协议包

5是一个HTTP协议包。

5 HTTP协议包

它包括一个起始行、一到多个头域、一个结束头域的空行(CTRL+)以及一个消息实体(根据情况可能不存在)。头域是由一组“域名:域值”组成的值参对,包括“通用头域”“请求头域”“响应头域”和“实体头域”(“请求头域”“响应头域”分别在请求包和响应包中出现)。下面简单介绍一下请求包和响应包。

2. 请求包

请求包分为“POST”“GET”“HEAD”“PUT”“DELETE”“CONNECT”“TRACE”和“OPTIONS”八中类型。其中“POST”与“GET”是经常使用的。6是一个请求包。

6请求包

由于这是一个GET请求,是一个不带Body体的。一般Body体为POST参数和附件。起始行:GET/HTTP/1.1表示基于HTTP 1.1协议的GET请求。

3. 响应包

HTTP的响应代码概要如2所示

2 HTTP响应代码概要表

响应代码

内容

1XX

指示信息---表示接收到请求,继续进程

2XX

成功---表示请求已被成功接收、理解和接受

3XX

重定向---要完成请求必须进行更进一步的操作

4XX

客户端错误---请求有语法错误或者无法实现

5XX

服务器错误---服务器未能实现合法请求

常见的响应代码如下(括号内为响应短语)。

l 200(OK):客户端请求成功。

l 304(No Changed):没有改变。

l 401(Unauthorized):请求未授权,这个状态代码必须和WWW-Authenticate报文域一起使用。

l 400(Bad Request):客户端请求有语法错误,不能被服务器端理解。

l 403(Forbidden):服务器请求被收到,但是拒绝提供服务。

l 404(Not Found):请求资源不在,比如:错误的URL。

l 500(Internal Server Error):服务器内部错误。

l 503(Server Unavailable):服务器当前不能处理客户请求,一段时间后可能恢复正常。

7是一个响应包。

7 响应包

起始行:HTTP/1.1 200 OK表示返回为200(OK为200的响应短语)的基于HTTP/1.1的响应包。消息实体一般为返回的HTTP代码或者JSON代码。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
手游安全测试
手游安全测试(Security Radar,SR)为企业提供私密的安全测试服务,通过主动挖掘游戏业务安全漏洞(如钻石盗刷、服务器宕机、无敌秒杀等40多种漏洞),提前暴露游戏潜在安全风险,提供解决方案及时修复,最大程度降低事后外挂危害与外挂打击成本。该服务为腾讯游戏开放的手游安全漏洞挖掘技术,杜绝游戏外挂损失。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档