본문 바로가기

포너블

(10)
lob 2번 이번에 lob 2번 문제 풀이입니다. 저번 1번 문제를 풀때 bash2설정 때문에 쓸데없는 삽질을 했으므로 이번에는 bash2설정부터 해주었습니다. ls 명령어를 확인해보니 색을 바뀐걸로 보아서 제대로 bash2가 적용 된 것을 알 수 있습니다. 그럼 이제 2번문제의 코드를 보겠습니다. 코드를 보니 1번문제와 큰 차이는 없습니다. 하지만 버퍼의 크기가 16으로 굉장히 작아졌습니다. 그렇기 때문에 이번에는 1번에서 사용했던 nop슬라이드 방식이 아니라 환경변수를 이용해 볼 것입니다. 환경변수는 미리 명령어로 nop+shell코드로 이루어진 페이로드를 등록해 놓은 후에 1번에서는 ret값을 바로 nop슬라이드 부분으로 설정해 주었다면 우리가 등록한 환경변수의 주소로 ret값으로 설정하여 미리 등록된 페이로드..
lob 1번 lob 1번 풀이입니다. 앞서 글에 Mac OS X에서 vmware설치와 기본 설정 방법, 그리고 미리 알고 있으면 좋은 명령어들을 정리해 두었으니 참고하시면 되겠습니다. *1번 문제 아이디 비번은 모두 gate입니다. 가장 먼저 gate문제에 있는 gremlin.c 파일 입니다. cat grmelin.c 를 입력하면 코드를 볼 수 있습니다. 문제를 보니 버퍼의 크기는 256이고, 실행시 인자의 개수가 2개 미만이면 에러가 발생하고 종료하게 됩니다. 여기서 main함수인 인자인 argc는 입력된 인자의 개수이고, 포인터 배열인 *argv[]에는 입력된 인자가 순서대로 입력되게 됩니다. 자세한건 나중에 페이로드 사진을 보며 설명하겠습니다. 일단 자세한 주소를 알아야 하니 리눅스 디버거인 gdb를 이용해야 ..