白帽子讲web安全——认证与会话管理

2023-06-05,,

在看白帽子讲web安全,刚好看到认证会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式。

  了解两个概念:认证和授权

  1):认证的目的是为了认出用户是谁。

  2):授权的目的是为了决定用户能够做什么。

书中列举的例子很形象,假设系统是一间房子,持有钥匙的人可以进门进入房子,那么屋子就是通过“锁和钥匙的匹配”来进行认证的,认证的过程就是开锁的过程。

钥匙在认证过程中,被称为“凭证”,开门的过程,在互联网里对应的是登录。

可是开门之后,什么事情能做,什么事情不能做,就是“授权”的管辖范围了。

记录下之前在渗透过程中遇到登录页面的问题,和书中所说相对应起来的话,一个是对认证,一个是对授权:

1):在认证的时候,单独对登录页面来说,可以去尝试的测试:

万能密码登录
SQL注入
漏扫扫描,常用appscan、awvs开源工具来扫描
XSS
爆破,登录页面的爆破,最常见是遇到验证码,尝试验证码绕过;或者限制的登录次数

    一个验证码可以多次使用
    验证码无效
    限制登录次数,看是不是限制了IP
    限制账号错误次数,查看是不是请求包中某个参数影响,可能是session中的值,或者post传递的值,去掉这个影响参数,尝试能不能够绕过限制

端口扫描,nmap,来查看端口常见漏洞
目录扫描,有没有未授权访问

2):在授权范围内,也是单独对登录页面来说,可以去尝试的测试:

尝试用低权限的账号越权登录高权限账号
在忘记密码处,越权修改手机或者邮箱
忘记密码处,越权修改别的账号密码

以上是临时能够想起来的。

这章小结:

session劫持就是一种通过窃取用户sessionID后,使用该sessionID登录进目标账户的攻击方法,此时攻击者实际是使用了目标账户的有效session。如果sessionID是保存在cookie中的,则这种攻击可以称为cookie劫持。

这里有kxlzx大神的一篇博客,做了研究,实例:

https://www.inbreak.net/archives/287

白帽子讲web安全——认证与会话管理的相关教程结束。

《白帽子讲web安全——认证与会话管理.doc》

下载本文的Word格式文档,以方便收藏与打印。