0

system("/bin/sh") 주소 aslr적용 여부

aslr이 적용되면 스택도 랜덤화 된다고 알 고 있습니다.
제가 혹시나 해서 freehook을 코드에 있는 system(“/bin/sh”)의 주소로 바꿨습니다.
그런데 잘 싱행되더라구요
aslr이 적용되면 랜덤화가 될텐데 왜 정상작동하는 건지 아시나요??

0x0000000000400a11 <+199>: mov edi,0x400aeb
0x0000000000400a16 <+204>: call 0x400788 system@plt
gdb로 까봤을 때 위와 같이 나오는데요
freehook 0x400a11로 덮었습니다.

1 answers
0

쉽게 설명 드리면, 말씀하신 것처럼 ASLR의 경우 ‘스택’ 영역을 랜덤화 합니다.
데이터 영역은 랜덤화 하지 않기 때문에 해당 값으로 공격이 가능합니다 ^^;
ASLR에 대해서 검색해보시면 쉽게 이해하실 수 있을 것 같습니다.