Weakness
HTTP Session Leak
Description
개요
[취약점 제보에 대한 개요를 작성해 주세요]
재현 과정
[취약점 재현을 하기 위한 과정을 서술해 주세요]
- [step1]
- [step2]
- [step3]
예상되는 취약점 발생 원인
[해당 취약점이 발생하는 예상 원인을 서술해 주세요]
패치 방법
[해당 취약점을 패치하기 위한 대응 방법을 서술해 주세요]
예상 결과 및 파급력
[해당 취약점으로 인해 예상되는 결과 및 파급력을 서술해 주세요. 시나리오가 포함되어도 좋습니다.]
기타사항 및 레퍼런스
[그 외에 추가할 내용이 있다면 이곳에 작성해주세요.(스크린샷, 로그 등)]
- [첨부파일 / 레퍼런스]
티켓 내용 수정이 지원되지 않는 관계로 자세한 내용은 아래에 다시 작성하겠습니다.
http session leak을 통한 captcha 우회
취약점 유형
HTTP Session Leak
설명
개요
세션 아이디로 해당 세션의 내용을 알아낼 수 있는 취약점.
재현 과정
세션 아이디 알아내기
PHPSESSID
라는 이름의 쿠키에 세션 아이디가 저장됨.위 사진을 예시로 들면 세션 아이디는
952d33d23a43e9e1d2d521a81c9c5c71
임.세션 내용 leak
URI:
https://isc2chapter.kr/data/session/sess_952d33d23a43e9e1d2d521a81c9c5c71
https://isc2chapter.kr/data/session/sess_{세션 아이디}
꼴의 URI로 접속하면 해당 세션의 내용을 알아낼 수 있음예상되는 취약점 발생 원인
파일 경로
웹경로/data/session/
에 세션 파일들이 저장되는데, 해당 경로를 웹을 통해 접속할 수 없도록 막아두질 않았음.패치 방법
해당 경로를 웹을 통해 접속할 수 없도록, nginx나 apache 등의 프로그램 단에서 막으면 됨.
파급력
예상 결과 및 파급력
회원가입 페이지를 보면 captcha(자동등록방지문자)가 존재함.
근데 captcha의 답이 세션에 저장되어 있기 때문에, 프로그램을 통해서 captcha를 간단히 우회해버릴 수 있음.
또한 그 외의 민감한 정보들이 노출되거나, CSRF 공격에 악용될 잠재적 위협 가능성이 있음.