html 태그로 공격가능하다는걸 알게되다....

이민기·2022년 8월 10일
0

html 태그를 이용해서 단순하게 공격할수 있다는걸 알게 되었습니다.

사이트에 기본적으로 글이나 댓글을 작성할때 html 태그를 입력하여, 어떤 액션을 취할수 있고,

보안이 취약하다면, 서버에도 악 영향을 미칠수 있다는걸 알게 되었습니다.

그렇다면 해결 방법은???

근본적인 해결방법은 태그에 관련된 문자들을 치환해 주는 방법 입니다.

function replace_text(text) {
    let text_replaced = text.replace(/<(\/)?([a-zA-Z]*)(\s[a-zA-Z]*=[^>]*)?(\s)*(\/)?>/gi, "");
    return text_replaced;
}

상단에 함수를 만들어서 해당 문자들을 전부 치환해서 사용하는 방법 입니다.

프론트에서도 물론 제어하여 사용할수 있지만, 서버에서도 같이 치환해 주어야 합니다.

import re

def replace_html(value):
    value = re.sub('<[^>]*>', '', value)
    return value

re라는 모듈을 이용하여, 함수 하나를 만들어 주었습니다.

해당 value 값을 받아와서 다시 치환하여, 보내줍니다.

이로써 html 태그들은 막은 셈입니다.

이번 계기로 좀더 서버나 프론트쪽 보안에 신경써야 겠다는 생각을 하게 됩니다.

profile
지나가는사람

0개의 댓글