Seite 1 von 1

requests; leere RequestsCookieJar; PHPSessionID damit nicht auffindbar

Verfasst: Donnerstag 21. Mai 2020, 11:20
von 3cosystem
Hallo Leute,
einen schoenen Herrentag an alle Herren.
Ich halte mich vom Saufgelage in den Parks fern und code lieber ein bisschen am freien Tag (;

Zum Problem:
Ich versuche die Cookies von einer Website zu bekommen, um mich darauf einzuloggen.
Besonders die PHPSESSID ist natuerlich wichtig.
Leider bekomme ich leere RequestsCookieJar von der Login-Seite.
Lese ich die Cookies ueber das "Netzwerkanalysetool" des Browsers aus und gebe die beim .post mit, komme ich rein.
Hier der Code:

Code: Alles auswählen

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import requests as req

# manuelle Hinzugabe
# cookies = {
#    'CSRF_TOKEN': '37e087719c8e3f1e8a9ca0ae28fec3dc',
#    'io': 'f4Vk7DHLKM0lOwxoEGnO',
#    'PHPSESSID': '0bbspu6l0qaku1e6u37s21bdqv'}
# email = ...
# password = ...
# payload = {
#    'login-email': email,
#    'login-password': password}

with req.Session() as session:
    url = 'https://.../?page=login'
    get_infos = session.get(url)
    
print(get_infos.status_code)
print(get_infos.headers)
print(get_infos.cookies)
print(session.cookies)

########Output#########
# get_infos.status_code
200
# get_infos.headers, manuell "schoen gemacht"
{'Server': 'nginx/1.14.2',
 'Content-Type': 'text/html; charset=UTF-8',
 'Transfer-Encoding': 'chunked',
 'Connection': 'keep-alive',
 'X-Frame-Options': 'DENY',
 'X-Content-Type-Options': 'nosniff',
 'Content-Security-Policy': "default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src
 'self' wss://....de https://sentry.io https://photon.komoot.de https://maps.geoapify.com https://search.mapzen.com blob: ws:; img-src
 'self' data: https: blob:; style-src 'self' 'unsafe-inline'; font-src
 'self' data:; frame-src 'self'; frame-ancestors 'none'; worker-src
 'self' blob:; child-src
 'self' blob:;",
 'Cache-Control': 'no-cache, private',
 'Date': 'Thu, 21 May 2020 09:33:53 GMT',
 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
 'Content-Encoding': 'gzip'
}
# get_infos.cookies
<RequestsCookieJar[]>
# session.cookies
<RequestsCookieJar[]>
Die Seite ist quasi komplett Javascript-based.
Ist die Seite vielleicht "geschuetzt"?
Kann jemand was aus den Header-Infos herauslesen, dass ich da etwas anders machen muss?
Interessanterweise bekomme ich im Header keine 'set-cookie': 'PHPSESSID'
Ueber die "Netzwerkanalyse" finde ich diese allerdings in den get-Cookies...

Hier mal die "Anfragekopfzeilen1+2" eines get-cookies zum favicon.ico:

Code: Alles auswählen

1:
HTTP/2 200 OK
server: nginx/1.14.2
date: Thu, 21 May 2020 08:13:20 GMT
content-type: image/x-icon
content-length: 1150
last-modified: Sat, 02 May 2020 16:35:54 GMT
etag: "5eada16a-47e"
expires: Thu, 04 Jun 2020 08:13:20 GMT
cache-control: max-age=1209600
strict-transport-security: max-age=31536000; includeSubDomains
accept-ranges: bytes
X-Firefox-Spdy: h2

2:
Host:....de
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0
Accept: image/webp,*/*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: pushNotificationBannerClosed=true; CSRF_TOKEN=37e087719c8e3f1e8a9ca0ae28fec3dc; io=f4Vk7DHLKM0lOwxoEGnO
Ich habe den Link der Website entfernt. Per pn kann ich die gerne herausgeben, falls das jemand ausprobieren moechte.
Bei anderen Websites bekomme ich da sofort cookies...

Ich bedanke mich recht herzlich im Voraus
Liebe Grueße
3cosystem

Re: requests; leere RequestsCookieJar; PHPSessionID damit nicht auffindbar

Verfasst: Donnerstag 21. Mai 2020, 11:29
von __blackjack__
Kann es sein das die Seite beim ersten Aufruf fragt ob sie Dir überhaupt Cookies andrehen darf und das erst macht nachdem Du ja gesagt hast?

Re: requests; leere RequestsCookieJar; PHPSessionID damit nicht auffindbar

Verfasst: Donnerstag 21. Mai 2020, 11:31
von 3cosystem
__blackjack__ hat geschrieben: Donnerstag 21. Mai 2020, 11:29 Kann es sein das die Seite beim ersten Aufruf fragt ob sie Dir überhaupt Cookies andrehen darf und das erst macht nachdem Du ja gesagt hast?
Nein, sowas gibt es nicht...
Hab jetzt nochmal sone Ausgabe des Cookies in den Post gemacht.