오늘은 가족행사때문에 많이 늦었습니다.(11시에 집도착했다죠..)


오늘도 미리 풀어두었다는것에 감사하며


시작해보도록 하겠습니다.



ㅇㅎ 이건 buf의 크기는 10바이트지만 받는건 40바이트여서 생기는 오버플로우군요.

buf에는 쓰레기값을 넣고 buf2에는 go를 밀어서 넣으면 될거 같습니다.



그럼 구체적인 메모리 확인을 위해 gdb를 키고~



main함수를 디스어셈블 하지만~ 실패......그냥 추측으로 풀었습니다.....



어...간단히 "A"는 1바이트 g, o가 각각 2바이트로 buf에 10 넣고 buf2에 6 + go를 넣었다고 생각하시면 됩니다.


왜 6을 넣야되는지는 메모리 구조를 보고 오셔야 이해 간다는거...ㅎㅎ


달고나님 문서또는 콘치의 리얼리티 %3000 리버싱 강의를 추천드립니다.



그럼 오늘은 여기까지 하도록 하겠습니다~

'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170808 F.T.Z level 11  (0) 2017.08.08
20170807 F.T.Z level 10  (0) 2017.08.07
20170801 F.T.Z level 8  (0) 2017.08.01
20170731 F.T.Z level 7  (0) 2017.07.31
20170730 F.T.Z level 6  (0) 2017.07.30

+ Recent posts