Security/Web 문제풀기
Webhacking.kr 25번
하얀콩토리
2021. 2. 23. 00:40
webhacking.kr 25번 문제를 풀어보자.
url을 보니 file=hello라고 되어 있는 것을 보아 GET 방식으로 파일을 받아오며 회색창에 그 파일이 출력되는 것 같다.
그리고 실제 파일은 hello.php인데 hello까지만 출력되는 것을 보아 file 파라미터로 받아온 값에는 자동으로 .php를 붙여 실행하는 것 같다.
flag.php 파일을 열기 위해 url에 flag을 입력해보자!
흠... FLAG가 코드 안에 있다...?
소스코드를 알아보기 위해 php://filter라는 PHP Wrapper을 사용해보자.
php는 입출력, 오류 파일 등에 접근할 수 있는 다양한 I/O 스트림을 제공하는데 이를 PHP Wrapper라고 한다.
php://filter/convert.base64-encode/resource='파일명'
위와 같은 명령어를 이용하면 된다!
이 코드의 결과값으로 '파일명'의 소스코드를 base64로 인코딩한 것을 보내므로 디코딩을 진행해야한다
디코딩을 진행하면..!
해결!