Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
hyperswitch-payout-confirm-secret — Hyperswitch payout confirm 결함에 대한 Proof-of-concept 및 lab: POST /payouts/{id}/confirm에 더미 client_secret과 amount를 함께 전달하면 저장된 payout amount가 증가한다. | Kitploit
도구/GitHubGitHub/abraxas/hyperswitch-payout-confirm-secret
Authentication & AuthorizationVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingAPI SecurityLabs & Practice

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
abraxas/hyperswitch-payout-confirm-secret

hyperswitch-payout-confirm-secret

Hyperswitch payout confirm 결함에 대한 Proof-of-concept 및 lab: POST /payouts/{id}/confirm에 더미 client_secret과 amount를 함께 전달하면 저장된 payout amount가 증가한다.

저장소 보기
1918일 전아직 검토되지 않음

Abraxas Labs - hyperswitch-payout-confirm-secret

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  hyperswitch-payout-confirm-secret

hyperswitch-payout-confirm-secret

Hyperswitch 2026.09.21.0 - Juspay

payouts_confirm는 check_value_present("client_secret")로 pk_를 인증합니다. 존재 여부만 확인합니다. 동일 여부는 확인하지 않습니다. Payments confirm은 여전히 바인딩합니다: authenticate_client_secret는 불일치 시 IR_09를 반환합니다. confirm 본문은 전체 PayoutCreateRequest입니다. update_payouts_and_payout_attempt는 커넥터 라우팅 이전에 amount를 기록합니다.

더미 client_secret과 amount=99900을 payouts confirm에 사용하면 99900이 저장됩니다. 동일한 더미를 사용한 payments confirm은 여전히 IR_09입니다.

ID아직 CVE 없음
CWECWE-863, CWE-345
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
제품Hyperswitch
영향받는 버전2026.09.21.0까지의 payouts confirm
인증publishable pk_와 payout id; 더미 secret
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용

공격자가 할 수 있는 일

publishable key(공개, checkout)와 payout id(payout 링크, 머천트 대시보드, 클라이언트 create 응답)가 필요합니다. 더미 secret과 새로운 amount로 POST /payouts/{id}/confirm을 보냅니다. 커넥터 라우팅이 400 IR_39(적격 payout 커넥터 없음)를 반환하더라도 retrieve는 증가된 금액을 보여줍니다. 쓰기는 이미 발생했습니다. payout 프로세서가 있는 상점에서의 이행이 다음 단계입니다.

pk_가 없는 게스트는 이 버그가 아닙니다. secret sk_ confirm은 머천트 측입니다. 셸이 아닙니다. 이 랩 이미지에서 성공적인 커넥터 payout도 아닙니다.

서명되지 않은 Worldpayxml 웹훅과 동일한 제품입니다. 다른 버그입니다.

발견 방법

check_value_present를 읽고, 그다음 payments의 req_cs != pi_cs를, 그다음 payouts_core 이전의 update_payouts_and_payout_attempt를 읽었습니다. pk_에 대한 인증은 "checkout SDK"입니다. secret은 브라우저 세션을 이 payout에 바인딩해야 합니다. Payments는 동일 여부를 확인합니다. Payouts는 존재 여부만 확인합니다. 비어 있지 않은 더미면 충분합니다. JSON은 여전히 create 요청이므로 confirm에서 amount는 no-op이 아닙니다.

이것을 처음 보는 클라이언트는 client_secret 없이 confirm을 보내고 MissingRequiredField를 받습니다. 존재 여부입니다. 실제 secret을 보내면 당신이 지불인입니다. payments confirm에 더미를 보내면 IR_09를 받습니다. 그것이 대조군입니다. payouts confirm에 더미를 보내십시오.

이미 기록된 잘못된 방향: HTTP 400 IR_39를 "아무 일도 일어나지 않음"으로 취급하기(payout을 retrieve하십시오); confirm이 amount를 생략했기 때문에 amount가 1000으로 유지됨(unwrap_or가 이전 값을 유지함); payout이 이미 종료 상태(Success / Failed / Cancelled)임; 리버스 셸. 극적인 연출. 증거는 더미 secret 이후 retrieve amount=99900이며, payments confirm은 여전히 IR_09입니다.

그다음: 머천트, secret key, publishable pk_, worldpayxml payout 커넥터를 생성하고 confirm=false amount 1000으로 POST /payouts/create를 보냅니다. RequiresConfirmation. Payments 더미-secret 대조군. Payouts 더미 99900. Retrieve.

랩

cd lab
./run.sh

오직 http://127.0.0.1:18083만 대상으로 하십시오. 웹훅 랩과 compose 프로젝트를 공유하지 마십시오.

IOC amount_before=1000 status_before=requires_confirmation
IOC payments.confirm dummy-secret status=400 IR_09 client_secret mismatch
IOC payouts.confirm dummy-secret status=400 IR_39 no eligible connector
IOC retrieve amount=99900 status=requires_confirmation
SUCCESS Hyperswitch payout confirm unbound client_secret amount raise

수정 방법

payments가 하는 방식대로 client_secret을 payouts.client_secret과 비교하고, 그 검사가 통과할 때까지 confirm에서 PayoutCreateRequest.amount를 적용하지 마십시오. 더미 secret은 IR_09(또는 401)여야 하며, retrieve amount는 1000으로 유지되어야 합니다.

참고 자료

  • github.com/juspay/hyperswitch 태그 2026.09.21.0
  • payouts.rs routes · authentication.rs · payouts/helpers.rs · core/payouts.rs · payments/helpers.rs
  • 동일 제품: hyperswitch-unsigned-webhook
  • CWE-863 · CWE-345

라이선스

GNU Affero GPL v3.0. LICENSE를 참조하십시오. 루프백 랩 전용. 보증 없음.

도구 다운로드