반응형
ி X-Frame-Option
사용자의 눈에 보이지 않는 영역을 추가하여 사용자는 의도한대로 버튼을 누르지만 실제로는
다른 곳을 클릭하게 만드는 ClickJacking 방지 옵션이다.
헤더
X-Frame-Options : DENY 모든 표시 거부
X-Frame-Options : SAMEORIGIN 동일한 출처만 표시
X-Frame-Options : ALLOW FROM http://a.com a.com에 대해서만 허용
ி X-Content-Type-Option
자바스크립트를 로딩하려면 JavaScript MIME 형식("text/javascript" 또는 "application/javascript")을 가져야만
JavaScript로 해석한다는 의미이다. 공격자가 다른 확장자(jpg)로 서버에 파일을 업로드 한 후 script 태그등의
src 경로를 변경하여 script를 로드 하는 등의 공격을 방지한다.
헤더
X-Content-Type-Options: nosniff
ி Strict-Transport-Security
https로 전송한 요청을 중간자가 가로채어 내용을 볼 수 있는(MIMT)기법을 클라이언트 레벨(브라우저)에서 차단이 가능하다.
SSL Strip Sniffing
사용자에게 전달하는 공격이다. HTTP로 접근할 때, 302 Redirect 이면 주로 발생한다.
헤더
Strict-Transport-Security: max-age=63072000;includeSubDomains;preload max-age=63072000
: 일정 시간(max-age)동안 https 접속을 강제화, 63072000은 2년을 의미한다.
includeSubdomains : 모든 서브도메인에 HSTS 규칙을 적용한다.
preload : 웹서버에서 HSTS를 응답 헤더로 제공하는건 최초 HTTP 연결 시 HSTS 헤더 수신 전에 SSL 스트립이 가능한 문제가 존재하므로 HSTS 적용이 클라이언트 단에서 preload로 적용되도록 설정하면 브라우저의 preload list에 추가된다.
서버단 설정
// 사용자가 HTTPS로 요청했는지, 서버에서 HTTPS가 활성화되어 있는지 체크
$is_https = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on'));
if(!$is_https){
die('http://로 접속하실 수 없습니다.');
}
ி X-XSS-Protection
헤더
X-XSS-Protection: 0
X-XSS-Protection: 1 XSS 감지 시 자동으로 내용 치환
X-XSS-Protection: 1; mode=block 페이지 렌더링 차단
X-XSS-Protection: 1; report=<reporting-uri> 페이지 렌더링 차단 후 위반 사항보고(Chromium만 가능)
ி Cache-Control
이 헤더는 cache 적용을 방지하는 헤더로서 개인정보가 포함된 로그인 페이지 등에 주로 사용된다.
헤더
Cache-Control: no-cache, no-store, must-revalidate
// HTTP 1.1 Pragma: no-cache // HTTP 1.0 Expires: 0 // Proxies
ி 쿠키 조회 방지
개발자도구 > 애플리케이션 > JSESSIONID 값에서 HttpOnly가 설정된 경우
document.cookie 값 조회가 되지않는다.
HttpOnly는 서버로 요청 패킷을 보낼때만 쿠키 전송이 가능하도록 설정하는 옵션,
secure는 HTTPS 통신인 경우에만 쿠키 전송이 가능하다.
반응형
'해킹-보안' 카테고리의 다른 글
NAC(Network Access Control) 우회 (0) | 2021.05.13 |
---|---|
nmap 포트스캔 (0) | 2021.05.06 |
Fiddler Customize Rules (1) | 2021.04.12 |
xss-game level6 (0) | 2021.04.06 |
CSP(Content-Security-Policy) (0) | 2021.03.19 |