시스템 해킹

 1576, 1/79 회원가입  로그인  
   vngkv123
   ROP GOT overwrite의 strcpy질문.. lob fedora hell_fire

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


strcpy에 인자를 전해줄때 왜 다들 1바이트씩 끊어서 주는건가요???


그리고 lob fedora core3 hell_fire문제에서..

argv[1]인자값을 줘야해서 언제나처럼 ./evil_wizard `python -c 'print"~~~~"'`이런식으로 줫었는데 이건 안되고 ./evil_wizard "`python -c 'print"~~"'`"
이런식으로 백쿼터앞에 더블쿼터를 줘야하더라구요 왜그런거죠??

  Hit : 3406     Date : 2017/03/26 11:36



    
해쿨러 1. 복사하고자 하는 바이트가 연결돼있으면 여러바이트씩 해도 됩니다
2. 페1이로드에 \x20이나 \x0a같은게 포함돼있으면 argv의 구분자로 사용되기 때문입니다
2017/03/27  
vngkv123 argv의 구분자라는게 어떤의미인가요 ㅜ 널값 같은건가요?? 2017/03/27  
vngkv123 그게 페1이로드상 쉘에서 아스키코드로 인식해버리는건가요?? 2017/03/27  
pwnnnt 네. 쉴 코드 자체가 원래 입력할 수 없는 값들을 보내기 위해 perl, python 을 사용하는 겁니다. 2017/03/27  
pwnnnt 그래서 \x20, \x0a 를 만나면 인자가 구분되어 버립니다. 2017/03/27  
pwnnnt 더블 쿼터로 하나의 문자열로 인식하게 만들면 구분이 되지 않습니다. 2017/03/27