[보안 취약점] Privacy Violation: Autocomplete 해결 방법
by 무작정 개발Privacy Violation: Autocomplete 보안 취약점 발견
개발이 끝날 무렵 내가 수정한 부분에서 [ Privacy Violation: Autocomplete ]이라는 보안 취약점이 발견되었습니다.
[발생 원인]
Privacy Violation: Autocomplete
이 발생하는 원인은 HTML 태그에 autocomplete 속성이 없는 경우 발생하는 취약점입니다.
자동 완성을 사용하면 일부 브라우저의 기록에 민감한 정보를 보유할 수 있기 때문입니다.
해결 방법
해결 방법은 매우 간단하지만, 다만 해당 취약점은 보통 많은 건 수가 나와서 하나하나 수정해야합니다. HTML 안에 있는
태그에 autocomplete 속성 값을 off로 설정하면 모든 입력 필드의 자동 완성을 비활성화할 수 있습니다.
<form id="test" name="test" method="post" autocomplete="off"> </form>
추가적으로 태그에 autocomplete 가 없을 경우도 해당 취약점이 발견될 수 있습니다.
필자는 해당 태그에 autocomplete 자체가 없어서 발생하였습니다.
마지막으로 태그 사이에 passWord와 비슷한 민감한 정보가 들어있으면
"GET" 방식이 아닌 "POST"
방식으로 전송해야 합니다.
"GET" 방식으로 전송할 경우 Password Management: Insecure Submission
가 발생할 수 있습니다.
최신 브라우저에서 자동완성을 막을 경우
Chrom, 사파리 등 최신 브라우저에서는 위에 작성된 autocomplete가 동작하지 않을 수 있습니다.
그럴 경우에는 아래와 같이 작성하면 자동 완성 기능을 막을 수 있습니다.
<input type="password" autocomplete="new-password"/>
참고 사항
IE 같은 옛날 브라우저 말고 Chrome 브라우저와 같은 최신 브라우저에서는 해당 속성이 적용되지 않는다고 합니다.
보안 취약점이 나온 것을 해결하기 위한 것이니 autocomplete 속성을 삽입하면 통과할 수 있다고 합니다.
Reference
'Trouble Shooting' 카테고리의 다른 글
블로그의 정보
무작정 개발
무작정 개발