Hacking/HackCTF

Hackctf [Web]가위바위보

ursobad 2020. 12. 22. 22:31

http://ctf.j0n9hyun.xyz:2037

웹 가위바위보 게임이 나온다

여기서 머 취약점 같은게 있을것 같진 않으니까 설정창으로 가보자.

파일 선택, 프로필 사진 변경이 있는걸 보니까 웹쉘인것 같아서 아주 간단한 php웹쉘을 만들어서 업로드 해보았다.

<?php
system($_GET[cmd])
?>

 

이미지 파일만 업로드 되는것 같다.

어떻게 필터링을 우회할지 생각해보다가 HxD로 hex를 조작하여 png헤더를 붙여주기로 했다.

png 헤더가 8byte기때문에 다른 문자 8개를 <?php앞에 붙여서 저장한 뒤에 바꿔준다.(png 해더는  89 50 4E 47 0D 0A 1A 0A이다.)

1111111입력 후 HxD
png헤더를 입력

그 후에 업로드 해보면 

깨지긴 했지만 프로필 사진이 변경되었다고 한다.

왜 깨졌는지 궁금해서 f12로 뜯어보았더니 

이렇게 나온다.

왜 나는 aaa.php를 업로드 했는데 "우람한_V4bel"이 업로드 되어있는지 모르겠다.

지금 현재 이름이 "우람한_V4bel"이니까 이름변경을 aaa.php로 해본다.

이제 "avatars/aaa.php"경로로 들어가본다.

그리고 웹쉘에 작성한대로 ?cmd=ls이런식으로 "cmd="하고 리눅스 명령어를 작성한다.

일단 flag가 없다

flag가 없기 때문에 경로를 이동해본다.

한줄에서 두개 이상의 명령어를 사용하려면 ;을 이용하면 된다.

flag가 있다!!

이제 cat을 이용하여 flag.txt를 열면 flag가 나온다.