IE에서 "교차 사이트 스크립팅을 방하기 위해 Internet Explorer가 이 페이지를 변경했습니다." 라는 메시지가 뜨면서 사이트에 # (샵) 표시 하나만 덩그러니 뜨는 현상을 마주하고 많이 당황스러웠던 경험을 공유 합니다.
동일한 주소로 Chrome에서는 정상적인 화면이 노출되는데 말이죠.
url 주소에 a=<script> 와 같은 파라미터를 강제로 입력하면 브라우저에서 자체적으로 XSS 공격으로 인식해서 뭔가 동작을 하는 것 같았습니다.
그런데 더 당황스러운건 동일한 파라미터를 네이버 검색에 적용했더니, 아래 화면 처럼 동일한 경고 메시지가 뜨긴 하지만 멀쩡한 화면이 그대로 노출된다는 사실이었습니다.
뭐지???
엄청난 삽질 끝에 알아낸 사실은 바로 응답 헤더 x-xss-protection 값 설정에 답이 있었습니다.
search.naver.com 도메인은 응답헤더에 x-xss-protection : 1; report=/p/er/post/xss 로 되어 있어서 정상적으로 노출되었고,
www.naver.com 도메인은 응답헤더에 x-xss-protection : 1; mode=block 으로 되어 있었습니다.
감이 오시죠?
네, 맞습니다.
x-xss-protection : 1; mode=block 로 응답 헤더에 설정되어 있는경우
주소창에 xss 공격으로 의심되는 파라미터가 넘어오면,
화면 자체를 #(샵) 으로 block 시키는 것 같습니다. IE 님 만요.. ㅜㅜ
애초에 x-xss-protection 을 IE와 Safari만 지원하는 거였군요;;
(크롬도 제한적으로 지원하는 것 같긴한데..)
'기타' 카테고리의 다른 글
OWASP 2023 Top 10 (0) | 2023.11.17 |
---|---|
2023년 OWASP Top 10 API 보안 위험 목록 (0) | 2023.11.17 |
slack 채널에 webhook 추가하기 (0) | 2023.03.14 |
PDF 비밀번호 제거 (0) | 2021.06.07 |
2021.03.19 기준 은행 공통 코드 (0) | 2021.05.03 |
투명도 16진수 (0) | 2021.01.09 |
Firebase Hosting 시작하기. (0) | 2020.08.10 |
이더리움 기반 ERC-20 토큰 만들기(2부) :: 2020.07 (3) | 2020.07.23 |