🇰🇷 한글 설명
SourceCodester Loan Management System v1.0에서 서버 측 검증 미흡으로 인한 비즈니스 로직 취약점이 발견되었습니다. 관리자가 연체료율을 설정할 때 프론트엔드에서는 음수 입력을 제한하지만, 백엔드에서는 이를 검증하지 않아 인증된 공격자가 HTTP 요청을 조작하여 음수 값을 입력할 수 있습니다.
💡 쉬운 설명
대출 관리 프로그램에서 연체료를 설정할 때, 화면에서는 마이너스 금액을 못 쓰게 막아두었지만 실제 서버로 데이터를 보낼 때는 마이너스 값을 보낼 수 있는 허점이 있습니다. 이를 이용하면 연체료를 오히려 깎아주는 식으로 시스템을 악용할 수 있습니다.
🇺🇸 원문 (English)
A Business Logic vulnerability exists in SourceCodester Loan Management System v1.0 due to improper server-side validation. The application allows administrators to create "Loan Plans" with specific penalty rates for overdue payments. While the frontend interface prevents users from entering negative numbers in the "Monthly Overdue Penalty" field, this constraint is not enforced on the backend. An authenticated attacker can bypass the client-side restriction by manipulating the HTTP POST request to submit a negative value for the penalty_rate.
📍 영향받는 시스템
SourceCodester Loan Management System v1.0
⚔️ 공격 벡터
인증된 사용자가 HTTP POST 요청의 penalty_rate 파라미터를 조작하여 음수 값을 전송
🛡️ 대응 방법
서버 측에서 penalty_rate 입력값에 대해 음수 여부를 확인하는 유효성 검증 로직을 추가
🔧 검증 코드
음수 값이 포함된 요청을 보냈을 때 서버가 오류 없이 성공(success) 응답을 반환하면 취약한 상태입니다.
curl -X POST -d "penalty_rate=-10" http://target-system/api/loan-plans 2>/dev/null | grep "success"
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server