취약한 코드를 '중단'해야하는 과제가 있습니다. 미리보기 : 홈 디렉토리에cygwin에서 .exe 파일을 실행하는 printf
- 실행 copypasta : 결국
int main(int argc, char **argv) { /*...*/ while(i < argc-1) { switch(argv[i][0]-48) { case 1: SmashHeap(argc,argv); break; /*...*/ case 8: PrintfVulnerability(argv[++i]); break; default: printf("%s is not recognized by this program",argv[i++]); /*...*/ } i++; } return (1); } void PrintfVulnerability(char *F) { printf(F); }
, 나는 내가 ... 내 솔루션을 가난한 등급을 얻을 수 있습니다 두려워 너무 놀라 울 정도로 간단했다 발견 ... 나는
$ ./VulnerableCode 8 `freecell.exe`
sry, 형식이 내 명령 줄에서 백틱을 먹지 않았다는 것을 알지 못했습니다.[backtick]을 적절한 기호로 바꾸십시오. – rusl