본문 바로가기

System Hacking/vortex

overthewire :: Vortex level4 by ORANG



if(argc) exit(0); 의 조건을 우회하는 방법을 몰라서 한참 헤맸다

 

execve함수를 통해, args는 NULL로 전달하고 env를 전달

 

arr[idx] 는 arr base + datatype*idx 로 계산 되기때문에

 

argv가 없으면 argv[3]을 env[3]으로 받아들이게 된다.



환경변수를 통해 전달하기 때문에, 메모리 값이 뒤죽박죽? 그냥 조금만 바꿔도 크게 바뀌었다

 

정확한 FSB 공격을 하기 힘들었던 부분.. 밑도 끝도 없는 삽질로 공격에 성공했다.

 

쉘코드를 환경변수에 올리고, 그 주소를 exit@got에 덮어씌우는 방법 사용

 

메모리가 계속 섞이길래 그냥 쉘코드 앞에 nop을 화끈하게 10만개 넣어줬다, 그리고 그냥 삽질해서 성공시킴..