전체 글(603)
-
[보호]HACKCTF - Authenticate
보호되어 있는 글입니다.
2020.07.15 -
HACKCTF - Offset
실행시켜보면 메인 코드를 보면 다음과 같다. 9번줄에서 입력을 받고, 입력받은 내용을 그대로 10번째줄에 select_func함수에 넘긴다. 6번째줄에서 v3 에 two 를 넣고 7번째 줄에서 인자로 받은 src 를 dest에 넘긴다. 여기서 0x1f만큼 넘기게 되는데 dest 가 0x2a이고, v3 가 0xc 라서 두 함수의 차이는 30인데 31만큼 넘겨서 bof가 일어난다. 여기서 무엇을 덮을지 생각하다가 flag를 출력하는 함수를 발견하였고, 이 함수로 넘기면 될것이라고 생각하였다. print_flag 함수가 0x000006d8이고 two 함수의 주소가 0x000006ad 이므로 0x000006까지는 같고 뒤에 1바이트만 다르니까 뒤에 1바이트만 덮어주면 된다고 생각할 수 있 다. desk[0x2a..
2020.07.15 -
HACKCTF -Time
문제 화면은 위와 같다. 링크를 타고 들어가면 위와 같은 코드를 볼 수 있는데 계산해보면 60*60*24*30*2 = 5,184,000초를 기다리면 출력할 수 있다. 그럼 한번 기다려보겠습니다. 2달후까지 기다릴 생각을 하니 좀 아닌거 같다 생각을하다가. 지수형태를 int로 변화하면 소수점 앞자리만 남기떄문에 0.649e7를 입력해서 바로 풀었다. 제출 하면 바로 flag를 얻을 수 있다.
2020.07.15 -
HACKCTF - Read File
해당 링크를 들어가면 아래와 같다. command에 명령을 넣고, 이를 실행하는 명령어 같다. 먼저 command에 flag.php를 넣고 실행시켜보았다. [http://ctf.j0n9hyun.xyz:2021/?command=flag.php] 아무러너 반응도 일어나지 않아서 로컬에서만 가능할까? 해서 다른 방법으로 시도해보았다. [http://ctf.j0n9hyun.xyz:2021/?command=http://ctf.j0n9hyun.xyz:2021/?command=flag.php] 하지만 이 역시도 마찬가지였다. 여기서 생각해 볼 수 있는게 필터링 이란 생각이 들어서 flag를 필터링 할까? 해서 [http://ctf.j0n9hyun.xyz:2021/?command=flflagag.php] 아래와 같이 ..
2020.07.14 -
HACKCTF - 보물
링크를 들어가보면 아래와 같다. 페이지 버튼을 눌러보면 이렇게 해쉬같은 문자를 얻을 수 있다. 버튼은 3까지 밖에 없지만 10을 ?page=10입력해보면 이렇게 새로운 해쉬가 나온다 즉 브루트포싱으로 찾는 문제 같아서 아래와 같이 코드를 작성했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 import requests URL = "http://ctf.j0n9hyun.xyz:2025/?page=" i = 0 while(1) : res = requests.get(URL+str(i)) i = i+1 if "Hack" in res.text : print(res.text) break else : print(i) Colored by Color Scripter cs 실행시켜보면 위와 같이 정상 동작하는것을..
2020.07.14 -
HACKCTF - Simple_Overflow_ver_2
말그대로 간단한 오버플로우인가 하고 생각하고 들어갔습니다. 팁하나 추가로 드리면 64비트인지, 32비트인지 확인하고 시작하시면 좋습니다. "file [파일명]" 입력하면 확인하실 수 있습니다. 그리고 64비트를 32비트ida에서 열었을 경우 tab이 안먹습니다. 이렇게 발견해도 되긴 합니다 ㅎㅎ 그럼 다시 본론으로 들어갈게요 ~ 값을 하나 입력받고, y를 누르면 계속 반복, n을 누르면 끝나는 그런 간단한 구조네요. main함수를 보면 이때까지 보았던것 과는 다르게 약간 복잡해 보입니다. 13번째에서 값을 입력받고, 그 아래는 출력하는 명령어인데
2020.07.14