command injection은 공격자의 controllable input이 쉘 실행 함수의 인자에 도달할때 발생한다.이러한 함수의 예로 system, execve, popen가 있는데, 명령어 삽입과 출력 관점에서 차이점에 대해서 정리한다. system()#include int main() { system("ls -l /home/"); return 0;} $ strace -f --trace=execve ./system_testexecve("./system_test", ["./system_test"], 0x7ffda5ff59e0 /* 27 vars */) = 0strace: Process 790 attached[pid 790] execve("/bin/sh", ["sh", "-c", "ls..