저번 포스팅에서 RTL을 한건 NX-bit를 우회하는 기본적인 RTL에 대해 언급했었다. 근데 여기서 아스키아머가 적용되었을 때 RTL 공격을 하는 법을 알아보자. 아스키 아머가 적용되면 SYSTEM 함수 라이브러리 주소의 최상위 1바이트가 NULL로 바뀌는데 strcpy 등으로 페이로드가 복사될 때 null 때문에 함수 호출한 후 페이로드 뒷부분이 전달이 되지 않으므로 함수의 인자값을 직접 대입하여 변조하는 것은 불가능하다. 그렇기 때문에 쓰레기값 심볼릭 링크를 하는 RTL 즉, 오메가 프로젝트를 사용한다. 근데.. 접때도 설명했듯이 argv 자리에 있는 값은 스택영역에 있다. 아스키 아머가 걸려 있으면 적어도 페도라 코어3은 될텐데. 거기엔 또 랜덤 스택이 적용되어 스택주소는 계속 해서 바뀐다. 그렇..