跨站攻击(Cross-Site Attack)又称为XSS攻击,是指攻击者在网页中插入恶意脚本,使受害者在访问网页时,网页中的恶意脚本被执行从而攻击受害者。跨站攻击有很多种形式,其中之一就是Http会话劫持,下面我们来看看这种手法的攻略。
什么是Http会话劫持
Http会话劫持是指攻击者在网站上注入一段代码,通过劫持用户已经建立的会话从而获取用户的权限、获取用户的机密信息或者进行一些攻击等。通常,这种攻击手段的实现需要两个步骤,即获取有关用户的关键Cookie和成功劫持一个会话。
Http会话劫持的手法
1. 通过社会工程学获得有关用户的关键 Cookie
攻击者首先通过社会工程学手段获取用户的关键Cookie信息。这种攻击形式主要有以下几种方式:
- 伪装成受害者邮件: 攻击者伪造一个看似正常且受害者信任的邮件,在邮件中附带恶意代码,并向受害者说明需要执行一些操作来避免一些问题。当受害者点击链接时,就可以获取关键Cookie。
- 伪造一个网站: 攻击者在一些社交平台上伪造一个网站,然后引导用户前往该网站。一旦用户在该网站中输入了用户名和账号,攻击者就可以将获取到的关键Cookie保存下来。
- 反向代理漏洞: 攻击者可以在一些反向代理漏洞中截获用户的请求,将请求中包含的Cookie保存下来。
2. 通过利用 XSS 的漏洞来实现会话劫持
攻击者在网站中注入一段 JavaScript脚本,使其在用户浏览该网站时自动执行,针对这种攻击方式,还需要分为两种情况:
- 非持久型XSS攻击:攻击者向网站提交一段带着恶意脚本的请求,网站在响应时把提交的脚本或者脚本的一部分返回给用户浏览器端,并执行该脚本,最后根据发送数据的不同,分为DOM型XSS攻击和反射型XSS攻击。
- 持久型XSS攻击:持久型XSS攻击是一种比较危险的攻击形式,攻击者将恶意脚本存储在服务端数据库中,当受害者浏览网站时,将会读取到已经被攻击的恶意脚本,从而被攻击者获取到相应的关键信息。
示例说明
例如,攻击者在一个论坛上发表了一个帖子,这个帖子的正文部分包含了一段恶意脚本,这段恶意脚本会在用户访问这个帖子时执行,通过在用户的浏览器上创建一个新的cookies,从而达到劫持用户的会话的目的。再例如,在一个表单输入框中输入一些可执行的代码并提交,如果应用没有进行任何过滤,那么执行完后这些代码有可能会被其他用户看到并且在他们访问这个页面时执行,从而带来了攻击的可能。这都是一些具体的漏洞场景的示例。
总结
Http会话劫持攻击是一种十分常见的攻击方式,攻击手法多样,攻击者利用漏洞或者技巧获取有关用户的关键Cookie,然后进行会话劫持,从而获取用户的权限、机密信息或者进行其他攻击。网站管理员需要认真对待这种攻击方式,及时更新网站漏洞,加强用户的安全教育意识。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:跨站攻击之实现Http会话劫持的手法 - Python技术站