반응형

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만 지원하는 거였군요;;

(크롬도 제한적으로 지원하는 것 같긴한데..)

이미지 출처 : https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-XSS-Protection

반응형

'기타' 카테고리의 다른 글

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

+ Recent posts