22018, 1/1101 회원가입  로그인  
   xornrbboy
   Double Staged Format String Attack 에서..

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


mongii님이 개발하신 Double Staged Format String Attack 에 대해 pwn3r님이 문서화하신 걸 봤는데요.
변수가 전역변수라고 해도 기존의 FSB를 그냥 쓰면 되지않나요??
그니깐 그냥 전역변수buf에 쉘코드담고 %n인자를 이용해 그냥 ret주소를 쉘코드주소로 바꿔버리면 되지않나요??


  Hit : 10316     Date : 2014/01/12 04:22



    
itchy 그게 불가능하므로 그런겁니다.
지역변수 사용시 스택을 컨트롤 할 수 있어 인풋 값 위치를 구해서 %n 포멧 스트링을 이용해 페이로드를 작성하면 되지만, 전역변수 사용시 스택을 컨트롤 할 수가 없어져 기존의 fsb 페이로드를 작성할 수가 없습니다.
그래서 그 Double Staged Format String Attack 문서에서는 전역변수에서 입력을 받아 스택을 컨트롤 할 수 없는 불가능한 상황일 경우 스택에 존재하는 스택 포인터를 이용해서 %n 포멧스트링을 통해 fsb가 터지는 printf 함수 이후의 got을 쉘코드의 주소로 overwrite 해서 익스플로잇 하는 과정인거죠 :-)
2014/01/19