WEB/설정 및 에러

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

Diabol 2021. 4. 15. 18:33

⊙ Tomcat

 

- tomcat/conf/context.xml

<?xml version="1.0" encoding="UTF-8">
<Context path="/[webapp 경로]" useHttpOnly="true">

톰캣 6 이상부터 지원한다! 5.5.28 부터도 가능할지도..

(근데 업그레이드하면 자동으로 httponly 적용이 됐던 것 같은..)

 

경로는..보통 홈페이지 전체에 다 거니까 path="/" 로 했당

path 부분 제외해도 됨! 그럼 전체에 되는거겠지

 

 

 

⊙ WEBAPP

 

- WEB-INF/web.xml

<session-config>
	<cookie-config>
		<http-only>true</http-only>
	</cookie-config>
</session-config>

이것도 톰캣 6 (or 5.5.28) 이상부터 되려나?

 

 

 

⊙ Java

 

Cookie cookie = getMyCookie("myCookieName");
cookie.setHttpOnly(true);

쿠키 설정하는 부분에서 2번째 줄 처럼 설정해주면 된다.

근데 이것두 servlet 3.0 부터 지원한다ㅋㅋㅋㅋ..

 

내 경우엔 2.4 여서ㅋㅋㅋㅋ위에서 말했듯이 업그레이드를^^..ㅠㅠ

SESSION ID 에 "; HttpOnly" 를 붙여보고..

쿠키 값보면 path 속성도 있는데 path 에 "; HttpOnly" 도 붙여보고..

했는데 안됨^~^..

뭐 되는 방법이 있을 수는 있는데!

버전 자체도 너무 낮은 버전이라.. 미래를 위해서라도 업그레이드 하기로ㅠㅠ

 

사실 톰캣에 설정하는게 젤 간단하죠.

자바로 하면 빌드해서 클래스 갖다 붙여야되니..

 

 

 

⊙ PHP

 

1)  php.ini

session.cookie_httponly = True

php 5.2.0 이상부터 가능

 

이건 서치해보니까 php4 에서도 setCookie 로 할 수 있는 것 같은데 > blog.bbom.org/77

setCookie 마다 다 설정해줘야하는 것 같아서..

뭐 검색해서 해주면 되긴 하지만.. 4도 낮으니.. 미래를 위해서 업그레이드 후 적용하기로..ㅠㅠ

 

 

 

 IIS 10

 

1) webapp 의 web.config

 

 

<configuration> - <system.webServer> - <rewrite> 안에 빨간 박스 부분을 넣어주면 된다!

 

▼ 코드

더보기
<outboundRules>
    <rule name="Add HttpOnly" preCondition="No HttpOnly">
        <match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
        <action type="Rewrite" value="{R:0}; HttpOnly" />
        <conditions></conditions>
    </rule>
    <preConditions>
        <preCondition name="No HttpOnly">
            <add input="{RESPONSE_Set_Cookie}" pattern="." />
            <add input="{RESPONSE_Set_Cookie}" pattern="; HttpOnly" negate="true" />
        </preCondition>
    </preConditions>
</outboundRules>

 

사진 위에 HTTPS 설정 한 것 때문에 오류날까 걱정하면서 다른 방법 찾다가 없어서 해봤는데 바로 됨ㅋㅋ..

 

 

 

2) IIS 관리자 > URL 재작성

 

..에도 가능하겠지! HTTPS Redirect 도 여기서 설정가능하니..

어차피 여기서 설정해도 web.config 에 기록될 것이다.

근데 규칙 추가하는게 어려워서.. 굳이 이걸로 안해도 될 듯!

그냥..이 방법도 가능할 것 같다는 말이다. 혹시 1 방법 안되는 사람 있을 수도 있으니..

 

 

 

 

 

▼ Secure 설정은 여기 참고하면 될 것 같다.

go-madhat.github.io/httpOnly-secureCookie/

 

HTTP Only와 Secure Cookie

쿠키의 HTTP Only 옵션과 Secure 옵션에 대해 알아보는 글입니다.

go-madhat.github.io

 

 

 

▼ HttpOnly 적용이 잘 되었는지 확인하는 방법!

https://diabol.tistory.com/53

 

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

cookie 에 HttpOnly 속성이 설정되어 있지 않으면 스크립트 언어를 이용해 쿠키 정보를 볼 수 있으므로 XSS 공격이 가능하다. 현재 적용되어있는지 확인하는 방법은 1) 개발자도구(F12) > Console > "document

diabol.tistory.com