일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- SWiFT
- 백준
- 파일 시스템
- level13
- 스택
- pwnable.kr
- Stack
- 자료구조
- web
- windosws wbcs
- 암호수학
- 정렬 알고리즘
- HTML
- windosw 문자열
- 시간복잡도
- ftz level13
- PHP
- LoB
- 미로 탐색 알고리즘
- c언어
- 두근두근 자료구조
- ftz
- System
- 파이썬
- 큐
- Java
- War Game
- 재귀
- C
- OSI
Archives
- Today
- Total
목록GIANT (1)
나의 기록, 현진록
[War Game] LOB giant
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