한국은 공공기관을 중심으로 정말 많은 곳에서 JSP(JavaServer Pages)를 사용합니다.
파일업로드 취약점 제거를 위해 대개 JSP 확장자로 된 파일 올리기를 금지하고 있습니다.
그런데, 가끔씩 jspx 확장자 파일 첨부가 가능한 경우가 발생합니다.
JSPX 웹쉘 업로드로 시스템침투가...
특히 Apache Tomcat을 사용하는 경우에는 root 권한인 경우도 많습니다.
안전하게 첨부파일 관리하기: 둘 중 하나가 가장 안전.
1. 사용자가 올리는 모든 파일의 확장자를 지운다. (예: /upload/2015082212345678)
2. JPG, jpeg, bmp, gif, PNG, hwp, doc,docx, ppt, pptx, xls,xlsx, PDF 등 알려진 확장자를 가지는 파일만 올리기를 허용한다.
위 그림에서 보여지는 JSPX 웹쉘은 str이라는 변수에 base64로 인코딩된 시스템 명령어를 입력으로 받는다. 위 그림에서는 'id' 명령어를 실행하여 실행권한을 확인한 모습이다. 아파치 톰캣이 root 권한으로 실행중이어서 웹 쉘을 올리는 순간 root 권한을 획득할 수 있는 모습이다.
유닉스 계열에서 점검용으로 사용할 수 있는 JSP 웹 쉘.
curl, 웹 브라우저에서 모두 보기 편하게 pre 태그를 살짝 집어 넣었다.
POST 방식으로 사용하면 로그에 남기는 흔적을 최소화할 수 있다. 거기에 https라면 금상첨화~~~
간단해서 점검용으로는 편하게 사용할 ...
윈도우 2008 서버에서 jsp 기반으로 서비스를 제공하는 홈페이지에서 JFoler라는 이름이 붙은 중국어 웹 쉘이 발견되다.
톰캣 설명서를 변조하여 중요 연결고리에 웹쉘 링크가 걸린 형태이다.
Tomcat 운영자의 경우에는 /docs/ 디렉토리를 점검해 볼 필요가 있다.
--...
한국은 공공기관을 중심으로 정말 많은 곳에서 JSP(JavaServer Pages)를 사용합니다.
파일업로드 취약점 제거를 위해 대개 JSP 확장자로 된 파일 올리기를 금지하고 있습니다.
그런데, 가끔씩 jspx 확장자 파일 첨부가 가능한 경우가 발생합니다.
JSPX 웹쉘 업로드로...
1. 서버의 다운로드 스크립트내에서 다운로드 가능한 디렉토리 목록을 설정한다.
2. 다운로드를 허용하기 전에 대상 파일의 절대경로(파일시스템 상의)를 생성한다.
3. 대상 파일이 허용 디렉토리 내부 파일이 아니면 거부한다.
JSP의 경우 절대경로는 getServletCo...