Yoo kembali lagi dengan gw Yukinoshita 47 kali ini gw mau share writeup game hacker ini yang bernama Pwnable.kr :v
sedikit penjelasan Pwnable ini adalah wargame mirip dengan CTF tapi berbeda konsep nya :v
write up kali ini adalah FD dalam kategori [Toddler's Bottle]
challenge nya adalah
Mommy! what is a file descriptor in Linux?
* try to play the wargame your self but if you are ABSOLUTE beginner, follow this tutorial link: https://www.youtube.com/watch?v=blAxTfcW9VU
ssh fd@pwnable.kr -p2222 (pw:guest)
oke langsung sadja kita ke TKP
pertama-tama konekin dulu ssh nya buat ngakses soal challenge nya :
Yukinoshita47 pwnable # ssh fd@pwnable.kr -p2222
lalu masukkan passwordnya guest
setelah itu
lihat file nya
fd@ubuntu:~$ ls -la
di situ ada file
drwxr-x--- 5 root fd 4096 Oct 26 03:50 .
drwxr-xr-x 80 root root 4096 Jan 11 23:27 ..
d--------- 2 root root 4096 Jun 12 2014 .bash_history
-rw------- 1 root root 128 Oct 26 03:50 .gdb_history
dr-xr-xr-x 2 root root 4096 Dec 19 01:23 .irssi
drwxr-xr-x 2 root root 4096 Oct 23 10:38 .pwntools-cache
-r-sr-x--- 1 fd_pwn fd 7322 Jun 11 2014 fd
-rw-r--r-- 1 root root 418 Jun 11 2014 fd.c
-r--r----- 1 fd_pwn root 50 Jun 11 2014 flag
dan di file fd.c itu adalah source code nya jadi mari kita lihat source code nya
fd@ubuntu:~$ cat fd.c
maka akan muncul seperti gambar dibawah ini
berikut source code nya
#include <stdio.h>yg jd perhatian gw adalah lihat tulisan yg gw bold itu ya benar bagian
#include <stdlib.h>
#include <string.h>
char buf[32];
int main(int argc, char* argv[], char* envp[]){
if(argc<2){
printf("pass argv[1] a number\n");
return 0;
}
int fd = atoi( argv[1] ) - 0x1234;
int len = 0;
len = read(fd, buf, 32);
if(!strcmp("LETMEWIN\n", buf)){
printf("good job :)\n");
system("/bin/cat flag");
exit(0);
}
printf("learn about Linux file IO\n");
return 0;
}
int fd = atoi( argv[1] ) - 0x1234;
int len = 0;
len = read(fd, buf, 32);
if(!strcmp("LETMEWIN\n", buf)){
printf("good job :)\n");
system("/bin/cat flag");
exit(0);
}
printf("learn about Linux file IO\n");
return 0;
kemudian gw coba eksekusi progam fd nya
fd@ubuntu:~$ ./fd 0x1234
maka akan muncul seperti gambar dibawah ini dan itu tentu saja bukan flag nya :v
solusi nya adalah gw convert 0x1234 dengan bilangan lain seperti gambar dibawah ini
fd@ubuntu:~$ ./fd 4660 kemudian gw tekan enter masih sama yang muncul kalimat learn about Linux file IO
kemudian gw liat di script nya ada tulisan LETMEWIN jd gw coba eksekusi lagi dengan fd@ubuntu:~$ ./fd 4660 kemudian gw tekan enter lalu ketik LETMEWIN lu gw tekan enter bumm flag nya nongol :p wkwkwkwkwk
good job :)
mommy! I think I know what a file descriptor is!!
seperti gambar dibawah ini
sampai jumpa di writeup berikut nya :*
Banyak Anak Underground Yang Bilang CTF itu Copo
Kita Maklumin Aja Karena Otak Nya Berpikiran Sempitterlalu serius di dunia maya gak baik lhowkwkwkwkwkwkwkwk