关灯
开启左侧

软件测试工程师必须要掌握的三大常识

[复制链接]
安仔 发表于 2018-11-29 13:11:30 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
软件测试工程师是千万软件用户的守护者、软件产品质量的把关者。
也就是说,一款软件产品的安全性、用户体验等等,都需要软件测试工程师来进行专业的测评。今天,安妹先来给大家介绍一下,测试工程师在对web应用系统的安全性进行测试时,必须要掌握的三个常识:

一、web应用系统中的安全问题是什么原因导致的?
1、复杂的web应用系统代码量大、开发人员多、出现疏忽在所难免。 
2、系统不断升级、开发人员频繁变动,导致代码不同。  
3、多个web系统共同在同一台服务器上进行运行  
4、开发人员没有经过专业的安全编码培训,或者该公司也没有统一安全编码的规范。  
5、测试人员经验不足或者未经过专业安全评估测试就将系统上线。
6、过分信任用户,不针对用户的输入进行验证。
举个例子:
(1)永远不要信任用户的输入!必须对用户的输入进行反复校验 
(2)数字型的输入必须是合法有效的数字  
(3)字符型的输入,要对编码符号要进行特殊处理  
(4)要验证所有的输入点,包括Get,Post,Cookie以及其他HTTP头
二、这十大安全问题,最常见
1、SQL注入  
拼接的SQL字符串改变设计者原来的意图,执行了如泄露、改变数据等操作,甚至控制数据库服务器, SQL Injection与Command Injection等攻击包括在内。

2、跨站脚本攻击(简称CSS或XSS)  
跨站脚本(Cross - SiteScripting)是指远程web页面的Html代码可以插入具有恶意目的数据,当浏览器下载该页面,嵌入其中的恶意脚本将被解释执行,从而对客户端用户造成伤害。

3、没有限制URL访问 
系统已经对URL的访问做了限制,但这种限制却实际并没有生效。攻击者能够很容易伪造请求,直接访问未被授权的页面.。

4、越权访问  
用户对系统的某个模块或功能没有权限,通过拼接URL或Cookie欺骗来访问该模块或功能。

5、泄露配置信息 
服务器返回的提示或错误信息中出现服务器版本信息泄露、程序出错泄露物理路径、程序查询出错返回SQL语句、过于详细的用户验证返回信息。

6、不安全的加密存储 
常见的问题是不安全的密钥生成和储存、不轮换密钥和使用弱算法。使用弱的或者不带Salt的哈希算法来保护密码也很普遍。外部攻击者因访问的局限性很难探测这种漏洞。他们须先破解其他东西以获得需要的访问。

7、传输层保护不足 
在身份验证过程中没有使用SSL / TLS,因此暴露传输数据和会话ID,被攻击者截听,或使用过期或者配置不正确的证书。

8、登录信息提示 
用户登录提示信息会给攻击者一些有用的信息,作为程序的开发人员应该做到对登录提示信息的模糊化,以防攻击者利用登录得知用户是否存在。

9、重复提交请求 
程序员在代码中没有对重复提交请求做限制,这样就会出现订单被多次下单,帖子被重复发布。恶意攻击者可能利用此漏洞对网站进行批量灌水,致使网站瘫痪。

10、网页脚本错误
访问者所使用的浏览器不能完全支持页面里的脚本,形成“脚本错误”,也就是网站中的脚本没有被成功执行。遇到“脚本错误”时一般会弹出一个非常难看的脚本运行错误警告窗口。


三、在测试过程中,需要注意哪些问题?
1、永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式或限制长度;对单引号和双"-"进行转换等。

2、永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取。

3、永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。

4、不要把机密信息直接存放,加密或者Hash掉密码和敏感的信息。

5、应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

6、SQL注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用SQL注入检测工具jsky、MDCSOFT SCAN等。采用MDCSOFT - IPS可以有效的防御SQL注入、XSS攻击等。      



 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


6关注

17粉丝

160帖子

排行榜
关闭

站长推荐上一条 /1 下一条

官方微信

全国服务热线:

400-0708-360

公司地址:国家西部信息安全产业基地(成都市高新区云华路333号)

邮编:610000    Email:2908503813@qq.com

Copyright   ©2015-2016  EOIT论坛Powered by©Discuz!    ( 蜀ICP备11000634号-7 )