XSS를 대비하기 위한 방법
- 위험한 문자 변환
XSS공격을 위해서는 프폰트엔드 언어를 사용하게 된다. 그렇기 대문에 이를 막기 위해서 위험한 문자를 차단 할 필요가 잇다. 위험한 문자로는 대표적으로 태그문자인 <,>등이 있다. 이러한 문자는 HTML 예약어로 이루어진 문자셋인 HTML entitiy를 사용한다. 예시는 다음과 같다.
<p>
위 문자가 들어가게 되면 우리는 <p>라고 보이게 되지만 실제로 p태그가 실행되지는 않는다.
php에서는 htmlspecialchar() 함수를 통해 HTML 엔터티로 변환 가능
- White List 기반 필터링
만약 HTML태그 사용을 허용해야 할 경우에 특정 태그만을 허용할 수 있다. 이 경우 사용 가능한 태그만으로 공격해야 하기 때문에 확률이 훨씬 낮아진다.
- CSP(Content Security Policy) 사용
CSP는 리소스의 로딩이 기본 페이지와 동일한 출처일때만 로드될 수 있도록 한다. 다시말해 공격자가 XSS취약점을 발견하더라도 현제 출처의 리소스만 로드할 수 있어 취약점 악용을 어느정도 방지 할 수 있다. 다만 이는 완벽한 보안책이 아니므로 다른 보안책들과 병행해야 한다.
'모의해킹 및 보안' 카테고리의 다른 글
CSRF_요청을 보내지만 페이지 유지하는방법. (0) | 2023.05.19 |
---|---|
Keylogger_JS (0) | 2023.05.17 |
XSS_공격코드 예시 (0) | 2023.05.09 |
XSS_ 공격 코드 유형 (0) | 2023.05.07 |
XSS (0) | 2023.05.07 |