> 文章列表 > 安全测试:配置管理潜在威胁

安全测试:配置管理潜在威胁

安全测试:配置管理潜在威胁

一、配置管理威胁有哪些

  • 明文信息传输漏洞
  • 敏感信息泄露
  • 默认或可猜解用户账户
  • 会话重放攻击测试
  • 验证码缺陷
  • http方法测试

二、明文信息传输和存储漏洞

漏洞描述:

  1. 页面中没有对传输的用户名和密码等敏感信息进行加密后传输。
  2. 用户密码后台存储是否加密。

产生原因:

<1>密码等敏感信息没有经过加密,明文传输。

<2>session信息在URL中被直接明文传输

漏洞危害:明文传输的危害在于所有经过网关的流量都可以被黑客通过嗅探(ARP欺骗)的方式抓取到。

防护建议:

<1>启用SSL机制

<2>对系统内所以涉及到密码等敏感数据传输地方做加密处理,从而在一定的程度上避免这些敏感的数据受到威胁。确保所有登录请求都以加密方式发送到服务器。确保敏感信息,例如:姓名、身份证号码、社会保险号码、信用卡号码、驾照号码、电子邮件地址、电话号码、邮政编码等信息一律以加密方式传给服务器。

<3>确保使用了合适、强大的标准算法和强大的密钥,不要使用md5、base64编码、url编码等易被破解的加密方式,可以添加一个随机salt值做加密处理。并且密钥的管理要到位。

三、敏感信息泄露

漏洞描述: 在前端或通过其他方式可获得系统中间件版本、服务器信息等,造成敏感信息泄露。

产生原因:

<1>系统帮助页面泄露中间件版本网站绝对路径等信息,造成敏感信息泄露

<2>系统信息过于详细,把后台数据库信息,中间件版本信息暴露

漏洞危害:攻击者可以利用收集的敏感信息有针对性的指定计划对系统进行攻击。

项目实例:

<1>系统帮助页面暴露服务器和数据库版本信息等

<2>帮助控件返回json格式的user表所有字段,包括用户名,身份证号,手机等。

<3>tomcat版本泄露,错误信息泄露了包名、开发框架等

<4>tomcat管理目录泄露

<5>tomcat样例目录泄露

测试方法:

<1>通过在http请求的各输入参数中填充各类特殊字符,检查返回页面信息是否包含可利用的敏感信息。

<2>客户端的日志文件/cookie/js文件/配置文件/URL中。

<3>客户端的程序功能中暴露敏感信息如密码。

<4>通信传输中。

<5>数据库中的字段值明文显示,测试数据库中是否有明文保存的用户隐私信息、身份认证信息等。

<6>中间件敏感信息泄露

防护建议:

<1>敏感数据不应该直接在网页里使用<!---->作为注释,因为网页的源代码可查看

<2>不要将敏感数据直接在js中用//或/**/注释,因为JS对用户端而言是明文(检查JS文件)

<3>不要为了增加效率或使用友好性,在未完成身份验证前就将资料下载到用户端

<4>存储敏感数据时应加密

<5>敏感数据如非必要,不要利用隐藏域或cookie传递、交换,建议改用server端的session机制

<6>程序如果发生错误,不要将错误信息直接显示给客户,设置返回特定的报错页面。并将错误信息写到服务端log里,供开发维护人员分析使用

<7>tomcat管理目录及样例目录如不需要,建议删除,example应用可向网站写入有效session,黑客可用于绕过网站验证机制直接登录后台,把Tomcat的默认示例文件、帮助文件、后台管理界面等进行删除,可以有效避免Tomcat应用信息泄露。

<8>修改显示的tomcat版本信息,隐藏真实的版本。

进入tomcat的lib目录找到catalina.jar文件,unzip catalina.jar之后会多出META-INF、org两个文件夹,进入org/apache/catalina/util编辑配置文件serverinfo.properties,修改server.info、server.number参数值,隐藏tomcat版本信息。

<9>开启数据库限制IP访问功能
--采用白名单方式,允许访问数据库的IP地址列表,多个IP地址使用逗号分开
--采用黑名单方式,禁止访问数据库的IP地址列表,多个IP地址使用逗号分开