ARKO 리뉴얼 — 문화품앗이/자원봉사 포털 (Spring 3 + iBatis + eGov 2.7)
웹취약점 점검(SER-004)에서 확인된 휴면계정 관련 취약점 2건 조치.
1) 인증 없는 휴면계정 해제 (CWE-306, 긴급)
- actionDiapause.do 가 요청 파라미터 mber_id 만으로 즉시 deleteDiapause 실행 →
아이디만 알면 제3자가 임의 계정의 휴면을 해제할 수 있었음(로컬 PoC 실증).
- 파라미터를 신뢰하지 않고, ID/PW 인증 성공 시에만 세션에 적재되는 diapauseVO 의
mber_id 로만 해제. 세션 부재 시 resCode=002 거부, 성공 시 1회성 소거.
- 정상 경로 releaseDiapauseAjax(토큰 검증)와 동일 원칙. 정상 사용자는 원래도
세션값(${sessionScope.diapauseVO.mber_id})을 보냈으므로 결과 동일(회귀 없음).
- mbl/EgovDiapause.jsp: resCode 분기로 거부 시 재로그인 안내.
2) 예측 가능한 난수 (CWE-330, 중)
- 휴면 활성화 메일 토큰(20자) 생성을 java.util.Random → SecureRandom 으로 교체.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AbEjijyQdS54xso1d2ks3u
|
||
|---|---|---|
| .gitea/workflows | ||
| deploy | ||
| src | ||
| WebContent | ||
| .gitattributes | ||
| .gitignore | ||
| .pmd | ||
| CLAUDE.md | ||
| pom.xml | ||
| pom.xml.20250515 | ||
| pom.xml.20250515_2 | ||
| 개인정보보호_개발진행현황.md | ||
| 개인정보보호_개발항목.docx | ||
| 개인정보보호_비밀번호해시_점검노트.md | ||
| 개인정보보호_시스템로그삭제정책_분리노트.md | ||
| 개인정보보호_인증정보저장정책_점검노트.md | ||
| 디자인.md | ||
| 발주기관 확인 항목.txt | ||