프로젝트/Webhacking.kr

[Webhacking.kr] Challenge(old) 44번 문제

Uggjjini 2021. 7. 14. 23:13

문제 페이지는 해당 페이지와 같다.

해당 페이지에는 name 입력창과 view-source 링크가 존재한다.

 

view-source 링크를 통하여 페이지의 소스 코드를 확인한다.

 

 

주석처리된 부분을 확인하면 ls 명령어를 실행하라고 되어있다.

 

<?php
  if($_POST['id']){
    $id = $_POST['id'];
    $id = substr($id,0,5);
    system("echo 'hello! {$id}'"); // You just need to execute ls
  }
?>

 

코드를 확인하면 POST 형식으로 id 파라미터 값을 받아와 5글자 이후는 자른다. 그리고 system 함수를 통해 해당 문구를 출력하는 것을 알 수 있다.

 

그래서 입력창에 ';'ls 를 입력하여 system 함수가 system("echo 'hello!';'ls'")로 인식되도록 한다.

 

상단과 같이 입력하면 ls 명령어에 의해 hello! 문구 뒤에 현재 위치에 존재하는 파일의 목록을 확인할 수 있는데, flag 값이 존재할거 같은 파일과 index.php 가출력되는 것을 확인할 수 있다.

 

 

flag값이 존재할 거 같은 파일의 위치로 이동하면 flag 값이 보인다.

 

 

이 flag 값을 webhacking.kr 의 Auth 메뉴에 들어가 입력하면 해당 문제가 풀린다.