Mega Code Archive

 
Categories / Java / Servlets
 

Test Security

import  java.io.*; import  java.net.*; import  javax.servlet.*; import  javax.servlet.http.*; public class TestSecurity extends HttpServlet {     String h2o = "<H2>";     String h2c = "</H2>";     String p = "<p>";     /**      * put your documentation comment here      * @param req      * @param res      * @exception ServletException, IOException      */     public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {         res.setContentType("text/html");         PrintWriter out = res.getWriter();         out.println("<HTML>");         out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>");         out.println("<BODY>");         out.println("<BIG>Test Security</BIG>");         try {             out.println(h2o + "Information..." + h2c);             out.println("  Security Manager: " + getSecurityManager().getClass().getName()                     + p);             out.println("  ClassLoader: " + this.getClass().getClassLoader()                     + p);             //            weblogic.utils.classloaders.GenericClassLoader gcl = (weblogic.utils.classloaders.GenericClassLoader)this.getClass().getClassLoader();             //            gcl.setDebug( true );             out.println("  CodeSource: " + this.getClass().getProtectionDomain().getCodeSource().getLocation()                     + p);             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         /*          try          {          out.println( h2o + "Trying some dangerous J2EE calls..." + h2c );          String hack = request.getParameter( "hack" );          Cookie[] cookies = request.getCookies();          out.println( " -- allowed -- " + p );          int x = 1 + 2 + 3;          out.println( hack );  // use it          int y = 1 + 2 + 3;          out.println( cookies );  // use it          String m = "COOKIE: " + cookies[0]; // use it again          cookies = new Cookie[10]; // reset it          String n = "COOKIE: " + cookies[5]; // use it again          }          catch( Exception e ) { out.println( " -- rejected -- " + e.getMessage() + p ); }          */         try {             out.println(h2o + "Attempting file write to d:/Java..." + h2c);             File f = new File("d:/Java/blah.txt");             FileWriter fw = new FileWriter(f);             fw.write("test\n");             fw.close();             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting file write to d:/Java/TestServlet..."                     + h2c);             File f = new File("d:/Java/TestServlet/blah.txt");             FileWriter fw = new FileWriter(f);             fw.write("test\n");             fw.close();             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting file read to c:/Ntdetect..." + h2c);             File f = new File("c:/Ntdetect.com");             FileReader fr = new FileReader(f);             int c = fr.read();             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting file read to c:/weblogic/weblogic.properties..."                     + h2c);             File f = new File("c:/weblogic/weblogic.properties");             FileReader fr = new FileReader(f);             int c = fr.read();             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting to connect to yahoo.com..." + h2c);             Socket s = new Socket("yahoo.com", 8080);             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting to connect to hacker.com..." + h2c);             Socket s = new Socket("hacker.com", 8080);             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting to listen on port 37337..." + h2c);             ServerSocket s = new ServerSocket(37337);             Socket c = s.accept();             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting to listen on port 7001..." + h2c);             ServerSocket s = new ServerSocket(7001);             Socket c = s.accept();             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         /*          try          {          out.println( h2o + "Attempting native call..." + h2c );          native0( 1 );          out.println( " -- allowed -- " + p );          }                     catch( Exception e ) { out.println( " -- rejected -- " + e.getMessage() + p ); }          */         try {             out.println(h2o + "Attempting exec..." + h2c);             Runtime.getRuntime().exec("dir");             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         try {             out.println(h2o + "Attempting system exit..." + h2c);             out.println(" -- allowed -- " + p);         } catch (Exception e) {             out.println(" -- rejected -- " + e.getMessage() + p);         }         out.println("</BODY></HTML>");     } }