Cộng đồng Hỏi & Đáp của Inflearn

Phân tích các kỹ thuật tấn công vào lỗ hổng khi tải tệp lên và các trường hợp thực tế được giảng dạy bởi một học viên hack giả: PHẦN 1
JSP 오류 뜹니다.
Viết
·
5.1K
2
HTTP 상태 500 – 내부 서버 오류
타입 예외 보고
메시지 JSP를 위한 클래스를 컴파일할 수 없습니다.:
설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.
예외
org.apache.jasper.JasperException: JSP를 위한 클래스를 컴파일할 수 없습니다.:
JSP 파일 [/upload.jsp]의 [7] 행에서 오류가 발생했습니다.
The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files
4: <%
5: String path = request.getRealPath("upload");
6:
7: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8");
8: %>
JSP 파일 [/upload.jsp]의 [7] 행에서 오류가 발생했습니다.
The type javax.servlet.ServletRequest cannot be resolved. It is indirectly referenced from required .class files
4: <%
5: String path = request.getRealPath("upload");
6:
7: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8");
8: %>
JSP 파일 [/upload.jsp]의 [7] 행에서 오류가 발생했습니다.
The constructor MultipartRequest(HttpServletRequest, String) refers to the missing type HttpServletRequest
4: <%
5: String path = request.getRealPath("upload");
6:
7: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8");
8: %>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:487)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:367)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:774)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다.
Apache Tomcat/10.0.8
찾아보니까 cos.jar 경로를 못잡아주는거 같은데 이클립스는 경로 잡는 방법이 나와있는데 vscode에서는 어떻게 잡아야되는지 안나와있네요...
Câu trả lời 2
0
0
존재합니다.
<%@ import javax.servlet.http.HttpServletResponse %>
추가하니까
HTTP 상태 500 – 내부 서버 오류
타입 예외 보고
메시지 /upload.jsp (행: [3], 열: [4]) 유효하지 않은 지시어
설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.
예외
org.apache.jasper.JasperException: /upload.jsp (행: [3], 열: [4]) 유효하지 않은 지시어 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:292) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:98) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:510) org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1796) org.apache.jasper.compiler.Parser.parse(Parser.java:135) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244) org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:127) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202) org.apache.jasper.compiler.Compiler.compile(Compiler.java:391) org.apache.jasper.compiler.Compiler.compile(Compiler.java:367) org.apache.jasper.compiler.Compiler.compile(Compiler.java:351) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:774) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다.
Apache Tomcat/10.0.8
문법 오류로 바뀝니다.
그래서
변경하니까 다시 똑같은 오류가 뜹니다.
HTTP 상태 500 – 내부 서버 오류
타입 예외 보고
메시지 JSP를 위한 클래스를 컴파일할 수 없습니다.:
설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.
예외
org.apache.jasper.JasperException: JSP를 위한 클래스를 컴파일할 수 없습니다.:
코드 생성된 자바 파일 [C:\apache-tomcat-10.0.8-windows-x64\apache-tomcat-10.0.8\webapps\ROOT\JAVA, CLASS\ROOT\org\apache\jsp\upload_jsp.java]의 [15] 행에서 오류가 발생했습니다.
Only a type can be imported. javax.servlet.http.HttpServletResponse resolves to a package
JSP 파일 [/upload.jsp]의 [8] 행에서 오류가 발생했습니다.
The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files
5: <%
6: String path = request.getRealPath("upload");
7:
8: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8");
9: %>
JSP 파일 [/upload.jsp]의 [8] 행에서 오류가 발생했습니다.
The type javax.servlet.ServletRequest cannot be resolved. It is indirectly referenced from required .class files
5: <%
6: String path = request.getRealPath("upload");
7:
8: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8");
9: %>
JSP 파일 [/upload.jsp]의 [8] 행에서 오류가 발생했습니다.
The constructor MultipartRequest(HttpServletRequest, String) refers to the missing type HttpServletRequest
5: <%
6: String path = request.getRealPath("upload");
7:
8: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8");
9: %>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:487)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:367)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:774)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다.




