본문 바로가기
3. 웹 애플리케이션 취약점 진단

로그인 과정 패킷에서 도출되는 ReturnURL을 활용한 악성 컨텐츠 삽입 방법 + URL 주소 패턴 탐지 우회

by Robert8478 2024. 6. 20.

악성 콘텐츠 삽입 - Redirection

보통 XSS(크로스사이트 스크립팅) 공격 방식을 활용하여 사용자로 하여금 악성 사이트로 리다이렉트 시키는 방식을 자주 사용하나 URL에 노출되는 파라미터 값을 ReturnURL로 사용하여 결과 값에 대한 반환 URL 주소 값을 파라미터 값으로 받는경우 악성 사이트로 리다이렉트 시키는 컨텐츠 삽입이 가능해진다.

취약점 진단 간 로그인 과정에서 도출되는 취약 파라미터에 외부 URL 삽입 결과 성공적으로 사용자를 외부 사이트로 리다이렉트 시키는 공격 과정을 도출해냈다.

이는 글쓰기 후 본인인증 간 패킷을 잡았을때 확인 가능했던 URL 주소다. Copy URL하여 retUrl 값에 외부 URL 주소를 넣는 형태로 진행한다.

취약 파라미터에 외부 URL 주소를 삽입했다. 그리고 여기서 발견한 것은 웹 서버에서 https://….co.kr 과 같이 https://가 들어간 형태의 사용자 입력 값을 필터링 처리하고 있다.

하지만 이와 같은 방식은 https:를 제거하고 //…co.kr 과 같은 방식을 사용하면 우회되는 경우가 상당히 많다.

그렇기에 //igloo.co.kr와 같은 방식으로 외부 URL 주소 값을 삽입했고, 성공적으로 리다이렉션이 되는 것을 확인할 수 있었다. 이와 같이 로그인이 진행되는 등 다양한 위치에서 발견 가능한 ReturnURL 취약점은 Reflected XSS와 같은 방식의 악성 컨텐츠 삽입 공격으로 이루어질 수 있으며, //domain.co.kr 과 같은 형태의 링크 주소 형태 또한 차단해야 할 것이다.