WEB/설정 및 에러

[웹 보안취약점] HttpOnly 확인 방법

Diabol 2021. 4. 15. 17:47

cookie 에 HttpOnly 속성이 설정되어 있지 않으면

스크립트 언어를 이용해 쿠키 정보를 볼 수 있으므로 XSS 공격이 가능하다.

 

 

 

현재 적용되어있는지 확인하는 방법은

 

1) 개발자도구(F12) > Console > "document.cookie"

 

HttpOnly 속성이 설정되어 있지 않으면

공격자가 "document.cookie" 를 삽입해서 쿠키정보를 사용할 수 있다.

이때 쿠키정보가 나오지 않아야 공격을 방지할 수 있겠지요~

 

JSSESSIONID, PHPSESSIONID, ASP.NET_SESSIONID 등등 사용자의 세션/쿠키 값이 출력되지 않아야한다.

위처럼 노출되면 HttpOnly 가 미적용된 것!

 

적용된 경우엔

 

이런식으로 아무것도 나오지 않거나, 팝업 같은 쿠키의 값만 나와야한다.

팝업같은건,,나와도 상관없겠지,,? 사실 잘 모름;

 

서버쪽에서 HttpOnly 속성 적용하는 방법은 다음 게시글에 따로 써놓겠다!

맨 밑에 링크 삽입하겠슴!

 

 

 

2) 크롬 확장프로그램 EditThisCookie

 

다운링크

 

 

이 확장 프로그램은 속성들을 가상으로(?) 적용해 볼 수 있다.

적용/미적용할 속성의 체크박스를 설정하고 맨 밑의 동그라미 표시해둔 체크 버튼을 누르면 된다.

물론 가상이니 본인한테만 일시적으로 적용되는 것이다.

 

HTTP 전용이 HttpOnly 속성이다.

체크 되어 있다면 적용이 되어있는 것이다.

이때 1의 방법을 사용하면 사용자의 세션값이 나오지 않을 것이고~

미체크 되어 있다면 사용자의 세션값이 고대로 나올 것이다~

가상 적용이 가능하니 한번 해보세요~!~!

 

가상으로 적용한 설정을 초기화하고 싶다면 맨 위의 휴지통 부분을 누르면 세션 전체 삭제가 된다.

삭제 후 새로고침을 누르면 원래의 쿠키정보들이 나오게 된다.

만약 가상 적용하고 초기화하지 않는다면 계속 해당 설정으로 나오니

기존 설정과 헷갈리지 않게 꼭 초기화해서 원래 쿠키로 돌려놓길 바람!

 

 

 

3) curl 명령어

 

curl -I URL

(-i 로 하면..html 코드도 와장창 나오니 주의)

 

 

윈도우는 따로 설치를 해주어야한다. 리눅스도 해야되는지는 몰겄다. 안해봄

다운 링크에 리눅스가 있긴 함

 

curl.se/download.html < 다운 링크

 

본인 컴의 운영체제와 비트에 맞는 파일을 다운받자.

똑같은게 여러개 있으면 난 맨위에 걸로 다운받았다. the curl project < 이걸루

 

윈도우의 경우에 설치해도 명령어가 지원되지 않으면

해당 경로의 bin 폴더로 이동하여 명령어 사용하면 된다.

나는 다른 폴더에서도 잘 지원된다!

아마 뭐 윈도우가 옛날꺼면 이동해야하고 그런거같다..?

 

아무튼, 헤더 정보가 출력되면서 'Set-Cookie' 부분 마지막에 HttpOnly 가 있으면 적용된거다!

 

근데 가끔..왜인지는 모르겠는데 홈페이지 접속은 잘되는데 명령어로 치면 404 나오면서 쿠키 정보 안나오는게 있다..

 

Secure의 경우에도 1,3 방법으로 확인가능하다!

 

 

 

▼ HttpOnly 설정 방법

diabol.tistory.com/54

 

[웹 보안취약점] HttpOnly 설정 방법 (Tomcat, IIS 10)

⊙ Tomcat 1) tomcat/conf/context.xml 톰캣 6 이상부터 지원한다! 5.5.28 부터도 가능할지도.. 내 경우엔 5.5.27 이여서 톰캣이랑 자바 업그레이드 해야댐ㅋㅋ망ㅋㅋ 경로..

diabol.tistory.com