게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
스택 버퍼 오버플로우...쉘이 실행이 안 되는데 어디가 문제일까요...?
게시물ID : programmer_20794짧은주소 복사하기
작성자 : 관운장
추천 : 0
조회수 : 510회
댓글수 : 6개
등록시간 : 2017/06/11 03:48:58
옵션
  • 본인삭제금지
http://inaz2.hatenablog.com/entry/2014/03/14/151011
이 사이트에 있는 스택 버퍼 오버플로우 공격을 발표용으로 해 보고 있습니다.(일본어인데 크롬 번역이 잘 되네요.)
그런데 블로그에 있는 소스를 그대로 가져와서 실행하고 있는데
뭔 짓을 해도 쉘 취득이 안 되네요.
ASLR, SSP, DEP 전부 해제하고 실행시켜 봤습니다만 똑같네요...
어떻게 해야 쉘을 얻을 수 있을까요?
123.png

참고로 파일 소스는
1.png
취약성 있는 파일이 이 소스이고
익스플로잇 코드는
2.png
이겁니다.
여기 분들이야 전문가시니 코드만 봐도 다들 아시겠지만 간단히 설명하자면
첫번째 인수에 버퍼길이, 두번째 인수에 버퍼의 선두주소를 찾아서 계산된 데이터를 a.out의 첫번째 인수로 세팅해서 파일을 실행시키는 겁니다. a.out은 저 위의 단순한 파일이구요.

그런데 저 홈페이지에서 좀 의문이 드는 점이
DEP를 무효화 시킨 후에 실행하면

$ gcc -fno-stack-protector -z execstack bof.c 
$ python exploit.py 100 0xbffff68c buf = 0xbffff68c 
(snip) 
$ id 
uid=1000(user) gid=1000(user) groups=1000(user) $
여기서 쉘을 취득했다고 나오는데 쉘을 취득했다고 하면 여기 부분에서 root유저로 나와야 하는 거 아닌가요?
블로그의 다음 내용부터는 제대로 #요걸로 써놨는데 요 부분에서는 이게 잘못 쓴 거 아닌가...해서요.

뭔가 쓸데없어 보이는 내용이 많았습니다만, 요지는 저게 왜 실행이 안 되는 걸까...하는 겁니다.
아시는 분은 힌트라도 주시면 감사하겠습니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호