일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- level13
- 두근두근 자료구조
- ftz
- C
- windosw 문자열
- 백준
- Java
- 파이썬
- SWiFT
- 자료구조
- 암호수학
- 시간복잡도
- 파일 시스템
- 정렬 알고리즘
- HTML
- ftz level13
- LoB
- 미로 탐색 알고리즘
- pwnable.kr
- c언어
- 스택
- windosws wbcs
- War Game
- web
- OSI
- 재귀
- 큐
- PHP
- Stack
- System
Archives
- Today
- Total
목록level13 (2)
나의 기록, 현진록
[War Game] ftz level13
ftz level13 다음은 hint의 내용이다. 버퍼 오버플로우 기법으로 ret 값에 쉘코드의 주소를 넣으면 된다. 단, i 변수에 저장된 값이 0x1234567을 그대로 보존해야만 한다. ret까지의 거리와 i 변수의 거리를 알아야 한다. ebp부터 sfp까지의 거리는 0x418 -> 1048byte이다. 1052byte부터 ret의 주소 0x1234567이 저장된 곳을 확인해보자(굳이 안 해도 된다.). 0x01234567(==0x1234567)이 저장되어 있음 그렇다면 ebp부터 i변수가 저장된 곳은 어디일까 AT&T 문법에서 intel 문법으로 바꿔보자. main+69를 보면 0x1234567을 ebp-12와 비교한다. hint의 내용에서 if문에 속한다. ebp-12은 i 변수라는 의미이다. ..
War Game/ftz
2018. 1. 27. 21:12
[War Game] ftz level12
ftz level12 level13 setuid 다음은 hint의 내용이다. level11과 다른 점은 str 배열에 저장될 문자열은 실행 인자가 아닌 실행 후 gets로 입력 받는다. level11과 별 다른 점 없으니 크기는 0x108로 똑같다. 환경변수에 쉘코드를 등록하고 주소를 출력하는 코드를 작성한다. 페이로드 작성 level12는 level11과 작성 순서가 다르다. 실행 인자가 아니기 때문에 attackme를 실행시킨 후에 입력해야 한다. 파이프라인( | )을 이용하면 된다. 페이로드는 다음과 같다.
War Game/ftz
2018. 1. 26. 14:03