목록hacking study/File Upload (10)
wonder

☞ 파일 업로드 방법 ftp를 통한 파일 업로드/다운로드가 가능합니다. php에서 ftp 코드를 지원하기 때문에 원격으로 ftp서버에 접속이 가능하고, 이를 이용하면 업로드 디렉토리 경로를 작성하지 않고도 다른 서버에 파일업로드할 수 있습니다. 일단 centos 도커를 작동시키고 ftp서비스 데몬을 시작합니다. 172.17.0.2 주소로 접속하면 됩니다. 파일을 업로드 시켜 ftp 처리 페이지로 이동시킵니다. ☞ 파일업로드 ftp 서버 주소, 아이디 등 ftp 관련 정의를 해주고 ftp에 올릴 파일은 받아온 파일(이미지)이름으로, 현제 웹서버의 tmp파일을 올립니다. 여기서 디렉토리를 설정할 수 없고 ftp 서버 루트 디렉토리에만 업로드가능합니다. ftp 연결 부터 로그인, 업로드까지 순서대로 진행합니다..

☞ 파일 업로드 방법 연구 ☞ 방법1) DB에 BLOB파일로 업로드, 다운로드 일단 multipart/form-data 형식으로 파일을 업로드 시킵니다. DB에 파일이 잘 업로드 되었습니다. 이미지 사이즈1은 가로세로 사이즈이고 사이즈2는 파일 크기입니다. try, catch, throw 구문으로 오류가 났을 때 Exception() 알림 처리를 해줍니다. 파일이 있으면 function을 실행합니다. 만약 파일이 tmp디렉토리에 업로드된 상태이면 이미지의 정보를 받아와서 업로드를 합니다. 사이즈는 이미지의 가로세로 사이즈이고, 파일을 업로드 하기위해서 파일 오픈을 해줍니다. 사이즈가 초과되지 않으면 db에 연결을 시키고 DB에 업로드까지 시킵니다. ?에 변수를 연결시켜주는 방식으로 구현합니다. 업로드를 ..

☞ 파일 업로드 시나리오 추가 웹쉘을 업로드 해서 권한상승이 가능한 경우와 권한상승을 못한 경우로 나눌 수 있습니다. 권한상승 못하는 경우 파일 변경 일단 기본적으로 모드 유저에게 허락해놓은게 많아 파일 변경이 가능합니다. -> 서버 망칠 수 있음. ex) /etc/passwd , /etc/hosts, /etc/sysconfig 등 네트워크 설정 >> 취약점을 찾아 2차 피해 유도 DOS공격 파일업로드에 크기, 갯수 제한이 없다면 한계까지 업로드시켜 서비스를 마비시킵니다. 권한상승이 가능한 경우 파일 변경 모든 파일을 변경할 수 있어 삭제, 변경을 통해 시스템 전체를 망칠 수 있습니다. 서버의 서비스를 설정변경, 구동중지로 장악할 수 있고, 웹서버의 소스코드를 삭제하고 원하는 php파일로 변경시킬 수 있..

include 또는 파일 다운로드 취약점은 발견하기 쉽기도 하고 발견할 시에 아주 위험합니다. ☞ LFI 취약점 파일업로드 취약점은 서버측에서 확장자를 확실히 막는 경우가 많아 뚫기 어렵지만 include 취약점이 있다면 파일 확장자에 관계없이 웹쉘을 쉽게 올릴 수 있어서 공격자 입장에서는 아주 쉽습니다. include취약점이 발견하기만 하면 cmd쉘을 획득하기 때문에 할 수 있는 게 더 많을 것입니다. 하지만 직접적인 include 변수값으로 설정하는 경우가 많이 없기 때문에 찾기 어렵습니다. ☞ 파일 다운로드 취약점 파일 다운로드 취약점 같은 경우에는 include에 비해 상대적으로 흔해보입니다. /etc/passwd 부터 웹서버 php소스코드까지 읽어올 수 있습니다. 예를 들어 생각해보자면 php ..

☞ File include 취약점 cmd.jpg처럼 이미지 파일인 웹쉘은 특정 조건에서 실행가능합니다. 이미지 파일이건 다른 파일확장자이건 상관없이 file include가 되는 조건입니다. 바로 File include가 되야합니다. File include에는 LFI(local file include), RFI(remote file include) 가 있습니다. 둘다 파일을 가져오는 것이지만 지정되는 파일이 서버에 있다면 LFI이고 외부에서 가져온다면 RFI입니다. ☞ 개발자들이 include를 하는 이유 한국, 영어, 일본어, 독일어 페이지가 메세지 부분만 빼고 같다고 했을 때 원래는 일일이 3개의 페이지를 복사를 해서 메세지 부분만 수정해야할 것입니다. 개발자는 너무 번거로우니 과정을 단축시킵니다. ..

☞ File Include 취약점 - 파일 업로드 취약점 .png 등 파일확장자를 써도 웹쉘 실행이 된다는 말을 들어 본 적이 있다면 정확히는 정상적인 방법으로는 실행은 안되지만 include 취약점이 있다면 파일확장자가 어떤 것이 와도 업로드 후 실행이가 가능합니다. LFI(Local File Include) RFI 굳이 안쓰고 LFI를 씁니다. includr는 하나의 수정사항이 생겼을 때 모든 사이트에 적용시키기 위해 나머지는 고정을하고 편하게 수정한 내용을 include 하여 적용시킵니다. 파일업로드 취약점은 서버에 임의의 파일을 업로드 시키는 공격입니다. 공격 과정 1. 일단 그림 파일을 업로드 해봅니다. 2. 경로는 어디에, 어떻게 저장되는지 확인합니다. wonder_1.jpg 또는 날짜로 저장..