<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR" import="java.io.*"%>
<%
request.setCharacterEncoding("euc-kr");
//String file_name = Utils.nullToStr(request.getParameter("test.txt")); // 파일이름
//String file_location = Utils.nullToStr(request.getParameter("file_location")); //저장된 파일 경로
String file_name = "asd.txt";
String file_location = "C:\\WebGoat-5.4\\tomcat\\webapps\\ROOT";
InputStream in = null;
OutputStream os = null;
File file = null;
boolean skip = false;
String client = "";
String target = file_name;
String source = file_name;
if( target==null || source==null )
return;
try {
try {
file = new File(file_location, source);
in = new FileInputStream(file);
} catch( FileNotFoundException fe ) {
skip = true;
}
response.reset() ;
client = request.getHeader("User-Agent");
response.setContentType("application/x-msdownload;");
response.setHeader("Content-Description", "JSP Generated Data");
if( !skip ) {
if(client.indexOf("MSIE 5.5") != -1) {
response.setHeader("Content-Type", "doesn/matter; charset=euc-kr");
response.setHeader("Content-Disposition", "filename=" + </b></p><p><b> new String(target.getBytes("euc-kr"),"ISO8859_1"));
} else {
response.setHeader ("Content-Disposition", "attachment; filename=" + </b></p><p><b> new String(target.getBytes("euc-kr"),"ISO8859_1"));
}
response.setHeader ("Content-Length", ""+file.length() );
out.clear();
out = pageContext.pushBody();
os = response.getOutputStream();
byte b[] = new byte[(int)file.length()];
int leng = 0;
while( (leng = in.read(b)) > 0 ) {
os.write(b,0,leng);
}
} else {
response.setContentType("text/html;charset=euc-kr");
out.println("<script language='javas-ript'>");
out.println("alert('선택하신 파일을 찾을 수 없습니다');");
out.println("history.back();");
out.println("script>");
}
in.close();
os.close();
} catch( Exception e ) {
System.out.println(e);
}
%>
인터넷에 굴러 다니는거
글 수정이 잘 안되서 여기다가 올릴게
파일 다운로드 취약점 찾는건데.. jsp 굴러 다니느거 내꺼에 맞게 수정했는데
구레소모웆조r라그용...¿>_<;ㅣ;;;;
댓글을 쓰다가 말았네;;
ㅁㄴㅇ
슬래시..슬래시.. 이런
패턴들이 안 먹힘
그러고 url에서도 다운 받게 하고 싶은데;;
http://localhost/download.jsp?filename=asd.txt
여기서 filename 파라미터 값을 바꾸면 다른 것도 다른 받게 못함 ?
그냥
http://localhost/download.jsp
이렇게만 입력해도 다운 받아지네.... 저 소스에 넣은 파일이...
이러면 파일 다운로드 취약점을 못하는데 ㅠㅠ
글스늬ㄱr마고조r노용...ㅠ^ㅠ