본문 바로가기

분류 전체보기

(627)
[2020.03.31] Reversing.kr | Easy crack 문제 http://reversing.kr의 첫 번째 문제인 Easy Crack을 풀어보도록 하자. 문제를 클릭하면 Easy_Crack.exe 파일이 다운받아진다. 해당 파일을 실행시키면 사용자가 입력할 수 있는 창이 뜬다. 임의의 값을 넣으면 Incorrect Password라는 창이 뜨면서 프로그램이 종료된다. 출제자가 정해놓은 패스워드를 리버싱으로 알아내고 그것을 입력하면 문제가 풀릴 것이다. 리버싱을 하려면 가장 먼저 패킹 여부와 어떤 언어로 프로그램이 제작되었는지 확인이 필요한다. Exeinfo PE 툴을 사용하여 이를 확인해본다. 이 프로그램은 C++로 제작되었으며 패킹이 되어있지 않음을 알 수 있다. 마우스를 우클릭 하여 [Search for] > [All referenced text strings..
[2020.04.07] XSS Game Level 4.Context matters alert() 함수를 호출하는 문제이다. 처음 화면에서 입력창에 3이 적혀있는 것을 볼 수 있다. 그대로 입력해보면, 3초 안에 타이머가 실행된다면서 Time is up! 이라는 alert 창이 뜨는 것을 볼 수 있다. 이전과 같은 방식으로 onerror 이벤트도 써보았다. 당연히 풀리지 않았다. 힌트는 이렇게 주어져 있었다. 마지막 힌트대로 '(작은 따옴표)를 입력하여 실행시켜보니, 무한루프에 빠진 듯 alert함수가 실행되지 않았다. 'alert('1')' 이라는 문장을 HTML 코드로 인코딩하여 넣어보았다. (hint 2 활용) 입력 값: alert('1')' 하지만 여전히 풀리지 않았다. 소스코드를 살펴봤을 때 21번째줄에서 startTimer 함수가 호출되는 것을 볼 수 있었다..
[2020.04.07] Reversing.kr | Easy_Unpack | Reversing.kr Easy_Unpack 문제 압축을 해제하면 다음과 같은 txt파일이 존재한다. OEP 값을 찾으라는 문제다. * OEP 란? OEP(Original Point)는 실행 프로그램에서의 실제 시작점을 의미한다. 일반적인 프로그램은 실제 시작점이 프로그램 실행 시 시작점과 동일하지만 Packing이 되면 실제 OEP가 숨겨져 있게 된다. PEiD로 확인해본 결과 Packing 되어 있음을 확인했고 무엇으로 Packing되었는지는 알 수 없다. * Packing과 Unpacking? 1. Packing - 실행파일을 암호화하거나, 압축하여 소스코드를 볼 수 없도록 하는 것 - 압축을 하면 용량을 줄이고, 실행속도가 높아짐 - 사용자 측면에서도 유리하지만, 악성코드 유포시에도 유리하게 ..