본문 바로가기
반응형

exec2

exec()에서 사용자 입력(악성코드) 동작 방지방 exec()에서 사용자 입력(악성코드) 동작 방지방법exec()는 문자열로 작성된 파이썬 코드 블록을 실행하는 매우 강력한 함수입니다. 그러나 외부 입력을 검증 없이 exec()로 처리하면 악의적인 코드를 실행할 수 있는 위험이 있습니다. 특히, import os; os.system('rm -rf /')와 같은 명령어가 실행되면 시스템에 심각한 피해를 줄 수 있습니다. 따라서 exec()를 사용할 때는 반드시 안전한 방법으로 사용자 입력을 처리해야 합니다.  1. 보안 문제 이해exec() 함수는 문자열로 전달된 모든 파이썬 구문을 실행할 수 있습니다. 예를 들어, 사용자로부터 입력받은 문자열이 다음과 같은 악의적인 코드를 포함할 수 있습니다. 예시에서 exec() 함수는 사용자 입력을 그대로 실행하고,.. 2024. 9. 9.
문자열을 파이썬 코드로 해석해서 실행하는 함수 : eval(), exec() 비교 문자열을 파이썬 코드로 해석해서 실행하는 함수 : eval(), exec() 비교문자열을 파이썬 코드로 해석해서 실행하는 함수인 eval()과 exec()는 파이썬의 동적 특성을 극대화하는 강력한 도구입니다. 이 두 함수는 입력받은 문자열을 코드로 변환해 실행하는 기능을 제공하며, 특정 상황에서 유연하고 강력한 기능을 발휘할 수 있습니다. eval()은 주로 단일 표현식을 평가하고 그 결과를 반환하는 데 사용되는 반면, exec()는 전체 코드 블록을 실행할 수 있습니다. 하지만 이와 같은 강력한 기능에는 보안상의 취약점과 성능 저하 문제를 동반할 수 있어, 무분별한 사용은 위험을 초래할 수 있습니다. 이 글에서는 eval()과 exec()의 주요 특징에 대해 비교했습니다. Python의  eval() .. 2024. 9. 4.
반응형