티스토리 뷰
바로 시작 !
이번 문제는... 취약점이 두 가지입니다. 포맷 스트링 버그(FSB) 와 버퍼 오버플로우(BOF)죠...
근데 사실 저도 아직은 FSB를 잘 설명 못 할 것 같아서... 20번에서 좀 더 가다듬고 설명드리고, 이번에는 BOF로 풀어봅시다 !
gdb로 디버깅 하실 때는 복사해서 합니다 ~
소스는 간단하니까 바로 보면 지역변수를 위한 공간을 0x108만큼 할당하고 있네요.
지역변수가 하나니까 256+8(Dummy)라는 것을 알 수 있는 부분입니다. 그럼 스택의 구조는 아래와 같네요.
| str(256) | dummy(8) | ebp(4) | ret(4) | argc(4) | argv | <- 이렇게 구성되어 있습니다.
이 문제를 풀려면 268 + shellcode의 주소 를 올리면 되겠죠 ?
바로 해봅시다. 가장 간단하게 환경변수에 쉘코드를 등록해놓고 하겠습니다.
NOP Sled 를 이용해서 앞을 채워주고 쉘코드를 올립니다. 그 다음에 주소를 알아오고 이걸로 리턴을 덮으면 됩니다 !
NOP Sled 를 사용하는 이유는 바로 쉘코드를 올려버리면 항상 쉘코드의 시작주소에서 시작한다는 보장이 없기 때문입니다.
프로그램이 시작하면서 대충 아무대나 참조하더라도 NOP을 많이 넣어주면 쭉 타고 미끄러지다가 쉘코드가 실행되는 거죠.
그럼 바로 공격해보죠 ~
it is like this ~
'WarGame > FTZ' 카테고리의 다른 글
[FTZ] Level13 문제 풀이 (0) | 2014.01.01 |
---|---|
[FTZ] Level12 문제 풀이 (0) | 2013.12.31 |
[FTZ] Level10 문제 풀이 (0) | 2013.12.29 |
[FTZ] Level9 문제 풀이 (0) | 2013.12.27 |
[FTZ] Level8 문제 풀이 (0) | 2013.12.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 우주와컴퓨터
- platform
- 2xx
- opensource
- terraform
- teplate
- stateType
- aws
- ControlTower
- JavaScript
- web
- compliance
- .get()
- steampipe
- findinglatestversion
- conftest policy
- CIS
- scp
- temlate
- security
- ViaAWSService
- REACT
- IAM
- 계정정보저장
- 4xx
- fleet manager
- defaulttheme
- cloudsecurity
- Cloud
- AWS #CIS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함