전체 글 80

[CodeEngn] Advanced RCE 1

몇 초 후에 종료되는지 찾고 해쉬값을 변환 해야하는 문제이다.과거 이 문제를 풀었을 때 sub, cmp, jnb의 공식을 기억해야한다.   파일을 다운받고 확인해보면 다음과 같이 upx로 압축되어있는 것을 확인할 수 있다.우선 upx 압축을 풀어주고 실행해야한다.  압축을 푼 뒤의 exe파일을 실행시키면 위와 같은 창이 뜬다.이번에는 immunity debugger로 열어보겠다.   디버거로 실행시키니 아까와는 다른 창이 뜬다.여기서 우회를 해주기 위해 IsDebuggerPresent함수를 찾아준다.  우회를 하기 위해 JNZ를 JE로 어셈블시켜주고 파일을 새롭게 저장한다.  저장을 완료한 exe파일을 디버거에서 다시 실행시키면 맨 처음에 뜬 메시지 박스와 동일하게 뜬다. 여기서 시간과 관련된 함수인 t..

카테고리 없음 2024.05.26

[드림핵 워게임] secure mail

비밀번호를 풀어 메일의 내용을 알아내야하는 문제이다.주어진 링크로 들어가본다.   빈칸에 850810을 쳐보았지만 다음과 같이 틀렸다는 문구가 떴다. 따로 주어진 코드가 없기 때문에 관리자모드에서 코드를 보았다.  이 부분의 코드를 잘 살펴보면 onclick에서 _0x9a220가 있는 것을 알 수 있다.이 번호를 코드에서 다시 찾아봐야겠다.또한 wrong을 반환해주는 부분도 찾아야한다.   _0x9a220가 있는 부분을 찾았지만 여기서는 얻을 것이 없었다.똫나 wrong을 반화해주는 부분을 찾았는데 document로 반환하는 것을 알 수 있었다. 이것을 기반으로 코드를 짜본다. window.alert = function ( text ) { console.log( 'tried to alert: ' + te..

카테고리 없음 2024.05.26

[워게임] 리버싱- Inject ME!!

DLL 파일에서 플래그를 찾는 문제이다.   idaq64로 열어보았다.  EntryPoint가 시작되는 부분이기 때문에 들어가본다. if 문을 찾았다. if문이 더 있다.더블클릭을 해서 들어가본다. if문이 또 있다.더블클릭을 해서 다시 들어가본다.  if문으로 들어가보면 다음과 같이 flag가 있는 것을 확인할 수 있다.메시지 박스로 text가 flag로 출력되는 것이라고 예상한다.  #include #include int main(){ LoadLibraryA("prob_rev.dll"); return 0;} 플래그를 출력시키기 위해 '비주얼 스튜디오'로 코드를 짜보았다.  if ( !strncmp(Str1, "dreamhack.exe", 0xDui64) ) strncmp로 string을 비교하기 때문..

카테고리 없음 2024.05.16