문제 페이지는 해당 페이지와 같다.
해당 페이지에는 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 메뉴에 들어가 입력하면 해당 문제가 풀린다.
'프로젝트 > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge(old) 34번 문제 (0) | 2021.07.19 |
---|---|
[Webhacking.kr] Challenge(old) 32번 문제 (0) | 2021.07.19 |
[Webhacking.kr] Challenge(old) 43번 문제 (0) | 2021.07.14 |
[Webhacking.kr] Challenge(old) 42번 문제 (0) | 2021.07.14 |
[Webhacking.kr] Challenge(old) 41번 문제 (0) | 2021.07.14 |