by Folllast » 17 Jun 2020, 04:30
Hallo,
ich wollte mir mit dieser Anleitung ein Tool bauen, was sich selbstständig auf einer Website einloggt. So sieht der Code jetzt aktuell aus:
Code: Select all
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;Prepare our WinHttpRequest object
HttpObj := ComObjCreate("WinHttp.WinHttpRequest.5.1")
;HttpObj.SetProxy(2,"localhost:8888") ;Send data through Fiddler
HttpObj.SetTimeouts(6000,6000,6000,6000) ;Set timeouts to 6 seconds
;HttpObj.Option(6) := False ;disable location-header rediects
;Set our URLs
loginURL := "http://www.airlines-manager.com/login_check"
loginSiteURL := "http://www.airlines-manager.com/locale/de"
;Set our login data
username := ""
password := ""
rememberMe := "1"
;Step 1
HttpObj.Open("GET",loginSiteURL)
HttpObj.Send()
;Step 2
RegExMatch(HttpObj.ResponseText,"<input\stype=""hidden""\sname=""_csrf_token""\svalue=""([\w\-]+)"">",match)
text := HttpObj.ResponseText
FileAppend, %text%, ausgabe2.html
auth_key := match1
;Step 3
loginBody := "_csrf_token=" auth_key ; "&_username=" username "&_password=" password "&_remember_me=" . rememberMe
FileAppend, %loginBody%`n,LoginBody.txt
;Step 4/5
HttpObj.Open("POST",loginURL)
;HttpObj.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
HttpObj.Send(loginBody)
;Step 6
text := HttpObj.ResponseText
FileAppend, %text%, antwort.html
MsgBox
Ich bekomme leider in der Antwort immer die Fehlermeldung, dass der Token falsch wäre. Allerdings wird er zumindest in der LoginBody.txt noch korrekt angezeigt. Wie kann man jetzt mit der Fehlersuche weitermachen?
kann man im Firefox nachschauen, welche Daten geschickt werden, wenn man auf LOGIN klickt, oder selbst sogar "manipulierte" Daten senden?
Hallo,
ich wollte mir mit dieser Anleitung ein Tool bauen, was sich selbstständig auf einer Website einloggt. So sieht der Code jetzt aktuell aus:
[code]#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;Prepare our WinHttpRequest object
HttpObj := ComObjCreate("WinHttp.WinHttpRequest.5.1")
;HttpObj.SetProxy(2,"localhost:8888") ;Send data through Fiddler
HttpObj.SetTimeouts(6000,6000,6000,6000) ;Set timeouts to 6 seconds
;HttpObj.Option(6) := False ;disable location-header rediects
;Set our URLs
loginURL := "http://www.airlines-manager.com/login_check"
loginSiteURL := "http://www.airlines-manager.com/locale/de"
;Set our login data
username := ""
password := ""
rememberMe := "1"
;Step 1
HttpObj.Open("GET",loginSiteURL)
HttpObj.Send()
;Step 2
RegExMatch(HttpObj.ResponseText,"<input\stype=""hidden""\sname=""_csrf_token""\svalue=""([\w\-]+)"">",match)
text := HttpObj.ResponseText
FileAppend, %text%, ausgabe2.html
auth_key := match1
;Step 3
loginBody := "_csrf_token=" auth_key ; "&_username=" username "&_password=" password "&_remember_me=" . rememberMe
FileAppend, %loginBody%`n,LoginBody.txt
;Step 4/5
HttpObj.Open("POST",loginURL)
;HttpObj.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
HttpObj.Send(loginBody)
;Step 6
text := HttpObj.ResponseText
FileAppend, %text%, antwort.html
MsgBox[/code]
Ich bekomme leider in der Antwort immer die Fehlermeldung, dass der Token falsch wäre. Allerdings wird er zumindest in der LoginBody.txt noch korrekt angezeigt. Wie kann man jetzt mit der Fehlersuche weitermachen?
kann man im Firefox nachschauen, welche Daten geschickt werden, wenn man auf LOGIN klickt, oder selbst sogar "manipulierte" Daten senden?