관리 메뉴

Information Security

XSS - Stored(User-Agent) 본문

Web Security/Bee-Box

XSS - Stored(User-Agent)

HackingPractice 2019. 8. 31. 17:43

XSS - Stored(User-Agent)

- 접속한 웹 브라우저의 정보가 저장된 User-Agent 헤더 값을 테이블 형태로 출력한다.

 

Level (Low)

User-Agent 부분에 <script>document.write(document.cookie)</script>를 입력했다.

그림 1-1 쿠키 값

게시판에 쿠키 값이 저장된 것을 알 수 있다.

그림 1-2 게시판

Level (Medium)

Level (Medium)도 그림 1-1처럼 User-Agent 부분에 스크립트를 삽입했다.

그림 1-3 스크립트

그림 1-2처럼 쿠키 값이 보이지 않고 공백으로 보이는 것을 알 수 있다.

그림 1-4 공백처리

Level (High)

Level (High)도 그림 1-1처럼 User-Agnt 부분에 스크립트를 삽입했다.

그림 1-5 스크립트

Level (High)은 스크립트 언어가 그대로 노출되는 것을 알 수 있다.

그림 1-6 스크립트 노출

대응방안

htmlspecialchars 함수를 호출하여 입력 데이터를 UTF-8로 인코딩한다. 두 번째 인자에 ENT_QUOTES를 추가하여 XSS에 사용되는 특수 문자들을 HTML 엔티티 코드로 변환하여 스크립트 코드를 입력하여도 웹 브라우저에서는 문자로 인식한다.

그림 1-7 functions_external.php 소스코드

'Web Security > Bee-Box' 카테고리의 다른 글

XSS – Reflected(POST)  (0) 2019.09.07
XSS – Reflected(GET)  (0) 2019.09.07
XSS – Change Secret  (0) 2019.08.31
XSS - Stored (Blog)  (0) 2019.08.31
Session Mgmt – Administrator Portals  (0) 2019.08.31