Как использовать запросы Python для входа на веб-сайт, основанный на ПО с открытым исходным кодом SMF - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь использовать запросы Python для входа на сайт.Единственная проблема в том, что он основан на SMF и использует sha1 для шифрования и отправки хэшированного пароля.Я знаю, как это зашифровано, но я не знаю, где взять smf_session_id, который требуется для шифрования пароля.

Я пытался просмотреть все файлы javascript на веб-сайте, но не могу найти, где он определен.Я также пытался выяснить, имеет ли __cfduid или PHPSESSID какое-либо отношение к нему, но это отличается.

Python

payload = {
'user': 'user',
'passwrd': my_hash_function('pass') #I don't know where/how to get smf_session_id to complete the hash 

with requests.Session() as s:
    p = s.post('http://www.example.com/SMF/index.php?action=login2', data=payload)        

print (s.cookies)        
print ("Status Code: ", p.status_code)

payload = {'test': 'testparm'}
r = s.get('http://www.example.com/cgi-bin/vote_rank.cgi', data=payload)
print (r.status_code)
print (s.cookies)
print (r.headers)

Javascript

if (cur_session_id == null)         
    cur_session_id = smf_session_id; 

doForm.hash_passwrd.value = hex_sha1(hex_sha1(doForm.user.value.php_to8bit().php_strtolower() + doForm.passwrd.value.php_to8bit()) + cur_session_id)
...