본문 바로가기

Write-up18

[HackCTF] Handray 확장자가 file인 파일... 아마 ELF파일인 것 같으니 리눅스에서 열어보자. 64bit ELF파일이구나! 그렇다면 바로 실행시키면 어떤 동작을 하는지 알 수 있겠지? flag를 뛰어넘었습니다... 일단 뭔지 모르겠다. 값을 넣어봐도 안넣어봐도 똑같네... 일단 ida로 확인해보자. ...? printf 하나만 달랑있다. 좀 당황스럽지만 어셈블리로 다시 보자. 첫번째 분기점에서 jnz를 jz로 바꾸면 다른 분기로 넘어갈 수 있는데 jnz로 되어있어 무조건 "flag를 뛰어넘었습니다."가 출력되는 것 같다. 정상적인 값이 나오게 하려면 다른 분기점에서 어떻게 작동하는지 알면 실행시키지 않아도 flag를 얻을 수 있다. 다른 분기점에서의 작동을 보면... 1. 0부터 0x1E까지 반복하는 반복문이다. 2... 2022. 1. 14.
[HackCTF] Reversing_me 우선 문제를 다운받으면 c언어로 된 txt코드가 뜬다. #include #include int main() { int i; char *serial = "H`cjCUFzhdy^stcbers^D1_x0t_jn1w^r2vdrre^3o9hndes1o9>}"; char enter[54]; printf("키를 입력하시게 : "); scanf("%s", enter); if (strlen(enter) == strlen(serial)) { for (i = 0; i < strlen(serial) && (enter[i] ^ (i % 2)) == serial[i]; i++); if (i - 1 == strlen(enter)) printf("정답일세!\n"); } else printf("그건 아닐세...\n"); exit(0).. 2022. 1. 14.
[HackCTF] Welcome_rev 우선 문제를 다운받으면 다음과 같이 파일 형식이 파일인 파일이 다운로드 된다. 확장자가 file인 파일은 다른 운영체제에서 열어보자! 리눅스에서 열어보니까 ELF 32-bit 파일임을 알 수 있다. 일단 뭔지 모르겠으니까 실행을 시켜보자. 어... 실행이 안된다. 개인적인 생각으로는 실행시킬 권한이 없어서 실행이 안되는 것 같으니 권한을 부여해주자. 리눅스 파일 권한부여에 대한 내용은 다음 글을 참고하자. https://saedal-a.tistory.com/6 리눅스에서 파일에 권한 부여하기 리눅스는 파일에 대해 권한을 부여할 수 있으며 각각의 고유한 권한이 표기되어 있다. 이 권한들은 숫자로 표현된다. chmod 777 [파일명] 권한을 부여하는 명령어이다. 이에 대해 자세히 설명하자 saedal-a... 2022. 1. 14.
[Dreamhack.io] rev-basic-2 dreamhack.io의 Wargame rev-basic-2 문제이다. https://dreamhack.io/wargame/challenges/16/ rev-basic-2 Reversing Basic Challenge #2 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출 dreamhack.io #문제분석 문제 정보는 다음과 같이 나와있다. 문자열을 입력받아 검증 함수를 거친 후, 맞으면 correct를 출력하고 틀리면 wrong을 출력한다. 입력값을 비교하는 함수를 찾아보자! #문제풀이 우선 메인함수를 찾는다. 메인함수는 문자열 참조를 이용하여 찾았다. 해당부분이 문자열.. 2022. 1. 11.
[Dreamhack.io] welcome dreamhack.io의 Wargame welcome 문제이다. https://dreamhack.io/wargame/challenges/27/ welcome Description 이 문제는 서버에서 작동하고 있는 서비스(welcome)의 바이너리와 소스 코드가 주어집니다. "접속 정보 보기"를 눌러 서비스 정보를 얻은 후 플래그를 획득하세요. 서버로부터 얻은 플래 dreamhack.io #문제분석 문제 정보는 다음과 같이 나와있다. 서버로부터 플래그의 내용을 얻는 문제니까 일단 서버에 접속하면 뭐라도 나오겠지? #문제풀이 접속정보는 다음과 같이 나와있다. 이걸 이제 주소창에 입력해보자. http://[Host]:[Port] 웹 브라우저에서는 다음과 같은 방법으로 접속이 가능하다! 즉, 여기서는 http:.. 2021. 8. 9.
[Dreamhack.io] file-download-1 https://dreamhack.io/wargame/challenges/37/?page=2 file-download-1 File Download 취약점이 존재하는 웹 서비스입니다. flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io dreamhack.io의 Wargame file-download-1 문제이다. #. 문제분석 문제 정보는 다음과 같이 나와있다. File Download 취약점이 존재하는 웹 서비스. '웹 서비스'니까 브라우저에서 주소를 입력하면 접속이 되겠지? 그리고 거기서 flag.py의 위치를 찾아서 다운받으면 되겠다! #. 문제풀이 접속 정보는 다음과 같이 나와있다. 이걸 이제 주소창에.. 2021. 8. 2.