Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: latin-1 -*-
- #imports
- import hashlib,urllib,urllib2, BeautifulSoup,re
- #constantes
- login="Menara" #changez le login...
- passe="Menara" #le mot de passe...
- url = "http://192.168.1.1" #et l'url du routeur...
- def unicode_urlencode(params):
- if isinstance(params, dict):
- params = params.items()
- return urllib.urlencode([(k, isinstance(v, unicode) and v.encode('utf-8') or v)])
- def get_next_form(lines, page,mimic_button_field,action_line):
- page="\n".join(lines)
- soup2= BeautifulSoup.BeautifulSoup(page)
- formulaire2 = soup2.find("form",{'name':"form_contents"})
- dico={}
- for input in formulaire2.findAll("input",{"name":re.compile("")}):
- dico[input['name']] = input['value']
- action_form=lines[action_line].split('"')[1]
- dico["mimic_button_field"] = mimic_button_field
- dico2 = urllib.urlencode(dict([k, v.encode('utf-8')] for k, v in dico.items()))
- f = urllib2.urlopen(url + action_form, dico2)
- return f.readlines()
- #recup de pages formulaire
- page_content = urllib.urlopen(url).read()
- soup=BeautifulSoup.BeautifulSoup(page_content)
- form= soup.find("form",{"name":"form_contents"})
- #parsage formulaire, en dur a cause du passage oblige vers un hash md5
- dico={}
- for input in form.findAll("input",{"name":re.compile("")}):
- dico[input['name']] = input['value']
- password_input_name=soup.find("input",{"name":re.compile("password_")})["name"] #paresseux...
- action_form=form["action"] # destination...
- dico["md5_pass"]=hashlib.md5(passe+dico["auth_key"]).hexdigest() # kung fu!
- dico[password_input_name]=passe
- dico["user_name"]=login
- encoded_form=urllib.urlencode(dico)
- f = urllib2.urlopen(url + action_form, encoded_form)
- lines = f.readlines()
- lines = get_next_form(lines = lines,page="\n".join(lines),mimic_button_field="sidebar: lb_sidebar_basic_main..",action_line = 29 )
- lines = get_next_form(lines = lines,page="\n".join(lines),mimic_button_field="sidebar: lb_sidebar_basic_erase_reboot..",action_line = 29 )
- get_next_form(lines = lines,page="\n".join(lines),mimic_button_field="submit_button_reboot: ..",action_line = 23 )
- print "felicitation, vous etes deconnecte"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement