ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 해커스쿨 LOB level3
    System/HackerSchool LOB 2019. 7. 14. 00:06

    bash2 안하고, 왜인지 모르겠는데 환경변수 shell에서 \x90을 100번이 아닌 40번만 추가해야 된다는 사실을 몰랐으며, 인자가 아닌 입력문 그대로 stdin으로 받는다는 사실을 모르고 삽질하다가 또 하루가 지났ㄷr

    이번 문제는 small buffer과 stdin이 쓰인 문제라고 그랬죠 16바이트에 sfp 4바이트 더 넘겨서 쉘코드 실행시키면 될거 같은데..

    근데 이번엔 gets() 함수가 쓰여서요 그것만 조심해서 코드 작성하면 풀릴 거 같아요

    전처럼 환경변수에 쉘코드 저장을 하는데 여기서도 변수가 있는데 "\x90"*40으로 해줘야 하고

    "\x90"*20으로 하고, 전처럼 ./(파일) 다음에 `python 형식을 쓰지 않고 (python 형식 뒤에 ./(파일) 형식으로 입력해야 이번 문제가 풀립니다

    여기서 궁금한 게 두 개 있는데

    1. 왜 쉘코드 환경변수 지정 과정에서 "\x90"이 40개를 써야 풀릴까?

    2. gets(표준 입출력)을 사용할 때와 printf함수를 사용할 때와 페이로드 작성 방식이 다를까?

     

    조만간 찾아서 다시 이해해봐야겠습니다..

     

    2019.7.14

    'System > HackerSchool LOB' 카테고리의 다른 글

    해커스쿨 LOB level6  (0) 2019.07.14
    해커스쿨 LOB level5  (0) 2019.07.14
    해커스쿨 LOB level4  (0) 2019.07.14
    해커스쿨 LOB level2  (0) 2019.07.12
    해커스쿨 LOB level1  (0) 2019.07.12
Designed by Tistory.