CTF/Writeup
RITSEC CTF 2018 Crazy Train
JeonYoungSin
2018. 11. 19. 20:49
문제에 들어가보면 여러 기능 중 포스트를 생성하는 기능 중 article[a] 파라미터에 입력한 값이 응답 값에 출력된다.
여기서 Flask SSTI라고 생각하고 구문 몇개 넣어봤는데 아닌 것 같았다. 그러다 SQLI인가 하고 이것저것 넣어보다 sleep이 먹히길래 Mysql SQLI인가보다 했다가 엄청 삽질했다. SQLI라기엔 문법적으로 안먹히는 구문이 너무 많았고 여기서 한참고민하다 SSTI중에 Flask말고 다른 언어쪽으로 터지나 싶어서 찾아봤다.
요 사이트에 있는 구문들을 테스트해보다 Ruby SSTI 구문이 먹히는걸 볼 수 있었다.
<%= File.open('/etc/passwd').read %>
이제 이걸로 RCE가 되는 루비 구문찾아서 넣어봤더니 필터에 걸리는건지 잘 안됬다. 그래서 디렉토리 목록을 확인할 수 있는 구문을 찾아서 플래그파일명 확인하고 내용보니 플래그가 있었다.