본문 바로가기

 

30번 문제에요.

배점은 550점, 분야는 서버에요.

 

 

소스보기 버튼과 파일 업로드기능이 있네요.

 

먼저 소스보기를 눌러봤어요.

 

 

db에 연결해서 flag에 뭐든 존재하면 flag를 보여주는것같네요.

 

그런데 mysqli_connect() 가 조금 이상하네요...?

 

원래 인자에

mysqli_connect(호스트,ID,비밀번호,DB)

 

가 있어야 할건데...

 

 

그렇다는건 .htaccess에 php관련 설정을 건들여서 내 서버의 DB에서 flag를 가져올수 있겠네요!

 

 

외부 접속용 서버를 라즈베리파이로 구축해놓고, 미리 외부 접속용 DB와 사용자도 만들어 놨어요.

 

chall30 이라는 이름의 db를 만들고,

 

chall30_answer 라는 이름의 테이블에 flag 라는 이름의 컬럼을 만들어요.

 

테이블 안에 값까지 집어넣어 주면 DB 설정은 끝이에요.

 

php_value mysqli.default_host "자신.의.IP.주소"
php_value mysqli.default_user "sql계정이름"
php_value mysqli.default_pw "sql비밀번호"

 

.htaccess 파일을 작성한다음,

 

 

업로드를

 

해주고

 

자신의 디렉토리/index.php 로 들어가면????

 

FLAG{uhoh-db-connection-hijacking?}

 

이제 FLAG를 Auth에 넣어주면?

 

빠밤!

 

문제가 풀렸네요.

댓글