<OOO>

[HackCTF] 가위바위보 문제풀이 본문

CTF write up

[HackCTF] 가위바위보 문제풀이

<OOO> 2020. 8. 24. 22:57

728x90

이 셋 중에 하나를 누르면 랜덤으로 NPC가 하나를 골라 승부하는 게임이다.

 

 

내가 져도, 이겨도 flag를 뱉지 않는다.

이게 뭔지 싶어서 삽질을 좀 오래 했던 것 같다.

그러나, 우측 상단에 있는 설정 부분을 누르면

이름과 사진을 올릴 수 있게끔 만들어 놨다.

 

여기서 파일 업로드 취약점이 터지는것 같아 메모장으로 php 파일을 만들어 올려보았으나, 필터링을 하였다.

확장자 이름을 .jpg로 해도, 필터링이 되는걸로 보아 다른 방법으로 필터링을 하는 것임을 느낄 수 있다.

 

파일 시그니처를 PNG 시그니처로 바꾼 다음 올리면 어떻게 될까 싶어 올려보니 성공을 하였다.

파일 시그니처를 잘 모르겠으면, http://forensic-proof.com/archives/323 이 주소를 참고하자.

이렇게 저장을 하려고 했으나, Windows defender에서 걸리므로 실시간 탐지를 꺼야한다.

실시간 탐지를 껐다면, 파일을 저장(ctrl + s) 한 후 이미지 파일을 올려보자.

 

 

파일이 올라간 것을 확인할 수 있다.

그러나 파일을 올린다고 해서 끝이 아니다. 이름도 바꿔야 하는데, 만일 이름을 바꾸지 않고, 파일의 경로에 바로 들어갈 경우 내가 업로드한 파일이 다운로드가 된다.

현재 이름이 우람한 Gyul 인데, 이걸 php 파일의 이름으로 바꾼다음, 쉘을 실행시켜야 한다.

이름이 변경된 것을 확인 했다면, 좌측 상단에 있는 로고를 눌러 메인으로 나가자.

그리고 메인에서 우측 상단에 있는 사진의 경로를 확인하고, 끝 경로에 cmd를 붙여주면 쉘이 실행된다.

ls -al 해서 확인을 하는것도 좋고, pwd를 이용하여 경로를 확인하는 것도 좋다.

find 명령어도 사용이 가능하므로 써도 무방하지만, 10초가량의 시간(혹은 그 이상)이 소요된다.

 

본 글에서는 find 명령어로 flag.txt를 찾아보겠다.

 

/var/www/html 안에 flag.txt가 있다고 한다.

여기서 바로 cat 명령어로 읽어도 된다.

cat /var/www/html/flag.txt 를 하게 되면?

 

flag가 나왔다.

 

'CTF write up' 카테고리의 다른 글

[Hacking Camp] CTF write up  (0) 2021.02.21
HACON CTF write up  (0) 2020.09.27
Redpwn 2020 CTF Write up  (0) 2020.06.26
ZH3R0 CTF Write up [MISC]  (0) 2020.06.18
ZH3RO CTF Write up [WEB]  (0) 2020.06.18
Comments