목록2024/10/14 (5)
Bazinga!
보호되어 있는 글입니다.
해당 웹사이트는 이미지 파일은 게시글에 보이도록, 이미지 형식이 아닌 파일은 다운로드 받을 수 있도록 만들어졌다.이 PHP 코드는 서버에서 원격 명령을 실행할 수 있는 단순한 웹 셸이다. shell.jpg.php의 이름으로 .jpg 같은 확장자와 .php를 조합하여 업로드 하였더니 이미지가 아닌 파일 형식으로 게시글에 업로드 되었다. Uploads파일에 php파일이 저장된 것을 확인가능 whoami 명령어가 실행되고 서버에서 반환되는 결과로 사용자 계정(www-data)이 출력되었다.이는 서버가 PHP 파일을 정상적으로 실행하고 있는 것이며, 악성 코드가 실행될 수 있는 상태이다. 위와 같은 공격을 통해 공격자는 서버에 대한 완전한 제어권을 획득할 수 있게 된다. 업로드 관련 취약점을 방어하기 위해서는..
base64로 인코딩 된 쉘 명령어를 받는 php코드를 위와 같이 작성하였다.Content-Type은 이미지 파일이지만사진과 같이 웹 페이지에서 파일로 업로드 되었다. ls 를 base64인코딩을 하면 bHM= 이다. 해당 사이트의 업로드 파일들은 /var/www/html/uploads 경로로 저장된다.아래와 같이 base64 디코딩된 값을 'cmd=' 뒤에 입력해보았다. 같은 방식으로 /etc/passwd 파일을 확인해본다.다음과 같이 /etc/passwd 내용이 서버에서 출력된다.
파일명: cmd.php;.jpg는 PHP 코드를 포함한 파일로,이름을 cmd.php;.jpg로 설정하여 서버가 이를 이미지로 처리하도록 우회하려는 시도 cmd명령을 이용하여 파일 생성해보기 steal 이란 파일명으로 웹 루트 안에 있는 모든 파일을 압축해보았다. 파일명 앞에 .을 붙히면?touch .mysock uploads의 디렉토리 에서는 확인가능하지만 클라이언트 입장에서는 숨김파일은 보이지 않는다. 파일명 앞에 . 을 붙히면 숨김파일로 만들어진다.=> 공격 victim 시스템에 텍스트로 얻을 수 있는 정보들( etc/passwd, 해당 IP., 운영체제 커널 정보, os정보 등등)을 숨김 파일 안에 저장 시킬 수 있다.이걸 한번에 모아서 업로드하면 공격자는 피해당한 시스템의 정보를 한번에 얻..
보호되어 있는 글입니다.