본문 바로가기

system/writeup

2019 aeroctf remote_storage

remote_storage

2019 aeroctf remote_storage

이 바이너리는 staically linked이다.

근데 문제는 binarylibcsymbol이 모두 strip되어 있다는 것이다.

때문에 entry point에서부터 함수 이름들을 추측해가는 수밖에 없다..

 

그렇게 함수를 따라가다 보면 switch 문을 만날 수 있다.

업로드, 다운로드, 서명, 추가 등이 있는데 취약점은 서명에서 발생한다.

 

맨 밑에 printf를 보면 format string이 발생한다.

sign_의 값은 signernew_hashxor연산되어 나온다. 이를 역연산하여sign_의 값을 포맷으로 맞추면 된다.

위 취약점만으로도 익스가 가능하지만, 또다른 취약점이 발생한다.

 

add 함수에서 스택 오버플로우가 일어난다.

하지만 canary가 존재한다. 이를 format string으로 leak한 후 system("/bin/sh")를 실행시키면 된다.


'system > writeup' 카테고리의 다른 글

2019 besidesSF genius  (0) 2019.03.16
2019 besidesSF straw-clutcher  (0) 2019.03.15
2016 seccon jmper  (0) 2019.03.13
pwnable.tw de-aslr  (0) 2019.03.11
pwnable.tw kidding  (0) 2019.03.10