五个安全测试步骤来保护应用程序
作者:网络转载 发布时间:[ 2011/10/28 12:00:42 ] 推荐标签:
你可以不必找一个黑客或者解密高手来测试你程序的安全性,也不需要购买一大堆昂贵的黑客工具。但是,你必须有一套处理过程来发现潜在的问题。如果遵从我下面详细介绍的五个处理步骤,你可以轻松发现一般的开发缺陷。而且一旦发现了这些缺陷,可以减轻或消除他们。
步骤一:端口扫描你需要做的第一件事是在客户端和服务器端进行一次端口扫描,找出那些打开但并不需要的通讯端口。各种服务如FTP、NetBIOS、echo、gotd等使用的端口是引起安全问题的典型因素。对于TCP和UDP端口来说,根据经验通常的做法是:关掉任何程序运行所不需要的服务或监听器。
端口扫描被用来检测目标系统上哪些TCP和UDP端口正在监听,即等待连接。大多数的计算机默认地打开了许多这样的端口,黑客和破解者经常花很多时间对它们的目标进行端口扫描来定位监听器,这是他们开始攻击的前奏。一旦这些端口都被鉴别出来,要使用它们也不困难了。
端口扫描工具,通常叫端口扫描器,很容易在Internet上找到。其中很多是基于Linux的。例如Namp、Strobe、Netcat是比较好的一类。我喜欢的基于Linux的端口扫描器是Nump.也有许多基于Microsoft Windows的端口扫描器,其中我喜欢的是Ipswitch的WS Ping ProPack.WS Ping ProPack是一个低开销、多用途的网络问题定位工具,它将许多功能包装成简单易用的形式。
有了端口扫描器后,对全部TCP和UDP端口进行一次完整的检查来确定哪些端口是打开的。将监测到的打开的端口与系统运行所需要用到的端口进行比较,关闭所有没有用到的端口。在Microsoft操作系统中关闭端口经常需要重新配置操作系统的服务或者修改注册表设置。UNIX和Linux系统简单一些:通常只是将配置文件中的某一行注释掉。
步骤二:检查用户帐户接下来,需要将目光转移,看看操作系统、任何数据库以及程序自身,特别注意guest用户帐户、默认账户或者简单密码账户以及不需要的用户ID.之所以需要这样做是因为大多数的默认设置留下了许多漏洞,创建了多余的账户,它们可能会被用来危及系统的安全。这种情况在使用数据库系统如Oracle或Web服务器如Microsoft Internet Information Services (IIS)时特别突出。
我曾经通过使用本不该存在或应被禁止的用户ID和密码登陆进入过许多路由其、数据库和应用程序中。例如,若干年前,在测试一个简单的Web应用程序时,我尝试用Guest 账户ID和空密码登陆进系统。很出乎我的意料,程序很爽快地将Guest作为合法用户并允许我登陆。然后我又试了几个其它的账户,如输入用户ID和密码为空/空或管理员/管理员,结果都成功了。
有了这次经验,我总是在软件安装手册的每一章寻找默认的账号和密码。我建立了一份这些默认账号和密码的列表,以确保能够把找到过的都试试。对于程序本身我也这样做,建立一份由程序员创建的测试用户帐户,也把它们试试。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11