21979, 1/1099 회원가입  로그인  
   lMaxl04
   http://1111
   libc 관련

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Board&no=37634 [복사]


포너블 문제를 풀다보면 libc가 제공되는 경우가 다소 있는 것 같습니다

문제 파일 실행 시 해당 파일을 참조해야하는데 어떻게 참조하게 만들 수 있나요?

libc에 맞는 ld 파일을 찾아 함께 patchelf를 해보려했으나 libc에 맞는 ld 파일이 잘 찾아지지 않기도 하고요 ㅠㅠ

물론 노가다로 오프셋을 구할 수는 있다는건 증명하였습니다 ㅎㅎ

  Hit : 781     Date : 2022/07/29 06:02



    
lMaxl04 추가로, strings로 libc 파일에서 /bin/sh의 offset을 찾는데, 함수 주소는 왜 그렇게 찾으면 offset이 다른지 궁금합니다. 2022/07/29  
cd80 보통 libc가 주어지는 경우에 patchelf같은걸로 같이 실행해야되는 경우는 힙문제풀때 아니면 거의 없습니다
힙문제풀때는 주어진 libc로 같이 실행하면 좋은 이유가 libc 버전마다 힙에 걸려있는 check & mitigation이 다르기 떄문입니다
댓글의 내용으로 보아 단순히 system함수와 /bin/sh문자열의 오프셋만 찾으면 되는 경우 같은데
(base) ➜ ~ strings -t x /lib/x86_64-linux-gnu/libc.so.6 | grep /bin/sh
1b45bd /bin/sh
(base) ➜ ~ objdump -d /lib/x86_64-linux-gnu/libc.so.6 | grep system\.\*\>:
0000000000052290 <__libc_system@@GLIBC_PRIVATE>:
0000000000153ae0 <svcerr_systemerr@@GLIBC_2.2.5>:
(base) ➜ ~

이런식으로 찾으시면 됩니다
/bin/sh의 offset = 0x1b45bd
system의 offset = 0x52290

함수주소를 strings로 찾으면 다른 이유는 system함수의 시작은 "system"문자열의 주소가 아니라 system함수 코드의 시작주소기 때문이구요
2022/08/01  
lMaxl04 역시 ㅎㅎ 기다렸습니다
우선 댓글의 질문에 대한 답은 잘 이해했습니다.

말씀하신 것과 같이 단순히 offset을 구하는 경우가 대부분이라 사실 그냥 찾으면 되긴 하는데, 간혹 libc 내의 특정 함수의 중간즈음에서 memory leak이 일어나는 경우 libc 버전에 따라서 해당 함수의 위치가 다른 경우가 있는 것을 확인하여서 그런 궁금증이 들었습니다 ㅎㅎ

예를 들어 libc_1.so 에서 printf + 100의 위치가 leak 되었는데,
libc_2.so에서는 printf + 200의 위치가 leak 되는 경우 입니다.

역시 patchelf 말고는 방법이 없으려나요?
2022/08/01  
cd80 쉽지 않네요 어떤 경우인지 알겠는데 저도 그럴때마다 정확히 시작점이 릭되는 함수들로 바꿔서 릭시켰었거든요 memcpy함수같은경우는 base나 len의 align에 따라 fast path, slow path로 나눠지기도 하는데 그런경우에 다르게 릭되는게 아닐까 싶네요 정확한 이유는 모르겠습니다 2022/08/02  
lMaxl04 답변 감사합니다 ㅎㅎ
우선은 patchelf에 대해서 조금 알아봐야겠습니다.
역시나 이번에도 큰 도움 되었습니다. 감사합니다
2022/08/03  
     [공지]해커스쿨 이용수칙 2021/04/11 수정판 [29] 한승재 01/05 6575
21978   쌩초보 과외 선생님 구인[2]     na48jung
06/02 35
21977   해킹과외 모집 하실때 제목에 지역명 적어주세요.     chanjung111
05/17 71
21976   [책 홍보] 첫 책인데 잘 봐주세요~     jdo
05/03 216
21975   해킹 공부 같이 하고자 하는 분 디스코드 공유해요     aovcoder999
05/03 153
21974   안녕하세요 모의해킹진행중에 웹쉘 에대해 잘몰라서 그러는데 고수분들 도와주세요 ![1]     ploplo333
04/28 144
21973   디스코드에 모여서 보안스터디하실분 구해요     fkdlzm34
04/02 325
21972   2023 핵테온 세종(HackTheon Sejong) 국제 대학생 사이버보안 경진대회 (접수 3월 22일 마감)     Geni pco COM
03/06 301
21971   안녕하세요 현직 프리랜서 프로그래머 입니다,[1]     assoccer63
03/04 570
21970   해킹과외 선생님 찾습니다.     sansuback
02/27 403
21969   안녕하세요 해킹배우고싶어 가입후 글올려요[1]     차영철이다
02/22 320
21968   시스템, 웹 해킹 과외[2]     pingping1234
02/16 514
21967   웹 모바일 해킹과외 합니다.[1]     x6161
02/09 430
21966   운영자님 LOB FC3,4, 10,14 다운로드 안됩니다.[3]     ttest
02/06 255
21965   안녕하세요 영상관련[1]     Whddn302
01/24 269
21964   해커 커뮤니티 사이트 좀 알려주세요... [1]     walker
01/22 853
21963   해킹 과외 합니다.[2]     jdo
01/12 800
21962   해킹 잘하시는분[2]     sksh1290
01/03 696
21961   초보자용 기수제 지옥 훈련 서바이벌 스터디그룹 빡공팟 6기 모집     teamh4c
01/01 431
21960   다시 해킹과외 들으실분 모집합니다.[4]     sysadm
12/23 674
1 [2][3][4][5][6][7][8][9][10]..[1099]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com