목록Web/파일 취약점 (3)
Bazinga!
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정보 등등)을 숨김 파일 안에 저장 시킬 수 있다.이걸 한번에 모아서 업로드하면 공격자는 피해당한 시스템의 정보를 한번에 얻..
모의 해킹을 해보기 위해 php를 이용하여 웹 사이트를 제작하였다.해당 웹사이트는 이미지 파일은 게시글에 보이도록, 이미지 형식이 아닌 파일은 다운로드 받을 수 있도록 만들어졌다.Content-Type을 보면 스크립트 파일명을 shell.jpg.php로 하였는데 php파일로 인식하고있다. Uploads파일에 php파일이 저장된 것을 확인가능 .ph로 끝나는 파일을 php파일로 인식한게 정상적인거 같지만 이도 보안에 취약한 상태라 볼 수 있다.서버에서 php코드를 정상적으로 실행되기 가능한 상태라 악성 코드가 실행 될 수 있기 때문이다. 서버는 확장자 검증을 제대로 하여파일 이름에서 확장자가 .jpg일 경우에만 이미지를 허용하고,.php, .php.jpg, .jpg.php와 같은 확장자가 포함된 파일을 ..