Dies ist eine alte Version des Dokuments!
Hallo Besucher! Willkommen in diesem kleinen Wiki rund um IT. Vieles ist noch unvollständig, unstrukturiert oder vielleicht sogar falsch bzw. irreführend.
Du kannst Artikel gerne ergänzen oder verbessern. Gerne mit so vielen Links wie nötig. Bitte keine Werbelinks und nur selbst verfasste oder lizenzfreie Texte! Copyright beachten!
Eine Liste von Seiten die noch erstellt werden müssen.
param( [string]$Url = "https://eas.akm.at/Microsoft-Server-ActiveSync", [string]$Username = "doesnotexist-testuser", [string]$Password = "WrongPassword123!", [int]$Count = 50, [int]$DelayMs = 200 ) # Basic Auth header bauen $pair = "{0}:{1}" -f $Username, $Password $b64 = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($pair)) $headers = @{ "Authorization" = "Basic $b64" "User-Agent" = "EAS-Bruteforce-Test/1.0" "Accept" = "*/*" } Write-Host "Target: $Url" Write-Host "User: $Username" Write-Host "Count: $Count, Delay: ${DelayMs}ms" Write-Host "" for ($i=1; $i -le $Count; $i++) { $sw = [System.Diagnostics.Stopwatch]::StartNew() try { # -SkipCertificateCheck ist in PS7 verfügbar (falls ihr intern/self-signed nutzt) $resp = Invoke-WebRequest -Uri $Url -Method Get -Headers $headers -MaximumRedirection 0 -SkipCertificateCheck -ErrorAction Stop $code = [int]$resp.StatusCode } catch { # Bei 401/429 wirft Invoke-WebRequest meist eine Exception -> Code auslesen $code = $null if ($_.Exception.Response -and $_.Exception.Response.StatusCode) { $code = [int]$_.Exception.Response.StatusCode } elseif ($_.ErrorDetails -and $_.ErrorDetails.Message -match '"status"\s*:\s*(\d{3})') { $code = [int]$matches[1] } } $sw.Stop() $ts = (Get-Date).ToString("HH:mm:ss.fff") if ($null -eq $code) { $code = -1 } Write-Host ("[{0}] #{1,3} -> HTTP {2} ({3} ms)" -f $ts, $i, $code, $sw.ElapsedMilliseconds) if ($code -eq 429) { Write-Host "Got 429 -> rate limit seems active. Stopping." break } Start-Sleep -Milliseconds $DelayMs }