Gae Ko's Blog

[webhacking.kr] challenges25 본문

웹해킹 /[webhacking.kr]

[webhacking.kr] challenges25

Gae Ko 2017. 12. 4. 12:45

주소창으로 보니 file값에 hello가 들어가 있다. 그리고 화면엔 hello world가 출력되어 있다. 

화면에 있는 세 개의 파일 중 hello.txt를 열어본 거임을 유추할 수 있다.

그럼 나는 password가 알고 싶으니까 passwor.php를 열어보면 될 거 같다. 

그래서 file값으로 password를 넣어봤는데 아무런 변화없이 화면에 hello world가 출력된다.

[ 입력하여 집어넣은 file값 → 열리는 파일 (결과) ] 

          hello                  →      hello.txt  

          hello.txt              →      hello.txt 

          index.php            →      hello.txt

          password.php       →      hello.txt

hello → hello.txt 를 통해 입력하여 넘겨준 file값에 '.txt'라는 문자를 자동으로 붙여준다고 가정할 수 있다. ($file = $_GET[file].".txt")

그리고 if문을 통해 file값이 "파일이름.확장자"로 파일명과 확장자를 함께 넘겨줘야 해당 파일을 열어주도록 하며 아닌 경우엔 항상 hello.txt 파일을 열어주도록  설정한 것이라고 가정할 수 있다.

즉, index.php 또는 password.php를 표현하기 위해서는 문자열 끝을 가르키는 null문자를 맨 뒤에 쓰게 되면 '.txt' 문자를 무시할 수 있다.

?file = password.php%00 하면

$file = $_GET[file].".txt"을 통해 file값으로 password.php%00.txt 인데 %00를 통해 .txt를 무시 

auth가서 플래그값으로 ~~nullbye2~~ 를 넣으면 

Clear!

'웹해킹 > [webhacking.kr] ' 카테고리의 다른 글

[webhacking.kr] challenges23  (0) 2017.12.04
[webhacking.kr] challenges11  (0) 2017.12.04
[webhacking.kr] challenges47 아직 ㅠ  (0) 2017.11.20
[webhacking.kr] challenges52 아직 ㅠ  (0) 2017.11.20
[webhacking.kr] challenges38  (0) 2017.11.19