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



전형적인 버퍼오버플로우네요 

256(str)+8(dummy)+4(sfp)+4(ret)

로 쉘코드를 만들어주면 될거 같습니다.



맨 위에서 0x108이 str+dummy값입니다.



실제 구조를 보기 위해 브포를 걸고 돌려봤습니다.



왼쪽 2번째 줄에 0x41414141이 올라가시는걸 보실 수 있습니다. 저렇게 실제 거리를 재야되죠



system(/bin/sh)를 사용해야되니 system함수 주소와


쉘의 주소를 알아내도록 합니다.(저 코드는 한 블로그에서 퍼왔습니다.)


이렇게 해버리면 프로그램이 그냥 하고 종료가 되어버립니다. cat명령어로 다시 실행시키면 해결됩니다.



쉘 구조는 str(268)+system()+dummy+/bin/sh 입니다.



저는 이상하게 또 안되더라구요...(도데체 뭐가 문제지...) 일단 이론적으로 알고 했으니 오늘은 여기서 마치도록 하겠습니다.


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

20170811 F.T.Z level14  (0) 2017.08.11
20170810 F.T.Z level13  (0) 2017.08.10
20170808 F.T.Z level 11  (0) 2017.08.08
20170807 F.T.Z level 10  (0) 2017.08.07
20170802 F.T.Z level 9  (0) 2017.08.02

+ Recent posts