Ctrl + Shift + ESC

[Pwnable.kr] cmd1 본문

Hacking/System

[Pwnable.kr] cmd1

단축키실행해보세요 2022. 5. 22. 23:11

ls -l로 파일을 확인한 뒤에 flag 파일을 읽어보려 했으나 거절당했다.

그래서 cmd1.c 파일을 읽어보았다.

#include <stdio.h>
#include <string.h>

int filter(char* cmd){
	int r=0;
	r += strstr(cmd, "flag")!=0;
	r += strstr(cmd, "sh")!=0;
	r += strstr(cmd, "tmp")!=0;
	return r;
}
int main(int argc, char* argv[], char** envp){
	putenv("PATH=/thankyouverymuch");
	if(filter(argv[1])) return 0;
	system( argv[1] );
	return 0;
}

filter() 함수에서 flag, sh, tmp를 사용하는 것을 막고 있었다.

이를 피하기 위해서는 와일드카드를 이용하면 된다.

https://ko.linux-console.net/?p=2244 

 

Linux에서 와일드 카드를 사용하여 파일 이름을 일치시키는 10 가지 실용적인 예

Linux에서 와일드 카드를 사용하여 파일 이름을 일치시키는 10 가지 실용적인 예 와일드 카드 (메타 문자라고도 함)는 다른 문자를 나타내는 기호 또는 특수 문자입니다. ls 명령 또는 rm 명령과 같

ko.linux-console.net

 

flag를 무사히 읽어냈다.

무사히 해결했다!