Wargame/Webhacking.kr

webhacking.kr - old 25 (PHP wrapper [LFI])

G_OM 2024. 3. 14. 16:47

 

 

문제화면이다.

Linux에서 'ls -l' 명령어를 친듯한 모습이 보인다.

 

 

 

 

 

 

 

 

 

 

 

? file=hello로 되어있으니 flag로 이동해서 확인해 보자.

 

 

 

 

 

 

 

 

 

 

 

flag에서 확인해 본 결과 플래그는 코드 안에 있다고 나와있다.

 

그러면 코드를 확인할 수 있어야 하는데

 

php wrapper를 이용해서 확인해 보자.

 

php wrapper는 데이터의 앞에서 어떤 막(?)을 감싸 주는 데이터 또는 다른 프로그램이 실행되도록 설정하는 프로그램이다.

 

그리고 

 

php wrapper를 이용한 LFI(Local File Inclusion) 공격에 대해서 알아봐야 한다.

 

LFI = 웹 브라우저를 통해 서버에 파일을 포함시키는 과정 대부분의 LFI 취약점은 URL를 통해 이뤄진다.

 

LFI 공격 형식은 'www.[sitename]. index.php? page=./../../../~/etc/passwd/'

 

우리가 쓸 wraper 은 'php://filter'이다 이 와이퍼는 encode/decode 옵션을 사용하여 서버 안에 있는 문서들을 열람할 수 있다.

 

다른 방법 들은 설명이 길어질 거 같으니 따로 정리해서 올리도록 하겠다.

 

문제로 넘어가자.

 

'www.[website].index.php?page=php://filter/convert.base64-encode/resource=[file name]'

 

 

한번 해보자.

 

 

 

 

 

 

 

 

 

 

 

page 가 아닌 file로 바꿔주고 base64로 인코딩해서 flag를 확인할 결과 출력이 되었다.

 

decode를 해보자.