blackbearwow 2022. 4. 2. 18:14

OOB문제이다.

idx의 값을 검사하지 않는다. 프로그램은 cat, ls, id, ps, file ./oob명령어를 실행하기를 원하겠지만, 잘하면 /bin/sh를 실행시킬 수 있다.

*command 주소와 name 주소를 구해보자. 

둘의 차이는 0x804a0ac - 0x804a060 = 0x4c로, idx에 19를 넣으면 name에 써있는 값의 주소에서 문자열을 읽어들인다. 

name에는 0x0804a0b0을 넣고 /bin/sh를 바로 넣으면 쉘이 획득된다.