본문 바로가기

CTF

(51)
YISF 2017 write up 2017 청소년 정보보호 페스티벌 예선 대회 풀이 보고서 YISF 2017 write up + Reversing 100 https://github.com/Gyeongje/CTF/tree/master/YISF%202017/Reversing100 그 당시에 정신이 없어서 못풀었던 리버싱 문제 풀이입니다. 실행파일을 간단히 설명하자면 같은 디렉토리 공간안에 "encoder" 이름의 파일이 아닌 다른 파일의 파일텍스트를 41크기만큼 긁어옵니다. (원래 파일텍스트 데이터를 긁어온 변수는 s지만 flag로 추측이 되서 이름을 s에서 flag로 바꿔주었습니다.)후에 flag배열과 앞뒤에 붙어있는 더미문자열을 연산시키는데 연산의 핵심은 *v18 ^= *v19 *v19 = v2 - 10 xor과 -10 입니다 이부분만 ..
DIMICTF 2017 write up (제일 인상깊었던 Reversing 200 점 문제만 올렸습니다 위에 파일이 원본입니다.) 전국청소년모의해킹대회 DIMICTF 2017 Reversing 200 문제 풀이입니다.해당 문제는 ELF 파일이며 입력값을 input 받고 연산한 값과 일치할시 Correct문을 뿜는 간단한 크랙입니다. IDA로 보면 위와 보이는것과 같이 v41 변수에 33개의 문자열을 입력 받는것을 볼수있습니다,그리고 밑으로 가보면 ptrace 함수는 디버깅시 -1 아닐시에는 0의 리턴값을 반환함으로 디버깅을 감지합니다 그냥 edb로 분석하면서 EAX리턴값을 0으로 바꿔주면 됩니다. 그다음 첫번째 반복문에서 입력한 값 하나하나와 rand() 값을 xor연산 해주고 있습니다 (v5는 0이므로 생략하겠습니다.)rand() 함수는 따..
[CODEAGATE 2017] Junior write up codegate 2017 Junior write up (Mic Check, RamG-thunder) Mic Check - 50p RamG-thunder - 465p 2월 10일날 열렸던 CODEGATE 2017 예선전에서 총 2문제를 풀었습니다. 그중 RamG라는 이름을 가진 리버싱 문제는 대회당시 실력이 부족하기도 했고 시간이 많이 없었던 관계로 대회가 끝나고 풀게되어서 본선을 못가 아쉬움이 많았던 대회였습니다. 문제는 이렇게 생겼습니다. IDA나 ollydbg 로 문제를 살펴보면 기본메뉴안에 4번을 입력할시 hidden menu 가 나오는 것을 바로 확인할 수 있었습니다. 제가 중요하게 봤었던 부분은 stage1과 stage5의 key를 입력받는 두 부분입니다. sub_405C20 함수속으로 들어가 ..