Weakness
XSS를 이용하여 cookie 정보 탈취 가능
Description
개요
XSS(Cross-Site Scripting) 이란 웹 애플리케이션에서 일어나는 취약점으로 관리자가 아닌 권한이 없는 사용자가 웹 사이트에 스크립트를 삽입하는 공격 기법입니다.
이러한 공격 기법을 통해 악의적인 사용자가 C&C 서버로 리다이렉션 하기 위해 리다이렉션 스크립트를 주입하여 중간 경유지로 활용하기도 하고,
사용자의 쿠키를 탈취하여 세션 하이재킹(Session Hijacking) 공격을 진행 하므로 반드시 보안 되어야 할 취약점 입니다.
재현 과정
[취약점 재현을 하기 위한 과정을 서술해 주세요]
- [step1]
COMPANY -> NOTICE 메뉴에서 게시물 검색할때 s_txt 파라미터 값에 스크립트 구문 삽입
- [step2]
예상되는 취약점 발생 원인
사용자 입력값 검증 미흡으로 인한 취약점 발생
패치 방법
출력 값을 무효화하기 위해서는 XSS 공격은 기본적으로 <script> 태그를 사용하기 때문에 XSS
공격을 차단하기 위해 태그 문자(<, >) 등 위험한 문자 입력 시 문자 참조(HTML entity)로
필터링하고, 서버에서 브라우저로 전송 시 문자를 인코딩하는 것이다. HTML 문자 참조란 ASCII
문자10)를 동일한 의미의 HTML 문자로 변경하는 과정이다. 예를 들어, 문자 “<”는 동일한 의미의
HTML “<”로 변경한다. HTML 엔터티는 대부분의 인터프리터(특히, 브라우저)에서 특수한
의미를 가지지 않으며, 단순한 문자로 처리된다. 이렇게 인코딩하면 사용자는 <script>가
<script>로 보이지만 HTML 문서에서는 <script>로 나타나서 브라우저에서 일반 문자로
인식하고 스크립트로 해석되어 실행되지는 않는다
## 예상 결과 및 파급력
1. http://www.ncurity.com/sub/1_6.php?s_txt=bugcamp%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
-> ncurity 홈페이지에 접속할려는 일반 사용자들이 www.ncurity.com 주소만 확인 후 신뢰 할 수 있는 페이지라 생각하고 접속
-> s_txt 파라미터 취약점으로 인해 일반 사용자들의 cookie 값 흭득 및 공격자의 악성 사이트로 접속 가능 등 다양한 취약점 발생
## 기타사항 및 레퍼런스
[그 외에 추가할 내용이 있다면 이곳에 작성해주세요.(스크린샷, 로그 등)]
* [첨부파일 / 레퍼런스]
안녕하세요. 제보자님
엔큐리티 버그바운티 프로그램에 제보해주셔서 감사합니다.
제출해주신 티켓은 유효한 티켓으로 Reflected XSS 취약점이 발현되는 것을 확인하였습니다. 해당 티켓은 담당자에게 전달될 예정이며, 담당자 업무 일정으로 인해 패치가 지연될 수 있는점 참고부탁드립니다.
감사합니다.