openpyxl을 사용하여 신뢰할 수없는 입력 (예 : 관리 분석을위한 웹 응용 프로그램의 데이터 내보내기)을 기반으로 스프레드 시트를 만들 때 수식은 스크립트 삽입을위한 벡터가 될 수 있습니다. 엑셀이 스프레드 시트에서 악의적 인 공식을 실행하면 관리자의 시스템을 인수하거나 데이터를 추출 할 수 있습니다.openpyxl 통합 문서에 추가 된 수식의 실행 방지
from openpyxl import Workbook
wb = Workbook()
ws = wb.active()
ws.append(["=1 + 2"])
ws.save(filename='/tmp/formula.xlsx')
엑셀 /tmp/formula.xlsx
열기 화학식 실행 :
예를 들어,이 간단한 통합 수식을 추가한다. =1 + 2
은 양성이지만 또한 =2+5+cmd|' /C calc'!A0
과 같은 악의가 있습니다. [reference]
워크 시트에 수식으로 해석되지 않도록 데이터를 쓰려면 어떻게해야합니까? 모든 것을 문자열로 강요하는 것이 아니라 날짜와 숫자와 같은 실행 불가능한 데이터에 대한 서식을 유지하는 것이 편리 할 것입니다.