<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FServlets%2FSecurity</id>
		<title>Java/Servlets/Security - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FServlets%2FSecurity"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/Security&amp;action=history"/>
		<updated>2026-04-21T20:35:50Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Servlets/Security&amp;diff=6303&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/Security&amp;diff=6303&amp;oldid=prev"/>
				<updated>2010-06-01T06:11:27Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:11, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Servlets/Security&amp;diff=6302&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/Security&amp;diff=6302&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Password Servlet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Wireless Java 2nd edition &lt;br /&gt;
Jonathan Knudsen&lt;br /&gt;
Publisher: Apress&lt;br /&gt;
ISBN: 1590590775 &lt;br /&gt;
*/&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import org.bouncycastle.crypto.Digest;&lt;br /&gt;
import org.bouncycastle.crypto.digests.SHA1Digest;&lt;br /&gt;
public class PasswordServlet extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest request,&lt;br /&gt;
      HttpServletResponse response)&lt;br /&gt;
      throws ServletException, IOException {&lt;br /&gt;
    System.out.println(&amp;quot;user = &amp;quot; + request.getParameter(&amp;quot;user&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;timestamp = &amp;quot; + request.getParameter(&amp;quot;timestamp&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;random = &amp;quot; + request.getParameter(&amp;quot;random&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;digest = &amp;quot; + request.getParameter(&amp;quot;digest&amp;quot;));&lt;br /&gt;
    &lt;br /&gt;
    // Retrieve the user name.&lt;br /&gt;
    String user = request.getParameter(&amp;quot;user&amp;quot;);&lt;br /&gt;
    // Look up the password for this user.&lt;br /&gt;
    String password = lookupPassword(user);&lt;br /&gt;
    // Pull the timestamp and random number (hex encoded) out&lt;br /&gt;
    //   of the request.&lt;br /&gt;
    String timestamp = request.getParameter(&amp;quot;timestamp&amp;quot;);&lt;br /&gt;
    String randomNumber = request.getParameter(&amp;quot;random&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    // Compare the timestamp with the last saved&lt;br /&gt;
    //   timestamp for this user. Accept only timestamps&lt;br /&gt;
    //   that are greater than the last saved timestamp for this user.&lt;br /&gt;
    // [not implemented]&lt;br /&gt;
    &lt;br /&gt;
    // Gather values for the message digest.&lt;br /&gt;
    byte[] userBytes = user.getBytes();&lt;br /&gt;
    byte[] timestampBytes = HexCodec.hexToBytes(timestamp);&lt;br /&gt;
    byte[] randomBytes = HexCodec.hexToBytes(randomNumber);&lt;br /&gt;
    byte[] passwordBytes = password.getBytes();&lt;br /&gt;
    // Create the message digest.&lt;br /&gt;
    Digest digest = new SHA1Digest();&lt;br /&gt;
    // Calculate the digest value.&lt;br /&gt;
    digest.update(userBytes, 0, userBytes.length);&lt;br /&gt;
    digest.update(timestampBytes, 0, timestampBytes.length);&lt;br /&gt;
    digest.update(randomBytes, 0, randomBytes.length);&lt;br /&gt;
    digest.update(passwordBytes, 0, passwordBytes.length);&lt;br /&gt;
    byte[] digestValue = new byte[digest.getDigestSize()];&lt;br /&gt;
    digest.doFinal(digestValue, 0);&lt;br /&gt;
    &lt;br /&gt;
    // Now compare the digest values.&lt;br /&gt;
    String message = &amp;quot;&amp;quot;;&lt;br /&gt;
    String clientDigest = request.getParameter(&amp;quot;digest&amp;quot;);&lt;br /&gt;
    if (isEqual(digestValue, HexCodec.hexToBytes(clientDigest)))&lt;br /&gt;
      message = &amp;quot;User &amp;quot; + user + &amp;quot; logged in.&amp;quot;;&lt;br /&gt;
    else&lt;br /&gt;
      message = &amp;quot;Login was unsuccessful.&amp;quot;;&lt;br /&gt;
    // Send a response to the client.&lt;br /&gt;
    response.setContentType(&amp;quot;text/plain&amp;quot;);&lt;br /&gt;
    response.setContentLength(message.length());&lt;br /&gt;
    PrintWriter out = response.getWriter();&lt;br /&gt;
    out.println(message);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private String lookupPassword(String user) {&lt;br /&gt;
    // Here you could do a real lookup based on the user name.&lt;br /&gt;
    //   You might look in a text file or a database. Here, I&lt;br /&gt;
    //   just use a hardcoded value.&lt;br /&gt;
    return &amp;quot;happy8&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private boolean isEqual(byte[] one, byte[] two) {&lt;br /&gt;
    if (one.length != two.length) return false;&lt;br /&gt;
    for (int i = 0; i &amp;lt; one.length; i++)&lt;br /&gt;
      if (one[i] != two[i]) return false;&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class HexCodec {&lt;br /&gt;
  private static final char[] kDigits = {&lt;br /&gt;
    &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;3&amp;quot;, &amp;quot;4&amp;quot;, &amp;quot;5&amp;quot;, &amp;quot;6&amp;quot;, &amp;quot;7&amp;quot;, &amp;quot;8&amp;quot;, &amp;quot;9&amp;quot;,&lt;br /&gt;
    &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;, &amp;quot;d&amp;quot;, &amp;quot;e&amp;quot;, &amp;quot;f&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  public static char[] bytesToHex(byte[] raw) {&lt;br /&gt;
    int length = raw.length;&lt;br /&gt;
    char[] hex = new char[length * 2];&lt;br /&gt;
    for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
      int value = (raw[i] + 256) % 256;&lt;br /&gt;
      int highIndex = value &amp;gt;&amp;gt; 4;&lt;br /&gt;
      int lowIndex = value &amp;amp; 0x0f;&lt;br /&gt;
      hex[i * 2 + 0] = kDigits[highIndex];&lt;br /&gt;
      hex[i * 2 + 1] = kDigits[lowIndex];&lt;br /&gt;
    }&lt;br /&gt;
    return hex;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public static byte[] hexToBytes(char[] hex) {&lt;br /&gt;
    int length = hex.length / 2;&lt;br /&gt;
    byte[] raw = new byte[length];&lt;br /&gt;
    for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
      int high = Character.digit(hex[i * 2], 16);&lt;br /&gt;
      int low = Character.digit(hex[i * 2 + 1], 16);&lt;br /&gt;
      int value = (high &amp;lt;&amp;lt; 4) | low;&lt;br /&gt;
      if (value &amp;gt; 127) value -= 256;&lt;br /&gt;
      raw[i] = (byte)value;&lt;br /&gt;
    }&lt;br /&gt;
    return raw;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public static byte[] hexToBytes(String hex) {&lt;br /&gt;
    return hexToBytes(hex.toCharArray());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Restrict User IP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.http.HttpServlet;&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
public class RestrictUserIP extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest req, HttpServletResponse resp)&lt;br /&gt;
      throws ServletException, IOException {&lt;br /&gt;
    PrintWriter out;&lt;br /&gt;
    /**&lt;br /&gt;
     * Status code (401) indicating that the request requires HTTP&lt;br /&gt;
     * authentication.&lt;br /&gt;
     */&lt;br /&gt;
    if (req.getRemoteAddr().equals(&amp;quot;142.3.28.87&amp;quot;)) {&lt;br /&gt;
      resp.sendError(HttpServletResponse.SC_UNAUTHORIZED);&lt;br /&gt;
    }&lt;br /&gt;
    resp.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
    out = resp.getWriter();&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;HTML&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BODY&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;H1&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Hello!&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Your IP Address: &amp;quot; + req.getRemoteAddr());&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/H1&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Security ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import  java.io.*;&lt;br /&gt;
import  java.net.*;&lt;br /&gt;
import  javax.servlet.*;&lt;br /&gt;
import  javax.servlet.http.*;&lt;br /&gt;
public class TestSecurity extends HttpServlet {&lt;br /&gt;
    String h2o = &amp;quot;&amp;lt;H2&amp;gt;&amp;quot;;&lt;br /&gt;
    String h2c = &amp;quot;&amp;lt;/H2&amp;gt;&amp;quot;;&lt;br /&gt;
    String p = &amp;quot;&amp;lt;p&amp;gt;&amp;quot;;&lt;br /&gt;
    /**&lt;br /&gt;
     * put your documentation comment here&lt;br /&gt;
     * @param req&lt;br /&gt;
     * @param res&lt;br /&gt;
     * @exception ServletException, IOException&lt;br /&gt;
     */&lt;br /&gt;
    public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {&lt;br /&gt;
        res.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
        PrintWriter out = res.getWriter();&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;HTML&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Hello World&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;BODY&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;BIG&amp;gt;Test Security&amp;lt;/BIG&amp;gt;&amp;quot;);&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Information...&amp;quot; + h2c);&lt;br /&gt;
            out.println(&amp;quot;  Security Manager: &amp;quot; + getSecurityManager().getClass().getName()&lt;br /&gt;
                    + p);&lt;br /&gt;
            out.println(&amp;quot;  ClassLoader: &amp;quot; + this.getClass().getClassLoader()&lt;br /&gt;
                    + p);&lt;br /&gt;
            //            weblogic.utils.classloaders.GenericClassLoader gcl = (weblogic.utils.classloaders.GenericClassLoader)this.getClass().getClassLoader();&lt;br /&gt;
            //            gcl.setDebug( true );&lt;br /&gt;
            out.println(&amp;quot;  CodeSource: &amp;quot; + this.getClass().getProtectionDomain().getCodeSource().getLocation()&lt;br /&gt;
                    + p);&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        /*&lt;br /&gt;
         try&lt;br /&gt;
         {&lt;br /&gt;
         out.println( h2o + &amp;quot;Trying some dangerous J2EE calls...&amp;quot; + h2c );&lt;br /&gt;
         String hack = request.getParameter( &amp;quot;hack&amp;quot; );&lt;br /&gt;
         Cookie[] cookies = request.getCookies();&lt;br /&gt;
         out.println( &amp;quot; -- allowed -- &amp;quot; + p );&lt;br /&gt;
         int x = 1 + 2 + 3;&lt;br /&gt;
         out.println( hack );  // use it&lt;br /&gt;
         int y = 1 + 2 + 3;&lt;br /&gt;
         out.println( cookies );  // use it&lt;br /&gt;
         String m = &amp;quot;COOKIE: &amp;quot; + cookies[0]; // use it again&lt;br /&gt;
         cookies = new Cookie[10]; // reset it&lt;br /&gt;
         String n = &amp;quot;COOKIE: &amp;quot; + cookies[5]; // use it again&lt;br /&gt;
         }&lt;br /&gt;
         catch( Exception e ) { out.println( &amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p ); }&lt;br /&gt;
         */&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting file write to d:/Java...&amp;quot; + h2c);&lt;br /&gt;
            File f = new File(&amp;quot;d:/Java/blah.txt&amp;quot;);&lt;br /&gt;
            FileWriter fw = new FileWriter(f);&lt;br /&gt;
            fw.write(&amp;quot;test\n&amp;quot;);&lt;br /&gt;
            fw.close();&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting file write to d:/Java/TestServlet...&amp;quot;&lt;br /&gt;
                    + h2c);&lt;br /&gt;
            File f = new File(&amp;quot;d:/Java/TestServlet/blah.txt&amp;quot;);&lt;br /&gt;
            FileWriter fw = new FileWriter(f);&lt;br /&gt;
            fw.write(&amp;quot;test\n&amp;quot;);&lt;br /&gt;
            fw.close();&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting file read to c:/Ntdetect...&amp;quot; + h2c);&lt;br /&gt;
            File f = new File(&amp;quot;c:/Ntdetect.ru&amp;quot;);&lt;br /&gt;
            FileReader fr = new FileReader(f);&lt;br /&gt;
            int c = fr.read();&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting file read to c:/weblogic/weblogic.properties...&amp;quot;&lt;br /&gt;
                    + h2c);&lt;br /&gt;
            File f = new File(&amp;quot;c:/weblogic/weblogic.properties&amp;quot;);&lt;br /&gt;
            FileReader fr = new FileReader(f);&lt;br /&gt;
            int c = fr.read();&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting to connect to yahoo.ru...&amp;quot; + h2c);&lt;br /&gt;
            Socket s = new Socket(&amp;quot;yahoo.ru&amp;quot;, 8080);&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting to connect to hacker.ru...&amp;quot; + h2c);&lt;br /&gt;
            Socket s = new Socket(&amp;quot;hacker.ru&amp;quot;, 8080);&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting to listen on port 37337...&amp;quot; + h2c);&lt;br /&gt;
            ServerSocket s = new ServerSocket(37337);&lt;br /&gt;
            Socket c = s.accept();&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting to listen on port 7001...&amp;quot; + h2c);&lt;br /&gt;
            ServerSocket s = new ServerSocket(7001);&lt;br /&gt;
            Socket c = s.accept();&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        /*&lt;br /&gt;
         try&lt;br /&gt;
         {&lt;br /&gt;
         out.println( h2o + &amp;quot;Attempting native call...&amp;quot; + h2c );&lt;br /&gt;
         native0( 1 );&lt;br /&gt;
         out.println( &amp;quot; -- allowed -- &amp;quot; + p );&lt;br /&gt;
         }           &lt;br /&gt;
         catch( Exception e ) { out.println( &amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p ); }&lt;br /&gt;
         */&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting exec...&amp;quot; + h2c);&lt;br /&gt;
            Runtime.getRuntime().exec(&amp;quot;dir&amp;quot;);&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        try {&lt;br /&gt;
            out.println(h2o + &amp;quot;Attempting system exit...&amp;quot; + h2c);&lt;br /&gt;
            out.println(&amp;quot; -- allowed -- &amp;quot; + p);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            out.println(&amp;quot; -- rejected -- &amp;quot; + e.getMessage() + p);&lt;br /&gt;
        }&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>