본문 바로가기
CTF_/webhacking.kr

[webhacking.kr] old-25(150) 풀이

by 낭람_ 2020. 1. 24.
반응형

[old-25] LFI 취약점


- 문제 25번에 들어가면 file 인자값으로 hello가 써져있다.

- 밑에 textarea에는 hello world가 써져있다.


- file에 flag를 쓰자 FLAG is in the code라는 글이 뜬다.


- file에 index를 쓰자 아무 것도 없는 빈 칸이 뜬다.


- file에 다른 값들을 넣으면 아무 것도 뜨지 않는다.

- file에 flag.php나 hello.php를 입력해도 아무 것도 뜨지 않는다.


- 위의 결과값으로 보아 file에 file명을 입력하면 자동으로 php가 붙어 include 되는 것 같다.

- LFI 취약점을 이용하여 file에 구문을 넣어보자

LFI(Local File Include) : include 구문을 통해 서버의 페이지를 include하는 취약점

<?php
if(isset($_GET['file'])) {
include($_GET['file']);
}
?>

- 위 코드의 경우 LFT.php?file=../../../../../../etc/passwd 를 할 경우 passwd 파일을 볼 수 있다.


- 따라서 old-25번의 경우 include($_GET['file'].'.php'); 로 되어 있는 것 같다.

- 파일의 모든 코드를 볼 수 있도록 http://webhacking.kr:10001/?file=php://filter/convert.base64-encode/resource=flag  를 입력한다.

- php://filter/convert.base64-encode/resource=flag를 입력하면 위의 값이 뜬다

- 콘솔창에 alert(atob("PD9waHAKICBlY2hvICJGTEFHIGlzIGluIHRoZSBjb2RlIjsKICAkZmxhZyA9ICJGTEFHe3RoaXNfaXNfeW91cl9maXJzdF9mbGFnfSI7Cj8+Cg==")); 를 입력한다.


- webhacking.kr의 Auth 부분에 입력하면 old-25번 클리어



반응형

'CTF_ > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] old-33(200) 풀이  (0) 2020.01.26
[webhacking.kr] old-26(100) 풀이  (0) 2020.01.25
[webhacking.kr] old-24(100) 풀이  (0) 2020.01.16
[webhacking.kr] old-23(200) 풀이  (0) 2020.01.16
[webhacking.kr] old-01(200) 풀이  (4) 2020.01.11

댓글