HackCTF(78)
-
HACKCTF - Smooth CipherText
이상한 영어가 막 쓰어져 있다. 처음엔 카이사르암호인줄 알았는데 앞부분이 LymoADJ --> HACKCTF가 될 수 가 없는 상황이여서 비즈네르가 생각났다. https://www.dcode.fr/vigenere-cipher Vigenère Cipher - Decoder, Encoder, Solver, Translator Tool to decrypt/encrypt Vigenere automatically. Vigenere cipher is a poly-alphabetic substitution system that use a key and a double-entry table. www.dcode.fr 해당 사이트를 활용해서 해결하였는데 먼저 원문을 돌려보면 위와 같이 실행이 되는것을 알 수 있는데 {}안..
2020.07.26 -
HACKCTF - Magic PNG
해당 문제같은경우는 삽질은 조금 했다. 어느부분인진 조금 후에 나옵니당 먼저 파일을 다운로드 받으면 이름이 magicpng 인만큼 위에 있는 png파일을 ihex로 까보면 이와같이 나와있는 것을 볼 수 있는데 원래 PNG파일의 헤더스그니쳐는 시작부분 : 89 50 4E 47 0D 0A 1A 0A 이여야 하는데 이 파일의 경우 시작부분 : 89 50 4E 47 2E 0A 2E 0A 이라고 되어있어서 이 부분을 수정해주면~ 이런 사진 하나를 얻을 수 있는데 도대체 왜 깨지는지 이부분에서 찾느라 삽질을 조금 했습니다. 결론부터 말하면 PNG내에 IDAT라는 파일의 데이터를 나타내는 부분이 있는데 이부분을 검색해보니 소문자로 적혀있는 부분이 있었습니다. 이부분을 대문자로 바꿔주게 되면 위와 같이 FLAG가 포함..
2020.07.25 -
HACKCTF - Keygen
리버싱 문제인데 nc를 주는 문제네요 일단 실행시켜보면 보면 키를 입력하고 이 키가 올바른키면 flag를 뿌려주는 구조인 것 같습니다. 역시 14번째줄에서 flag를 읽어주는 함수가 있고, 이 부분에 들어갈 수 있도록 하면 되기에 12번째의 분기문을 맞춰주면 될 것 같습니다. check_key 함수를 들어가보면 이렇게 "OO]oUU2U
2020.07.25 -
HACKCTF - Reversing Me
전형적인 리버싱 문제같네요 serial 문자열이 1, 0 하고만 XOR 을 하기 때문에 A ^ B = C B ^ C = A C ^ A = B 이라는 XOR의 특징을 이용해서 코드를 작성해보면 1 2 3 4 5 6 a = "H`cjCUFzhdy^stcbers^D1_x0t_jn1w^r2vdrre^3o9hndes1o9>}" flag = "" for i in range(0, len(a)) : flag += chr(ord(a[i])^(i%2)) print(flag) Colored by Color Scripter cs 라고 작성할 수 있고. 실행시켜보면 FLAG를 확인할 수 있다.
2020.07.24 -
HACKCTF - Baseball Price
nc주소가 하나 나와서 연결해서 들어가보니 해당 문구가 나왔는데 0.05에 대한 헷갈림을 의도해서 낸 문제 같습니다. 헷갈리지 않고 아래와 같이 입력해주면 FLAG를 획득할 수 있습니다.
2020.07.24 -
HACKCTF - BOF_PIE
문제를 확인하면 BOF_PIE라는 단어를 보니 PIE가 설정되어있는 바이너리일 확률이 높아 보이네요. 파일을 다운받아서 확인해보면 먼저 32bit 파일임을 알 수 있고, PIE역시 설정되어있는것을 볼 수 있습니다. 파일을 실행시켜보면 주소 하나를 던져주고, hello 라고 입력을 해보았더니 Nah..라고 나오네요 ida를 활용해서 함수를 자세히 봐보면 welcome함수를 호출하고 Nah... 를 표시하니까 welcome함수 내에서 취약점이 발생할 확률이 높다고 볼 수 있습니다 welcome함수의 위치를 출력하고, vl 이라는 변수를 이 부분에 있었군요. 그럼 PIE가 걸려있는 프로그램에서 RET를 조작해서 실행시키려면 어디엔가 shell을 실행시키는 함수가 있을 것 같은데 찾아보니 이 함수에서 flag를..
2020.07.23