随着Intenld的普及,网上购物、网上交易、电予银行等新的信息交易方式走进人们的生活,同时网络安全越来越不容忽视。在这些应用中,通常要使用Web页面来传送一些重要的信息,如信用卡信息、用户资料倍息等,一旦这些信息被黑客捕获,后果将不堪设想。
在Web的安全性测试中,通常需要考虑下列的情形。
· 数据加密:某些数据需要进行信息加密和过滤后才能进行数据传输,例如用户信用卡信息、用户登录密码信息等。此时需要进行相应的其他操作,’如存储到数据库、解密发送到用户电子邮箱或者客户浏览器。目前的加密算法越来越多,越来越复杂,但一般数据加密的过程是可逆的,也就是说能进行加密,同时需要能进行解密。
· 登录:一般的应用站点都会使用登录或者注册后使用的方式,因此,必须对用户 名和匹配的密码进行校验,以阻止非法用户登录。在进行登录测试的时候,需要 考虑输入的密码是否对大小写敏感、是否有长度和条件限制,最多可以尝试多少次登录,哪些页面或者文件需要登录后才能访问/下载等。
· 超时限制:Web应用系统需要有是否超时的限制,当用户长时间不作任何操作的 时候,需要重新学录才能使用其功能。
· coo“e和Session:coolde和Session的安全性也是非常必要的,当一个站点或页 面通过cOOKl ie或者Sess·on存储等安全性信息时,我们也需要对它进行测试。
· SSI。:越来越多的站点使用SSI。安全协议进行传送。SSL是sec面舛Soc’ket Layer (安全套接字协议层)的缩写,是由Netscape首先发表的网络数据安全传输协议。 SSI。是利用公开密钥/私有密钥的加密技术(RSA),在位于HTTP层和TcP层之 间.建立用户与服务器之间的加密通信,确保所传递信息的安全性。SS[,是工作 在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。进入一个SSI.,站点后,可以看到浏览器出 现警告信息,然后地址栏的h却变成https,在做SSL测试的时候,需要确认这些特点.以及是否有时间连接限制等一系列相荚的安全保护。
· 服务器脚本语言:脚本语言足最常见的安全隐患,如有些脚本语言允许访问根目录,经验丰富的黑客可以通过这些缺陷来攻击和使用服务器系统,因此,脚本语言安全性在测试过程中也必须被考虑到。
· 日志文件:在服务器上,要验证服务器的日志是否正常工作,例如cPu的占用率 是否很高、是否有例外的进程占用、所有的事务处理是否被记录等。
· 目录:Web的目录安全是不容忽视的一个因素。如果Web程序或Web服务器的 处理不适当,通过简单的uRL替换和推测,会将整个web目录完全暴露给用户, 这样会造成很大的风险和安全性隐患。我们可以使用一定的解决方式,如在每个目录访问时有indexhtrIl,或者严格设定Web服务器的目录访问权限,将这种隐患降低到最少程度。