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>를 입력했다.
게시판에 쿠키 값이 저장된 것을 알 수 있다.
Level (Medium)
Level (Medium)도 그림 1-1처럼 User-Agent 부분에 스크립트를 삽입했다.
그림 1-2처럼 쿠키 값이 보이지 않고 공백으로 보이는 것을 알 수 있다.
Level (High)
Level (High)도 그림 1-1처럼 User-Agnt 부분에 스크립트를 삽입했다.
Level (High)은 스크립트 언어가 그대로 노출되는 것을 알 수 있다.
대응방안
htmlspecialchars 함수를 호출하여 입력 데이터를 UTF-8로 인코딩한다. 두 번째 인자에 ENT_QUOTES를 추가하여 XSS에 사용되는 특수 문자들을 HTML 엔티티 코드로 변환하여 스크립트 코드를 입력하여도 웹 브라우저에서는 문자로 인식한다.