35, 1/2 회원가입  로그인  
   trynerr
   [파도콘2011] karma200 질문 및 넋두리

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=5 [복사]


계속 삽질하다가 대회끝나기 1시간 전에 문득 생각해낸 방법이 몽이형이 말씀하신 그부분이구요;;
libc.6.so에서 찾은것이
add 10xx, esp
add 20xx, esp
대충이러한데 이걸 이용해서 esp 흐름은 대충 잡았고요...
환경변수에 박아놓은 payload로 점프뛰어서 ret 슬라이딩 후에 execl함수 호출하게 해 놓았거든요;;
(현재 esp위치와 환경변수까지의 거리가 1000 정도 되는거 같더라구요
ret주소가 -> 0x12345678일떄

add 20xx, esp 실행후 ret으로 인해 eip가  박히는 값이

0x12345678 0x12345678 0x12345678 0x12345678 0x12345678
         |              |
      esp가 여길로 박혀요

결국 eip는 5678 0x1234 부분을 가리켜서  segmentation fault 떳었습니다;; 당췌 뭐가 문제일까요;; 흐음;;
맞춰보려고 앞에 A나 AA같은 값을 넣어봤는데도 같은 위치를 참조하는데
add operation을 다른것으로 잡아야할까요;;

뭐를 잘못 생각한 걸까요~~~;;
이럴줄 알았으면 미리미리 공부할 걸 그랬습니다.;;ㅠㅠ
같이 출전한 팀원들한테 얼굴을 들고 다닐수가 없네요;;

수고하십시오 감사합니다.

  Hit : 4743     Date : 2011/01/20 02:57



    
멍멍 add로 더한 값이 4의 배수가 아닌가보네~ 4의 배수인 것을 다시 찾거나..
그걸 찾기가 어려우면 ret 슬라이딩 끝에 add 2, esp / ret 같은 걸 한번 넣어줘
엥 근데 그나저나 ret 슬라이딩은 잘 돼? =_= 이상하네 ㅎㅎ
그리고 환경변수에 올린 payload들을 2바이트씩 shift시켜도 될 것 같은데.. 해봤다고? 왜 안될까..
디버깅한 내용이라도 복사해서 올려줘봐~
2011/01/21  
trynerr 안그래도 이번에 문제좀 다시 풀어보려고 합니다.
같은환경에서 해야하는데 VM이미지좀 얻을수 있을까요?
아님 fedora가 libc에 대한 aslr이 안걸려 있는거 같은데
어디서 얻을수 없나요???
2011/01/21  
멍멍 Fedora 14 설치 후 하면 될 것 같삼.. 글고 대회 서버에서도 ASLR 안 걸려있었어~
Fedora의 특징이 처음 설치 후 2시간 정도가 지나면 ASLR이 풀려버리더라고-_-
2011/01/24  
trynerr 헉!! 정말요??
뭐 그런 -_-a 전 당연히 걸려있줄 알았고 이번 대회서버에서는 문제때문에 일부러 disable 시킨줄 알았어요~~~
2011/01/24  
멍멍 그러게~ ㅎㅎ 2011/02/25