일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 큐
- 재귀
- 시간복잡도
- System
- Stack
- LoB
- 정렬 알고리즘
- c언어
- web
- 백준
- PHP
- windosws wbcs
- War Game
- HTML
- level13
- 스택
- C
- 자료구조
- 파일 시스템
- ftz level13
- pwnable.kr
- 암호수학
- ftz
- 두근두근 자료구조
- 파이썬
- SWiFT
- 미로 탐색 알고리즘
- Java
- OSI
- windosw 문자열
Archives
- Today
- Total
목록LOB giant (1)
나의 기록, 현진록
LOB giant ret에 들어갈 최상위 비트가 \xbf 또는 \x40이 될 수 없다. 이 두 조건 이외의 ret에 관련된 다른 조건이 없으므로 이 부분만 우회하면 된다. ret 주소에 ret 주소를 넣어주면 우회할 수 있다. 그러면 그냥 ret을 한번 더 실행한다. 그리고 argv[] 영역을 이용해 쉘코드 넣어주자. 페이로드는 이렇게 구성될 것이다. [ ebp+44 ] [ ret ] [ ret ] [ argv[2] ] [ shellcode ] ret 값에 ret이 시작되는 주소를 넣으면 또 ret이 실행되고 그 다음 주소로 리턴된다. 여기서 그 다음 주소는 argv[2]이다. 다음은 ret 주소이다. argv[2]의 주소 오류 성공 페이로드 작성 system 함수를 이용할 수도 있다.
War Game/LOB
2018. 2. 27. 14:20