반응형
반응형
반응형




ssh fd@pwnable.kr -p2222 (pw:guest) 이 곳으로 원격접속을 합니다.


어떤 파일이 있나 확인해 보겠습니다.


fd@ubuntu:~$ ls -l

total 16

-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


fd, fd.c, flag 파일이 있네요.


fd@ubuntu:~$ cat flag

cat: flag: Permission denied


flag 파일을 볼 수 있는 권한은 없습니다.


fd.c는 fd의 소스코드인것 같으니 확인해보겠습니다.



fd@ubuntu:~$ cat fd.c

#include <stdio.h>

#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;


}


buf의 값이 "LETMEWIN" 이면 flag파일을 읽어와주네요.

버퍼오버플로우 문제는 아니고, fd를 이용해 푸는 것 같습니다.

read 함수에서 첫번째 인자로 fd값을 받는데 이때 fd 값은 아래와 같습니다:

0 | stdin | 표준 입력
1 | stdout | 표준 출력
2 | stderr | 표준 에러


fd의 값은 argv[1] - 0x1234가 들어가게 되고, argv[1]은 우리가 입력한 값이니 조작이 가능합니다.

buf에 "LETMEWIN"를 넣어 주어야 하므로 fd의 값을 0으로 하게 해서 입력을 받도록 하고, LETMEWIN을 넣어주면 될 것 같습니다.


자, argv[1]값으로 0x1234를 넣어 fd값을 0으로 만들어 줍시다.


atoi함수는 문자열을 정수로 바꿔주는 역할을 하기 때문에 0x1234를 10진수로 나타낸 4660을 입력하겠습니다.



fd@ubuntu:~$ ./fd 4660

LETMEWIN

good job :)

mommy! I think I know what a file descriptor is!!



FLAG : mommy! I think I know what a file descriptor is!!


반응형

'WAR GAME > Pwnable.kr' 카테고리의 다른 글

pwnable.kr [random] 풀이  (0) 2018.02.26
pwnable.kr [passcode] 풀이  (0) 2018.02.26
pwnable.kr [flag] 풀이  (0) 2018.02.26
pwnable.kr [bof] 풀이  (1) 2018.02.26
pwnable.kr [collision] 풀이  (0) 2018.02.25
반응형

제 2회 TeamH4C CTF 2020 Write-up 보러가기(클릭)



제 1회 TEAMH4C CTF Write Up


[Forensics] ArchiveFun


Stage 1 에서 Stage 10 까지 가야 한다.


stage1.zip 안에 stage2.yz1 이 있다.

yz1 압축파일은 IZArc 라는 프로그램으로 풀 수 있다.


그러면 stage3.zip를 얻을 수 있다.

stage3는 폴더 안에 폴더 안에 폴더...로 있기 때문에 HxD로 열어서 PK시그니처 부터 Dump 해서 zip파일을 만들어 준다.



stage4.zip 안에 힌트와 stage5가 있다.

힌트에는 Compressed by LZMA2 , LZMA2로 압축되어졌다고 한다. 이 압축파일은 7z로 풀 수 있으므로 stage5의 확장자를 7z로 바꾸어 주면 되는데

시그니처 부분이 비워져 있기 때문에 37 7A BC AF 27 1C 를 넣어 주어야 한다.



stage5.7z 안에 힌트와 samefilewithanother.txt 와 stage6.zip이 있다.

stage6.zip 안에는 힌트, samefilewithanother.txt, stage7.zip이 패스워드가 걸려 있다.

여기서 막혔는데 힌트가 printable,글자 수 모름 이라서 5자리까지 brute force 를 했지만 뚤리지 않았다. 

푸신 분은 pkcrack으로 평문공격하면 된다고 하셨다..



[MISC] deasiestone


-와 +로 이루어진 문자열을 준다.

--+----+ -+++-+-- -++----+ -++-+-++ -++--+-+ -++-++-+ --++--++ -+---+-- --++---- -+++-+++ -++-+++- -+++-+-- --++---- -+++-+-- -++-+--- -++--+-+ -+++---- --++-+-- -+-+--+- --++-+-- -+---+-- -+--+--+ -+-+--++ --++--++ -++---++ --++---+ -+++-+-- -++++--+ --+----+

-를 0으로 보고 +를 1로 보았을 때 모두 각 첫 바이트가 0으로 시작하는 ASCII 범위의 값들이기 때문에

- +를 각각 0 과 1로 치환하여 ascii로 바꾸어 주면 된다.


!takem3D0wnt0thep4R4DIS3c1ty!


FLAG : h4c{!takem3D0wnt0thep4R4DIS3c1ty!}



[MISC] Modulation


docx파일을 준다. docx는 zip으로 풀 수 있기 때문에 zip으로 풀어준다.



document.xml 를 보면 가사 속에 HEX값이 있다. 누가 봐도 플래그 값이다.


FLAG : h4c{W0W!!Sunmi_is_b3au7iFul!!}



[MISC] What The Issue


what_issue 라는 파일이 있다.


HxD로 열어보면 hex값이 0과 1로만 이뤄져 있다.


ascii로 WhatarethefullnamesofexploitablevulnerabilitiesinWPA2? 가 나온다.


What are the full names of exploitable vulnerabilities in WPA2? 의 답은 KRACKS 의 풀네임 Key_Reinstallation_Attacks 이다.


FLAG : h4c{Key_Reinstallation_Attacks}



[MISC] ExtremeJPG


용량이 매우 크다. Hxd로 봤을때 jpg의 헤더가 계속 나오는 것을 알 수 있었다.

foremost 명령어를 사용해 jpg파일들을 추출 했다.



1000개의 jpg중 중간에 하나 플래그가 적혀있는 이미지가 있다.



FLAG : h4c{w0w_y0u_kn0w_jp9_f1l3_3nd-s1gn4tur3@@_4nd_g00d..._..4t_pr0gramm1ng..!}



[MISC] Scratch


페이지 소스를 보면

다 nohack 인데 하나만 flag 뒤집은 galf로 되어 있다. 그 값인 IzFzdGhpc3MwbTNraW5kT2ZKb2tlPz8j 를 base64 디코딩 해주면 된다.



#1sthiss0m3kindOfJoke??#


FLAG : h4c{#1sthiss0m3kindOfJoke??#}



[Pwnable] SCIJ



사용자로부터 문자열을 받고 필터링을 한 뒤 /bin/echo 와 사용자로부터 받은 문자열을 붙인다.

그리고 그 것을 system함수로 보내준다.


필터링을 하는 부분에서 &를 필터링 하지 않기 때문에 a && ls를 쓰면

echo a; ls; 와 같은 명령어 사용이 된다.


a && ls 를 보내고, a && cat flag.txt 를 해서 flag를 얻었다



반응형

'CTF Write Up' 카테고리의 다른 글

H3X0R 4rd CTF 2018 [easy_png] Write-up  (0) 2018.06.14
CODEGATE 2018 OPEN CTF Write-up  (0) 2018.04.06
[EKOPARTY CTF 2017] Malbolge  (1) 2017.09.17
CRC CTF 2017 Write-up  (0) 2017.09.13
Tokyo Westerns CTF 3rd 2017 write up  (0) 2017.09.04

+ Recent posts