Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.31 KB | None | 0 0
  1. package testcases.CWE36_Absolute_Path_Traversal;
  2.  
  3. import testcasesupport.*;
  4.  
  5. import java.io.*;
  6. import javax.servlet.http.*;
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.InputStreamReader;
  10. import java.io.IOException;
  11. import java.net.Socket;
  12.  
  13. import java.util.logging.Level;
  14.  
  15.  
  16. public class CWE36_Absolute_Path_Traversal__connect_tcp_01 extends AbstractTestCase
  17. {
  18.     public void bad() throws Throwable
  19.     {
  20.         String data;
  21.  
  22.         data = ""; /* Initialize data */
  23.  
  24.         /* Read data using an outbound tcp connection */
  25.         {
  26.             Socket socket = null;
  27.             BufferedReader readerBuffered = null;
  28.             InputStreamReader readerInputStream = null;
  29.  
  30.             try
  31.             {
  32.                 /* Read data using an outbound tcp connection */
  33.                 socket = new Socket("host.example.org", 39544);
  34.  
  35.                 /* read input from socket */
  36.  
  37.                 readerInputStream = new InputStreamReader(socket.getInputStream(), "UTF-8");
  38.                 readerBuffered = new BufferedReader(readerInputStream);
  39.  
  40.                 data = readerBuffered.readLine();
  41.             }
  42.             catch (IOException exceptIO)
  43.             {
  44.                 IO.logger.log(Level.WARNING, "Error with stream reading", exceptIO);
  45.             }
  46.             finally
  47.             {
  48.                 /* clean up stream reading objects */
  49.                 try
  50.                 {
  51.                     if (readerBuffered != null)
  52.                     {
  53.                         readerBuffered.close();
  54.                     }
  55.                 }
  56.                 catch (IOException exceptIO)
  57.                 {
  58.                     IO.logger.log(Level.WARNING, "Error closing BufferedReader", exceptIO);
  59.                 }
  60.  
  61.                 try
  62.                 {
  63.                     if (readerInputStream != null)
  64.                     {
  65.                         readerInputStream.close();
  66.                     }
  67.                 }
  68.                 catch (IOException exceptIO)
  69.                 {
  70.                     IO.logger.log(Level.WARNING, "Error closing InputStreamReader", exceptIO);
  71.                 }
  72.  
  73.                 /* clean up socket objects */
  74.                 try
  75.                 {
  76.                     if (socket != null)
  77.                     {
  78.                         socket.close();
  79.                     }
  80.                 }
  81.                 catch (IOException exceptIO)
  82.                 {
  83.                     IO.logger.log(Level.WARNING, "Error closing Socket", exceptIO);
  84.                 }
  85.             }
  86.         }
  87.  
  88.         if (data != null)
  89.         {
  90.             File file = new File(data);
  91.             FileInputStream streamFileInputSink = null;
  92.             InputStreamReader readerInputStreamSink = null;
  93.             BufferedReader readerBufferdSink = null;
  94.             if (file.exists() && file.isFile())
  95.             {
  96.                 try
  97.                 {
  98.                     streamFileInputSink = new FileInputStream(file);
  99.                     readerInputStreamSink = new InputStreamReader(streamFileInputSink, "UTF-8");
  100.                     readerBufferdSink = new BufferedReader(readerInputStreamSink);
  101.                     IO.writeLine(readerBufferdSink.readLine());
  102.                 }
  103.                 catch (IOException exceptIO)
  104.                 {
  105.                     IO.logger.log(Level.WARNING, "Error with stream reading", exceptIO);
  106.                 }
  107.                 finally
  108.                 {
  109.                     /* Close stream reading objects */
  110.                     try
  111.                     {
  112.                         if (readerBufferdSink != null)
  113.                         {
  114.                             readerBufferdSink.close();
  115.                         }
  116.                     }
  117.                     catch (IOException exceptIO)
  118.                     {
  119.                         IO.logger.log(Level.WARNING, "Error closing BufferedReader", exceptIO);
  120.                     }
  121.  
  122.                     try
  123.                     {
  124.                         if (readerInputStreamSink != null)
  125.                         {
  126.                             readerInputStreamSink.close();
  127.                         }
  128.                     }
  129.                     catch (IOException exceptIO)
  130.                     {
  131.                         IO.logger.log(Level.WARNING, "Error closing InputStreamReader", exceptIO);
  132.                     }
  133.  
  134.                     try
  135.                     {
  136.                         if (streamFileInputSink != null)
  137.                         {
  138.                             streamFileInputSink.close();
  139.                         }
  140.                     }
  141.                     catch (IOException exceptIO)
  142.                     {
  143.                         IO.logger.log(Level.WARNING, "Error closing FileInputStream", exceptIO);
  144.                     }
  145.                 }
  146.             }
  147.         }
  148.  
  149.     }
  150.  
  151.  
  152.     /* Below is the main(). It is only used when building this testcase on
  153.      * its own for testing or for building a binary to use in testing binary
  154.      * analysis tools. It is not used when compiling all the testcases as one
  155.      * application, which is how source code analysis tools are tested.
  156.      */
  157.     public static void main(String[] args) throws ClassNotFoundException,
  158.            InstantiationException, IllegalAccessException
  159.     {
  160.         mainFromParent(args);
  161.     }
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement