2018년 이전 관심사/프로그램 언어
[Python] eval 함수 사용 시 주의 점
Life4IoT.rnd
2022. 5. 6. 20:52
반응형
eval 함수는 간단한 연산식을 string에 저장 후 실행 할 수 있는 함수 이다.
단 이때는 Command Injection Flaw를 그대로 노출 할 수 있는 문제가 있다.
예를 들면 아래와 같이 작성된 코드를 실행 하고
x = str(input(">> input some text for mathematical expression : ")
print eval(x)
아래와 같이 Command를 입력 하면 시스템의 디렉토리 정보를 보거나 디렉토리의 내용을 삭제 할 수 있는 위험이 있다.
>> input some text for mathematical expression: __import__('os').system('ls /')
>> input some text for mathematical expression: __import__('os').system('rm -rf /')
이런 부분을 고려하여 프로그램에서 예외 처리가 필요 할 듯 하다.
반응형