System hacking training/pwnable.kr
-
[Toddler's Bottle] leg write upSystem hacking training/pwnable.kr 2019. 1. 28. 17:22
arm에 관한 문제를 풀어봤습니다. Daddy told me I should study arm. But I prefer to study my leg! Download : http://pwnable.kr/bin/leg.c Download : http://pwnable.kr/bin/leg.asm ssh leg@pwnable.kr -p2222 (pw:guest) 이 문제는 arm 어셈블리언어를 알아야 풀 수 있습니다. 주어진 두 링크를 들어가보면 C코드와 어셈블리 코드가 주어집니다. 여기서 저는 어셈블리 코드로 분석을 진행했는데요. #include #include int key1(){ asm("mov r3, pc\n"); } int key2(){ asm( "push {r6}\n" "add r6, pc, $1\..
-
[Toddler's Bottle] blukat write upSystem hacking training/pwnable.kr 2018. 11. 15. 23:34
오랜만에 머리도 식힐겸 pwnable.kr toddler 문제를 잡았습니다. 요로쿵 생긴 귀여운 친구에용 Sometimes, pwnable is strange... hint: if this challenge is hard, you are a skilled player. ssh blukat@pwnable.kr -p2222 (pw: guest) 많이 쉬운 문제였습니다. 어렵게 생각해서 문제지...ㅎ blukat@ubuntu:~$ cat blukat.c #include #include #include #include char flag[100]; char password[100]; char* key = "3\rG[S/%\x1c\x1d#0?\rIS\x0f\x1c\x1d\x18;,4\x1b\x00\x1bp;5\x0..
-
[Toddler's Bottle] lotto write upSystem hacking training/pwnable.kr 2018. 8. 2. 02:55
toddler lotto 문제를 풀었습니다. 조금 삽질을 했는데 허탈하네요....ㅋㅋㅋ 2pt 문제이고, 문제 보시죠. Mommy! I made a lotto program for my homework. do you want to play? ssh lotto@pwnable.kr -p2222 (pw:guest) 별로 내용이 없어서 ssh연결하여 바로 c코드를 확인해보면 아래와 같이 나옵니다. lotto@ubuntu:~$ cat lotto.c #include #include #include #include unsigned char submit[6]; void play(){ int i; printf("Submit your 6 lotto bytes : "); fflush(stdout); int r; r = re..
-
[Toddler's Bottle] blackjack write upSystem hacking training/pwnable.kr 2018. 7. 31. 21:52
오늘을 pwnable.kr 의 blackjack - 1pt 문제를 풀이하였습니다. 문제 pt는 1pt 인데 소스코드의 양을 보고 조금 놀랐습니다. Hey! check out this C implementation of blackjack game! I found it online * http://cboard.cprogramming.com/c-programming/114023-simple-blackjack-program.html I like to give my flags to millionares. how much money you got? Running at : nc pwnable.kr 9009 flag는 백만장자가 되면 준다고 하네요. 사실 이 부분을 보지 않고 취약한 부분을 찾기 위해서 무작정 소스코드..
-
[Toddler's Bottle] cmd1 write upSystem hacking training/pwnable.kr 2018. 7. 27. 20:09
cmd1을 풀이하였습니다. Mommy! what is PATH environment in Linux? ssh cmd1@pwnable.kr -p2222 (pw:guest) 리눅스에서 환경변수에 관한 문제인듯 합니다. ssh 접속후 ls 로 파일명을 보면 cmd.c 파일이 있는데 아래와 같습니다. cmd1@ubuntu:~$ cat cmd1.c #include #include 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=/..
-
[Toddler's Bottle] random write-upSystem hacking training/pwnable.kr 2018. 7. 21. 20:50
pwnable.kr Toddler's Bottle 6번째 문제 random 을 풀이하였습니다. 아버님이 프로그래밍을 할때 random 값을 어떻게 사용하는지 가르쳐줬다고 하는것으로 보아 난수에 대한 문제로 추정을 했습니다. 그리고 ssh로 바로 접속을 하였고 바이너리의 소스 코드를 확인해보면 다음과 같습니다. rand()를 사용하여 난수를 생성하고 key값을 사용자로 부터 입력받아 xor 연산 후 0xdeadbeef와 같다면 쉘을 띄워줍니다. 만약 다르다면 2의 32제곱의 경우의 수를 생각해야될것이라고 언지를 해주면서 프로그램이 종료됩니다. rand()로 난수를 생성하는 것은 어쩌면 상관없을 것 같지만 이와 같이 key값을 인증하는곳에 쓰인다면 문제가 될 수 있습니다. 왜냐..! 저도 처음 알게된 사실이..
-
[Toddler's Bottle] passcode write upSystem hacking training/pwnable.kr 2018. 7. 21. 20:41
드디어 10pt passcode 문제를 풀었슴다..ㅎ 이 문제가 요구하는 선행지식은 다음과 같습니다. scanf() 에서 사용되는 &의 의미, linux에서 fflush(), got overwrite 위 개념들을 알고있어야 풀 수 있습니다. Mommy told me to make a passcode based login system. My initial C code was compiled without any error! Well, there was some compiler warning, but who cares about that? ssh passcode@pwnable.kr -p2222 (pw:guest) 문제는 위와 같고, ssh 로 접속해서 문제를 봅시다. #include #include void..
-
[Toddler's Bottle] shellshock write upSystem hacking training/pwnable.kr 2018. 7. 14. 19:39
오늘은 shellshock write up 을 작성해보겠습니다. Mommy, there was a shocking news about bash. I bet you already know, but lets just make it sure :) ssh shellshock@pwnable.kr -p2222 (pw:guest) shellshock 문제 이름에서도 알 수 있듯이 이 문제는 CVE-2014-6271, bash 쉘 4.3 이하 버전에서 원격 명령을 실행 할 수 있는 취약점을 다룹니다. 이 취약점이 bash shell 에 대한 취약점인만큼 bash에 대한 이해가 필요합니다. bash는 유닉스, 리눅스, 맥 계열에서 주로 사용되는 프로그램 명령어로 컴퓨터 작업을 할 수 있는 환경을 제공하는 소프트웨어입니다..