27, 1/2 회원가입  로그인  
   h2spice
   iOS 에서 NX-bit 우회 중입니다....

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



mprotect( ) 를 사용하여 스택의 NX를 해제한뒤,
삽입한 쉘 코드로 점프하려고 합니다.
Chain RTL을 사용해서 mprotect( )함수는 동작합니다.
문제는 RWX 권한을 모두 줘야 할 것 같은데 R-X 까지 밖에 주지 못하네요..
인자값으로 7 (PROT_WRITE | PROT_READ | PROT_EXEC) 를 줘도 그렇습니다.

제 생각에는 R-X 권한만주어도 스택에 들어간 쉘코드를 읽고 실행이 될 것 같았지만
그렇지 않았습니다.

쉘코드를 넣지 않고 테스트하였을때 RW-일때 오류가 발생하지않지만 R-X일때는 오류가 발생하더군요 퍼미션문제같았습니다.
물론 쉘코드를 넣었을때도 마찬가지고요. (RWX일때 가능할것으로 추측)

최대 RWX를 다 줄 수 있을것같은데  원래 되지 않나요??
Payload 가 잘못되었나 싶어 그냥 코드상에서 mprotect()를 이용해도 마찬가지에요.

  Hit : 4576     Date : 2012/05/23 08:44



    
h2spice 해결햇네요.....;; 2012/05/28