doLogin(), hexMD5 - documentation

Hello!

I dont know anything about Microtik, im user of a network on this. Im trying to write automating loggin to network in python and need some help.

What exactly this function do? Is argument string or hex values coded in octal format? If I post urlencoded value of ‘username’ and md5 hash of string being sum of \324’ + document.login.password.value + ‘\142\342\314\100\322\261\134\207\004\173\217\110\321\175\015\011’ as ‘password’ will this be ok?

I’m very sorry for my bad english, hope my post is understandable.

i was try with:

import urllib2
import urllib
import md5

url = ‘http://hotspot.dns/login
page = urllib2.urlopen(url).read()
page = page[page.find(‘'’):page.find(‘');’)]
username = ‘my_login’
password = ‘my_password’
page = page.split(‘+’)
page = page[0] + password + page[2]
page = page.replace(‘'’,‘’)
page = page.replace(’ ‘,’')

m=md5.new()
m.update(page)

password=m.hexdigest()
values = {‘username’ : ‘moj_login’, ‘password’: password}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)

In this script password after md5 hashing have format like: 6dfc53bf18743c0363ee3d217b191b39. Maybe i must convert it to format like \142\277\221\277… ?
My argument for hashing is exactly like in this
hexMD5(‘\325’ + document.login.password.value + ‘\142\277\221\277\236\213\012\131\160\257\223\051\301\024\251\066’);
and its: \325MY_PASSWORD\142\277\221\277\236\213\012\131\160\257\223\051\301\024\251\066

it just parses the login name and password+chap

good luck with the script.. i had big problems just having different login forms on different pages :slight_smile: