이 문제는 참 간단한 문제다. 따로 로컬로 불러올 필요도 없었다.
코드는 이렇다. strcmp로 password와 입력받은 buf를 비교한다.
peda로 strcmp에 BP를 걸고 진행해보자
레지스터 RDI에 보면 cat: password: Permission denied라는 문자열이 보인다.
얼핏보면 cat을 통해 뒷 문자열을 출력하려고 하는 것처럼 보이겠지만 사실 저 문자열 자체가 password이다.
64비트에서 함수를 호출할때 보통 인자를 rax, rdi, rsi, rdx ,...식으로넣는다는걸 생각해보면 rdi에는 password가 들어가 있을것을 유추할 수 있다.
따라서 저 문자열을 넣으면 된다.
peda에서 보여주는 arguments에도 같은 값이 들어있는것을 볼 수 있고,
실행하면 flag를 얻을 수 있다.
'pwnable > Toddler's Bottle' 카테고리의 다른 글
[Toddler's Bottle] unlink (0) | 2018.09.14 |
---|---|
[Toddler's Bottle] horcruxes (0) | 2018.09.12 |
[Toddler's Bottle] asm (0) | 2018.09.12 |
[Toddler's Bottle] uaf (0) | 2018.05.31 |
[Toddle's Bottle] cmd2 (0) | 2018.05.31 |