일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 제넥신
- 스콜피온킹
- 김영권 아내
- 미국 금리인하
- 폰폰테스트
- 해킹
- 스페인 코로나
- 성남은혜의강교회
- 학교 개학 연기 4월
- 킹덤 고근희
- 임영규
- 고민정
- 유튜버 김재석
- 조희연
- 픽크루
- 불가피
- 이지혜
- 홍혜걸
- 최강욱
- 양적완화
- 리리남매
- 뭉쳐야 찬다
- 성남 코로나 확진자
- 이상형 만들기
- 은혜의 강 교회
- 김영권
- 김재석
- libtins
- 금리인하
- 이태원 클라쓰 15회 예고
Archives
- Today
- Total
Dork's port
FTZ Level16 Write-up(FTZ Level16 풀이) 본문
정말로 끝이 보이기 시작하네요!
16번 입니다!
힌트를 보니 printit의 함수를 포인터 형태로 저장하여 마지막에 call()을 통해 포인터에 저장된 함수를 call하네요!
원래대로라면 Hello there!이 출력되는 함수가 실행되어야 하지만 그 위에 의심스러운 함수가 있네요!
자연스럽게 gdb를 사용하여 main의 코드를 볼까요!
fgets의 인자로사용하는 저 c8의 주소가 buf의 주소이겠네요!
그리고 마지막에 어떠한 주소를 저장하고 call을하는 저 주소가 바로 call의 변수 이겠네요! 역시 차이는 0x28만큼 납니다!
그리고 우리는 여기서 shell 함수의 주소를 찾기 위해 아래와 같이 명령어를 입력하면 친절하게 gdb가 시작주소를 알려줍니다!
(gdb) disass shell
만세!
그리고 늘 그랬듯 아래와 같이 명령어를 작성해주시면~~~
짜란~~ 쉘이 나타났네요 ㅎ
my-pass를 통해 다음 문제로 귀귀씽!
'Hackerschool FTZ Write-up' 카테고리의 다른 글
FTZ Level18 Write-up(FTZ Level18 풀이) (1) | 2018.03.26 |
---|---|
FTZ Level17 Write-up(FTZ Level17 풀이) (0) | 2018.03.26 |
FTZ Level15 Write-up(FTZ Level15 풀이) (0) | 2018.03.26 |
FTZ Level14 Write-up(FTZ Level14 풀이) (0) | 2018.03.24 |
FTZ Level13 Write-up(FTZ Level13 풀이) (0) | 2018.03.24 |
Comments