old-29 (400)
Last updated
Last updated
첫 화면이다.
abc.txt라는 파일을 업로드하고 프록시로 잡아보았다.
아래는 패킷의 일부이다.
filename을 넘겨주는 것을 알 수 있다.
아래와 비슷한 맥락의 쿼리가 실행되는 것으로 예상하였다.
value_1
, value_2
, value_3
에는 $time
, $ip
, $_GET[filename]
과 비슷한 형식으로 값이 들어갈 것으로 예상하였다.
다만, 그 순서는 확실한 것이 아니었기에 파일명을 통해 쿼리문을 계속 보내며 순서를 알아냈다.
잘못된 순서로 쿼리를 보내면 아래와 같은 에러가 발생한다.
파일명을 abc',123,'MY_IP')#
로 한 후 업로드하니 아래와 같이 정상적으로 업로드가 되었다.
이를 통해 value_1
, value_2
, value_3
이 각각 $_GET[filename]
, $time
, $ip
에 해당하는 것으로 유추하였다.
파일명을 아래와 같이 설정한 후 업로드해 데이터베이스명을 알아낸다.
데이터베이스명은 chall29
이다.
파일명을 아래와 같이 설정한 후 업로드해 테이블명을 알아낸다. 테이블이 2개 이상 존재할 수 있으므로 GROUP_CONCAT()
을 사용하였다.
테이블명이 flag_congratz
인 것으로 유추하였다.
파일명을 아래와 같이 설정한 후 업로드해 컬럼명을 알아낸다. 컬럼이 2개 이상 존재할 수 있으므로 GROUP_CONCAT()
을 사용하였다.
컬럼명은 flag
이다.
파일명을 아래와 같이 설정한 후 업로드해 플래그를 알아낸다.
플래그는 FLAG{didYouFeelConfused?_sorry:)}
이다.
Auth 창에 FLAG{didYouFeelConfused?_sorry:)}
를 넣으면 문제가 풀린다.