HackCTF/web (11) 썸네일형 리스트형 HackCTF - Home 머리말이라고 힌트를 준다 로컬 주소면 플래그를 줄거 같았다 그래서 X-Forwarded-For를 사용하기로 했다 HackCTF - input check 링크를 들어가보면 flag를 입력하라는 문구가 나온다 그래서 flag를 입력하면 해킹하지 말라는 말이 나온다 그래서 소스코드를 봤더니 힌트가 있었다 전에 비슷한 문제를 풀어봐서 strcmp 취약점인것을 알았다 url에서 text 뒤에 []를 붙여줬더니 풀렸다 HackCTF - Time 이 문제는 도저히 어떻게 풀어야하는지 모르겠어서 롸업을 봤다 링크를 들어가면 소스코드가 나온다 if문 부터 else if 를 통과하기 위해 60 * 60 * 24 * 30 * 2 = 5184000 5184000을 지수형태(5.184000e6)으로 입력하면 else 로 넘어가게 되고 int이기 때문에 뒤에 소수점은 사라져 5초만 기다리면 플래그가 나온다 신기했던 문제였다 HackCTF - 마법봉 링크를 들어가면 마법봉이 나올 거 같은 그림이 나온다 ㅋ 해쉬에 마법 이라고 힌트를 준다 매직 해시를 이용한 문제 같았다 소스코드도 볼 수 있어서 소스코드도 봤다 코드를 보고 바로 매직 해시 찾으러 구글링을 했다 우리가 찾아야할 것은 입력값을 sha1로 암호화 했을때 md5("240610708") 했을때 값이랑 같은 값으로 인식되는 값을 구해야한다 구글링을 통해 10932435112가 우리가 구해야하는 값이라는 것을 알았다 이것을 그대로 입력해주면 HackCTF - login 링크에 접속하면 로그인 화면이 하나 나온다 View Source를 눌러 소스를 봤다 HackCTF - Read File 링크를 들아가보면 이러한 화면이 나오게 된다 url을 보면 command라 적혀있길래 command injection인줄 알았는데 이런 화면만 계속 나오길래 아무거나 flag.php flflagag.php 쓰다가 풀렸다;; flag 단어를 필터링 하고 있었나 보다 HackCTF - Guess me 링크에 들어가면 다음과 같은 사이트가 나온다 이 문제는 extract 취약점을 이용하는 문제이다 extract 로 내가 원하는 값으로 변수 내용을 바꿀 수 있다 말로는 이해하기 어려우니 문제를 풀어보자 코드를 그대로 가져오고 유심히 봐야할 곳을 주석으로 설명해놨다 우리는 secret.txt 안에 내용을 모르기 때문에 $secretcode를 알기 힘들다 그래서 extract 를 이용해 $filename 를 바꿔 $secretcode 를 바꾸는 것이다 첫번째 주석을 보자 $filename을 바꿔주면 우리가 바꿔준 이름의 파일 내용을 가져와야 하는데 파일 이름이 없기 때문에 $secretcode 에는 아무런 값이 들어가지 않는다 그래서 두번째 주석을 검사할때 guess에 아무런 값을 주지 않으면 풀릴 것이다 HackCTF - 보물 주소로 들어가면 다음 화면이 나온다 버튼을 눌러보면 이상한 글자가 나오게 된다 url에 숫자가 나오길래 1,2,3 말고 4도 해봤다 그런데 이상한 글자가 다르게 나오는거 보니 1, 2, 3, 4 이상으로 더 있는거 같았다 숫자 중엔 비밀이 있고 보물을 숨겨놨으니 아마 숫자를 늘리다보면 플래그가 나올것이다 손으로는 귀찮으니 파이썬의 도움을 받았다 import requests for i in range(1, 10000000): url = f"http://ctf.j0n9hyun.xyz:2025/?page={i}" r = requests.get(url) if r.text.find('HackCTF') != -1: print(i) break 나온 결과를 주소에 적어주면 된다 이전 1 2 다음