安全测试之认证授权

原创 2013年12月06日 10:52:46



在web安全中,认证授权又是每个人都熟知的,就像我们都应该设置一个高强度的密码,以免被猜测破解,实际上还包括更多内容。
  1. 权限
  在很多系统如CRM,ERP,OA中都有权限管理,其中的目的一个是为了管理公司内部人员的权限,另外一个就是避免人人都有权限而帐号泄漏后会对公司带来的负面影响。
  权限一般分为2种:访问权限和操作权限。访问权限即是某个页面的权限,对于特定的一些页面只有特定的人员才能访问。而操作权限指的是页面中具体到某个行为,肉眼能看到的可能就是一个审核按钮或提交按钮。我之前接触过的一个SAAS平台的CRM系统就用到了访问权限和操作权限两种,而现在公司后台管理都是访问权限,当然访问权限实施起来更加方便快捷,也容易维护。
  权限的处理方式可以分为2种:用户权限和组权限。设置多个组,不同的组设置不同的权限,而用户设置到不同的组中,那就继承了组的权限,这种方式就是组权限管理,一般都是使用这种方式管理。而用户权限管理则比较简单,对每个用户设置权限,而不是拉入某个组里面,但是灵活性不够强,用户多的时候就比较费劲了,每次都要设置很久的权限,而一部分用户权限是有共性的,所以组权限都是目前很通用的处理方式。
  在权限方面,还包括了数据库的权限,网站管理的权限以及API/Service的权限。
  DBA都需要控制好IDC的数据库权限,而不是将用户权限设置为*.*,需要建立专门供应用程序使用的帐号,并且需要对不同的数据库和不同的表赋予权限,专门供应用程序使用的帐号就不能进行更改表,更改数据库及删除操作,否则如果有SQL注入漏洞或程序有bug的话,黑客就能轻易连接到数据库获取更多的信息。因为DBA帐号除了可以更改数据库结构,数据,及配置之外,还可以通过LOAD DATA INFILE读取某个文件,相当于整台服务器都被控制了。
  API可以分为private API和open API。那私有API一般是不希望外网访问的,如果架设在内网的话,最好使用内网IP来访问,如果是公网的话,最好设置一定的权限管理。Open API的权限就相对复杂很多,除了校验参数正确性,还需校验用户是否在白名单中,在白名单里的话还需校验用户对应的权限,有些时候还需要考虑是否要加密传输等等。
  2. 密码猜测
  以下哪种错误提示更加适合呢?
  1)输入的用户名不正确
  2)输入的密码不正确
  3)输入的用户名或密码不正确
  看到前面两种提示信息,我们获得了什么信息呢?用户名不正确那可以猜测到正确的用户名,当只是提示密码不正确的时候说明用户名正确了,这两种提示其实是在暗示用户正确输入了什么,哪个不正确。而第三种给出的提示就比较模糊,可能是用户名可能是密码错误。如果非要说前两种提示信息更准确更易于普通用户的话,就会给黑客们带来可乘之机,而第三种就没辙了,实在不知道到底是哪个错误了,难道增加不少。使用工具或批处理脚本来强制枚举破解的话也需要更多的时间。51testing.com
  弱密码你中枪了吗?
  2011年11月22日,360安全中心发布了中国网民最常用的25个“弱密码”: 000000、111111、11111111、112233、123123、123321、123456、12345678、654321、666666、888888、abcdef、abcabc、abc123、a1b2c3、aaa111、123qwe、qwerty、qweasd、admin、password、passwd、iloveyou、5201314。别人给我使用过的管理帐号中就有设置这样的密码,非常危险。
  那如何应对密码猜测攻击呢?一般有以下几种方案:1)超过错误次数帐户锁定;2)使用RSA/验证码;3)使用安全性高的密码策略。很多网站三种结合起来使用的。另外,在保存密码到数据库时也一定要检查是否经过严格的加密处理,不要再出现某天你的网站被暴库了结果还存的是明文密码。
  3. 找回密码的安全性
  最不安全的做法就是在邮件内容中发送明文新密码,一旦邮箱被盗,对应网站的帐号也会被盗;一般做法是邮件中发送修改密码链接,测试时就需要特别注意用户信息标识是否加密,加密方法以及是否易破解;还有一种就是修改时回答问题,问题回答正确才能进行修改,大名鼎鼎的QQ就是这么做的。据传,原来支付宝有个很严重的安全问题,就是完全可以通过手机号码找回登录密码和支付密码,会发送验证码到手机然后登录网页修改密码,有用户手机号码停机后,别人买了这个号然后登录了支付宝把钱转走了,现在支付宝找回登录密码时仍然可以通过手机号码找回,但是支付密码修改就需要手机短信和身份证件一起验证。不过我们很多人难免会在网络上留下手机号码的痕迹,聪明的善于挖掘汇总信息的人一定可以找到你的身份证号码,所以友情提示下:更换号码时一定要及时修改帐号关联的手机号码。

安全性测试之认证授权

在web安全中,认证授权又是每个人都熟知的,就像我们都应该设置一个高强度的密码,以免被猜测破解,实际上还包括更多内容。   1. 权限 在很多系统如CRM,ERP,OA中都有权限管理,其中的目的一个是...
  • zzzmmmkkk
  • zzzmmmkkk
  • 2013年11月29日 10:04
  • 2004

Java安全之认证与授权

Java平台提供的认证与授权服务(Java Authentication and Authorization Service (JAAS)),能够控制代码对敏感或关键资源的访问,例如文件系统,网络服务...
  • xtayfjpk
  • xtayfjpk
  • 2015年05月20日 16:22
  • 2436

安全测试:脚本攻击与SQL注入攻击

前者主要存在于web应用程序从用户处获取的输入,对输入的字符串没有进行验证就直接在web页面上显示了。如果是普通的字符串,则不会有任何问题,但如果是包含脚本的字符串,例如Javascript,则脚本会...
  • MaggieMiaoMiao
  • MaggieMiaoMiao
  • 2015年06月02日 17:15
  • 265

AAA认证、授权、计费

AAA是验证、授权和记账(Authentication、Authorization、Accounting )三个英文单词的简称。其主要目的是管理哪些用户可以访问网络服务器,具有访问权的用户可以得到哪些...
  • zskylark
  • zskylark
  • 2010年12月23日 12:30
  • 1868

权限管理——用户认证和用户授权

因为做了权限的项目经理,so,恶补一下一个权限框架:shiro。其实作为框架首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但框架没有必要这样。框架应该尽可能掩盖复杂的地方,露出一个干净...
  • xdd19910505
  • xdd19910505
  • 2016年07月16日 21:42
  • 5887

Web入侵安全测试与对策学习笔记(一)——总览

Web入侵安全测试与对策 从web客户端进行测试需要考虑的特殊问题: 1、恶意的用户可以篡改客户机上的数据——一切皆有可能 结论:在没有得到服务器端对数据的双重认证时,不要在客户端执行重要的运算...
  • aovenus
  • aovenus
  • 2012年08月21日 21:26
  • 884

Spring security认证与授权(四)

在第三个实例基础上我做了第四个实例,这个实例很简单。默认情况下,角色名称必须以ROLE_开头,否则spring security框架无法识别,有时这会让人觉得很不爽。当然,这是可以改变的。 第四个实...
  • zwfandroid
  • zwfandroid
  • 2013年03月26日 20:55
  • 1496

spring security 3 自定义认证,授权示例

Spring Security 3.x 出来一段时间了,跟Acegi是大不同了,与2.x的版本也有一些小小的区别,网上有一些文档,也有人翻译Spring Security 3.x的guide,但通...
  • peibolinux
  • peibolinux
  • 2016年08月17日 15:41
  • 2176

Java Web系列:认证和授权基础

1.认证和授权概述 (1)认证:对用户的身份进行验证。 .NET基于的RBS(参考1)的认证和授权相关的核心是2个接口System.Security.Principal.IPrincipal和Sy...
  • zzy7075
  • zzy7075
  • 2015年12月28日 18:38
  • 4163

Spring security认证与授权(一)

安全一直是 Web 应用开发中非常重要的一个方面。从安全的角度来说,需要考虑用户认证和授权两个方面。为 Web 应用增加安全方面的能力并非一件简单的事情,需要考虑不同的认证和授权机制。Spring S...
  • zwfandroid
  • zwfandroid
  • 2013年03月22日 21:51
  • 1078
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安全测试之认证授权
举报原因:
原因补充:

(最多只允许输入30个字)