ulimit


ulimit -s unlimited -> aslr ㄲㅓ짐 


http://err0rless313.tistory.com/entry/ulimit-s-unlimited-ASLR%EC%9D%B4-%EA%BA%BC%EC%A7%80%EB%8A%94-%EC%9D%B4%EC%9C%A0

64bit binary나 , ubuntu 16.04같은 최신 리눅스는 안될 수 있음


ulimit -d 10(ulimit -d 0)


Malloc은 크기에 따라 heap이나 mmap을 이용해서 주소를 할당하는데 Ulimit –d 옵션은 heap에 할당하는 크기의 최댓값을 정의한다

즉 mmap을 이용하면 malloc이 libc영역에 할당됨

ulimit -s unlimited와 같이 libc주소도 고정시켜버리면

malloc주소를 고정시킬 수 있음


ulimit -a해서 보이는 다양한 설정값들을 제한하거나 컨트롤할 수 있음


ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

file size               (blocks, -f) unlimited

max locked memory       (kbytes, -l) unlimited

max memory size         (kbytes, -m) unlimited

open files                      (-n) 256

pipe size            (512 bytes, -p) 1

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 266

virtual memory          (kbytes, -v) unlimited


file size도 local exploit에 가끔 쓰인다.

pwnable.kr의 문제중 하나에 있었던 것 같음

또 core size의 default는 0이고 이 크기 늘려주면 프로그램이 비정상종료될 떄 core파일이 생긴다

디버깅할때 유용함


+ Recent posts