본문 바로가기

[CodeEngn Challenges] Basic RCE 01 프로그램으로 하여금 현재 HDD를 CD-Rom으로 인식하게 하라고 한다. 바로 실행 시 이러한 결과를 볼 수 있다. MSDN 페이지에서 GetDriveTypeA를 검색하면, CD-ROM은 5임을 알 수 있다. 인증키는 여기에서 나왔다. 이제 패치를 할 것이다. 우선 CMP 문에 breakpoint를 걸고, 각각 무슨 값을 비교하는지 확인한다. ESI=3, EAX=1이다. 코드를 삽입해야 하는데, 코드 아래쪽(401067부터)은 사용하지 않으므로 가장자리부터 작성한다. 우선 40101F의 JMP할 주소를 코드 삽입 부분으로 바꾼다. 그런데 프로그램 흐름 상, 단순히 EAX, ESI를 갖게 만들면 된다. 그러므로 꼭 5로 맞추진 않고, EAX를 3으로 올리겠다. INC문 2번이면 될 것이다. 이후 원래 진행.. 더보기
[Webhacking.kr] Challenge 1: 쿠키 변조 (200) 1번 문제에 들어오면, 달랑 이 화면이다. 화면에 보이는 index.phps라는 페이지를 확인해보자. 아래와 같은 php 소스코드가 보인다. 정규식으로 쿠키값 중 user_lv를 대조하여, 0~9로 시작하지 않으면, 1로 바꾼다. 6 이상일 경우에도 1로 바꾼다. 5 초과이면 문제 해결이다. 즉, 5 초과 6 미만인 값이어야 한다. cookie를 변경해주는 툴, 플러그인 등 방법은 많다. 5 < user_lv < 6인 소수로 변조시키면 된다. 당시 툴이 없어서 그냥 자바스크립트로 했다. 이후, 새로고침 한번 눌러주면 Congratulations! 메시지와 함께 Score를 얻을 수 있다. 더보기