안전한 쉘 명령어 실행: 새로운 문자열 보간 접근 방식
2025-03-22
이 글에서는 사용자 입력을 사용하여 쉘 명령어를 실행할 때 명령어 인젝션 취약성을 방지하는 안전한 방법을 살펴봅니다. 저자는 먼저 취약한 예시를 보여준 다음, 세 가지 개선된 해결책을 제시합니다. `execFile`을 `exec` 대신 사용하는 것, 환경 변수를 통해 인수를 전달하는 것, 그리고 JavaScript의 태그 달린 템플릿 리터럴을 사용하여 안전한 보간을 수행하는 것입니다. 이 글에서는 Python과 Swift와 같은 다른 언어에서의 유사한 접근 방식도 비교하고, 데코레이터와 정규 표현식을 사용하여 안전한 보간을 구현하는 놀라울 정도로 영리한(하지만 프로덕션 환경에는 적합하지 않은) Python 솔루션을 보여줍니다.
개발
명령어 인젝션