풀긴 했는데 댓글들 힌트 보면서 풀었던 거라 궁금한 부분이 생겨서 질문 해봅니다.
php wrapper 종류 중 php://filter를 써야하는 이유는 알게되었는데, 구문 중 conver.base64-encode
여기서 base64로 인코딩 해야하는 이유가 무엇이고 인코딩 하기 전에 해당 코드는 무엇으로 코드 되어 있길래 base64로 꼭 인코딩 해야하나요
지식도 많이 후달려서 질문이 매끄럽지 못한 부분은 이해해주시면 감사하겠습니다..
#php
작성자 정보
답변
1
5un9hun
세계수
꼭 base64로 인코딩해야하는 것은 아닙니다. rot13 이나 다른 인코딩을 이용해도 됩니다.
하지만 왜 인코딩 하느냐가 질문의 핵심같은데요. 만약 인코딩없이 그대로 php 파일을 가져오게된다면, php 내용이 rendering돼서 php 코드를 가져올 수 없습니다. 때문에 rendering 되지 않게 다른 문자열로 인코딩된 값을 가져와서 따로 디코딩시키는 방법을 이용해 php code leak을 진행할 수 있습니다.