(old-28과 마찬가지로 멘토님이 도와주신 문제..)
문제 화면입니다.
문제의 소스 코드입니다.
die 함수를 전부 피하고 결과 값이 존재하면 플래그를 얻을 수 있습니다.
그냥 index.php로 가면 아무것도 출력되지 않아서 die 함수가 실행됐음을 알 수 있습니다.
접근 방식은 이전 old-28과 비슷한데
에러를 일으켜보면 사용되는 서버가 아파치 서버임을 알 수 있습니다.
mysqli_connect()에 인자로 설정된 값이 없으면 php.ini의 디폴트 값을 가져와서 실행하는데
.htaccess 파일로 해당 디렉터리 내의 디폴트 값을 설정해 줄 수 있습니다.
https://www.php.net/manual/en/configuration.changes.php
PHP: How to change configuration settings - Manual
Being able to put php directives in httpd.conf and have them work on a per-directory or per-vitual host basis is just great. Now there's another aspect which might be worth being aware of:A php.ini directive put into your apache conf file applies to php wh
www.php.net
.htaccess는 위와 같이 작성해주며
host에는 구글 클라우드에서 부여해준 mysql의 외부 아이피를 넣으면 됩니다.
user와 pw는 mysql로 생성한 유저의 아이디와 비밀번호를 넣어주면 됩니다.
로컬에서 열심히 시도해봤지만 오류를 도저히 해결할 수 없어서
구글 클라우드를 통해 구축하였습니다.
인스턴스를 하나 만들어주고 클라우드 셸에서 소스 코드에 적힌대로 db와 table을 작성해줍니다.
0.0.0.0/0의 접속을 승인해줘서 모든 클라이언트가 접속할 수 있도록 설정해줍니다.
이제 .htaccess 파일을 업로드하고
소스 코드로 들어가주면
플래그가 나왔습니다.
이 값을 Auth 탭에 인증하면
점수를 얻었습니다!
레퍼런스
https://aidencom.tistory.com/m/433
[ Webhacking.kr ] old 30 Write Up
Start .htaccess 를 이용하여 DB 커넥션을 하이재킹 하는 문제입니다. 문제 풀이에서 사용하는 MySQL 버전은 5.7 을 사용했습니다. MySQL 8.0 이상의 버전을 사용하게되면 5.7 을 사용할 때 보다 트러블 슈
aidencom.tistory.com
'write-up(web) > webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] ouroboros golf write-up (0) | 2022.10.27 |
---|---|
[Webhacking.kr] Challenge old-59 write-up (0) | 2022.10.27 |
[Webhacking.kr] Challenge old-28 write-up (0) | 2022.10.12 |
[Webhacking.kr] baby write-up (0) | 2022.09.24 |
[Webhacking.kr] Challenge old-53 write-up (1) | 2022.09.24 |