Python

Python – XSS 관련 패키지 (MarkupSafe)

  • MarkupSafe 패키지란?
    • MarkupSafe 패키지는 문자 내에서 스크립트를 메타 데이터로 변환해주는 Python 패키지로 XSS (사이트 간 스크립팅) 공격을 방지할 수 있는 패키지입니다.
  • 패키지 설치
# 설치
pip install -U MarkupSafe

# 추가로 freeze
pip freeze > requirements.txt
  • Markup
    • 들어오는 인자 값만 이스케이프 할 수 있습니다.
from markupsafe import Markup

print(Markup("Hello <em>{name}</em>").format(name='"World"'))
# Hello <em>&#34;World&#34;</em>

print("Hello <em>{name}</em>".format(name='"World"'))
# Hello <em>"World"</em>
  • escape
    • 내부의 문자열을 이스케이프 해줍니다.
from markupsafe import Markup, escape

escape_code = Markup.escape("<script>alert('hello {name}');</script>").format(name='World')

print(escape_code) 
# &lt;script&gt;alert(&#39;hello World&#39;);&lt;/script&gt;

print(escape_code.unescape())
# <script>alert('hello World');</script>

참고 자료

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.