Domanda Python Login - requests

PyCode

Utente Bronze
21 Marzo 2021
48
3
25
24
Buongiorno,
Sto cercando di scrivere uno script che effettui il login in una intranet aziendale però non va a buon fine: effettuo una post request dopo aver creato l'istanza di Session(), inserendo i parametri che vengono mandati per la richiesta ma successivamente, se vado a vedere il contenuto di risposta, mi rimanda nuovamente alla schermata di login.
Penso che il problema sia causato dal cookie di sessione che non viene creato nel momento in cui provo ad effettuare il login: di fatto se lo faccio dal browser ed inserisco il cookie nella mia request con browser avviato, funziona correttamente.
Qualcuno mi sa spiegare dove sto sbagliando?

Python:
import requests

sessione = requests.Session()

login_effettuato = sessione.post("www.example.com", data={"User":"nome", "pass":"psw", "azione":"login"})

print(login_effettuato.content) #lo uso come "test veloce" per vedere se mi ripropone la pagina di login


Vi ringrazio in anticipo per le delucidazioni :)
(sono abbastanza sicuro che con mechanize risolvo il problema, però voglio capire come mai con requests non riesco)
 
Buongiorno,
Sto cercando di scrivere uno script che effettui il login in una intranet aziendale però non va a buon fine: effettuo una post request dopo aver creato l'istanza di Session(), inserendo i parametri che vengono mandati per la richiesta ma successivamente, se vado a vedere il contenuto di risposta, mi rimanda nuovamente alla schermata di login.
Penso che il problema sia causato dal cookie di sessione che non viene creato nel momento in cui provo ad effettuare il login: di fatto se lo faccio dal browser ed inserisco il cookie nella mia request con browser avviato, funziona correttamente.
Qualcuno mi sa spiegare dove sto sbagliando?

Python:
import requests

sessione = requests.Session()

login_effettuato = sessione.post("www.example.com", data={"User":"nome", "pass":"psw", "azione":"login"})

print(login_effettuato.content) #lo uso come "test veloce" per vedere se mi ripropone la pagina di login


Vi ringrazio in anticipo per le delucidazioni :)
(sono abbastanza sicuro che con mechanize risolvo il problema, però voglio capire come mai con requests non riesco)
Non è facile rispondere alla domanda non conoscendo la struttura e le misure di sicurezza del portale web, ognuno implementa funzionalità diverse. Comunque, quello che ti consiglio è di verificare se il cookie di sessione rimane sempre inalterato, oppure cambia ad ogni richiesta di login. Operazione che puoi fare comodamente con Burp Suite. Se dovessi stabilire che il cookie di sessione rimane inalterato, definiscilo come variabile nel tuo codice e, successivamente, passalo come parametro nella funzione post().
 
Già verificato: il cookie rimane inalterato e passandolo nella richiesta POST funziona soltanto se contemporaneamente tengo il browser aperto.
In fatto di sicurezza, sono abbastanza certo sia parecchio basso, visto lo scopo del sito e le psw forniteci
 
Già verificato: il cookie rimane inalterato e passandolo nella richiesta POST funziona soltanto se contemporaneamente tengo il browser aperto.
In fatto di sicurezza, sono abbastanza certo sia parecchio basso, visto lo scopo del sito e le psw forniteci
Mmh...allora è un problema di generazione del cookie di sessione che dovresti includere all'interno del codice python: hai provato ad individuare tramite gli strumenti degli sviluppatori integrati nel browser la funzione, javascript probabilmente, che genera i cookie?
 
Ultima modifica:
Purtroppo no, ho cercato di capire quando il server rispondeva con la creazione del cookie di sessione...
Domani proverò a dare un'occhiata :)

@CrazyMonk
Aggiornamento:
Ho provato a dare un occhiata con gli strumenti di cattura ma non ho trovato la funzione che lo genera :-(
Vedo che se provo a fare il login da browser e va a buon fine, mi ritorna il cookie, però se lo faccio da Python: non effettua il login e chiaramente niente cookie
Hai qualche suggerimento su come possa migliorare la ricerca tramite gli strumenti dello sviluppatore?
 
  • Mi piace
Reazioni: --- Ra ---