-
해커스쿨 ftz level12System/HackerSchool ftz level 2019. 6. 11. 22:20
BOF는 계속됩니다! 글쓴이는 아직 BOF를 잘 모르기 때문에 설명부실 + 설명오류가 잦을 수 있습니다
이번 attackme는 level11과 달리 gets 함수로 문자열을 받네요, 그거만 다르지 다른 건 동일합니다
사실 궁금했어요 뭐 역시 안되네요ㅋㅋㅋㅋㅋ
뭐 이것도 <main+3>에서 봤듯 108h(264d, str[256] + dummy[8] + RET[4] -> 268d)부터 입력을 받습니다.(사실 정확한 게 아니라 아닐수도..) 일단 참고해두고 쉘코드 환경변수에 지정하러 가봅시다
굳이 먼저 tmp 디렉토리로 가있을 필요는 없어요 짜피 좀이따 주소 출력하는 프로그램 만들때 와도 되고
그리고 EGG라는 이름의 환경변수에 쉘코드를 넣고 확인했습니다, 근데 저 코드 앞에 \x90*15는 왜 있는지 아직 모르겠어요 흐음
그리고 돌아와서 getenv.c 파일에 위 소스코드를 넣었습니다. 이제 EGG라는 환경변수의 주소값을 알려줄거에요
그럼 NOP을 268개 넣어둔 뒤에 쉘코드를 실행해서 쉘을 따게 할 수 있겠죠
./getenv로 주소를 확인했으니 이제 저걸로 공격해보겠습니다
(python -c 'print"\x90"*268+"\x8d\xfc\xff\xbf"'; cat | ./attackme
앞에 NOP(\x90)을 268만큼 넣어둔 뒤 쉘코드를 실행합니다. 그 뒤에 attackme를 실행하는 코드입니다
그러면 쉘로 attackme를 실행하므로 attackme 초반 코드의 setreuid가 실행되겠죠. 사실 몰라요 자세히는
더 풀면서 차차 익힐 생각이지만 재차 강조하건대 그냥 공부 정리용이라 오류가 많을 수 있습니다,,
이어서 말하자면 고로 id를 쳤을 때 uid가 level13인 상태로 나오고 그 뒤에 my-pass 입력하면 13 비번 나옵니다.
https://geundi.tistory.com/125
해커스쿨 ftz 레벨12
해커스쿨 FTZ에서 이제 계속해서 버퍼오버플로우 문제가 나오기 시작합니다. 버퍼오버플로우를 일으키는 전체의 흐름이나 모습은 같습니다만 프로그램이 사용자로부터 데이터를 입력받는 방식 등에 그 차이가 나타..
geundi.tistory.com
https://mandu-mandu.tistory.com/35
해커스쿨 FTZ [LEVEL12] 풀이
해커스쿨 FTZ [LEVEL12] 풀이 M4ndU 해커스쿨 FTZ [LEVEL12] 풀이입니다. ID | level12 PW | it is like this 으로 로그인합니다. $ ls -l 를 이용해 어떤 파일과 어떤 폴더가 있는지 확인하고, $ cat hint 를 이..
mandu-mandu.tistory.com
두 분께 감사합니다 흑흑
2019.6.11
밤에 다시 오겠습니다
'System > HackerSchool ftz level' 카테고리의 다른 글
해커스쿨 ftz level14 (0) 2019.06.13 해커스쿨 ftz level13 (0) 2019.06.12 해커스쿨 ftz level11 (0) 2019.06.11 아!!!(해커스쿨 level 관련) (0) 2019.03.06 해커스쿨 ftz level9(2) (0) 2019.03.06