madhawaseeeee

backdoor

Oct 18th, 2014
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.96 KB | None | 0 0
  1. package webweb;
  2.  
  3. import com.gargoylesoftware.htmlunit.BrowserVersion;
  4. import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
  5. import com.gargoylesoftware.htmlunit.Page;
  6. import com.gargoylesoftware.htmlunit.ScriptResult;
  7. import com.gargoylesoftware.htmlunit.WebClient;
  8. import com.gargoylesoftware.htmlunit.WebResponse;
  9. import com.gargoylesoftware.htmlunit.html.HtmlForm;
  10. import com.gargoylesoftware.htmlunit.html.HtmlImage;
  11. import com.gargoylesoftware.htmlunit.html.HtmlPage;
  12. import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
  13. import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
  14. import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
  15. import java.awt.image.BufferedImage;
  16. import java.io.IOException;
  17. import java.io.PrintWriter;
  18. import java.util.List;
  19. import java.util.logging.Level;
  20. import java.util.logging.Logger;
  21. import javax.imageio.ImageReader;
  22. import javax.swing.ImageIcon;
  23. import javax.swing.JEditorPane;
  24. import javax.swing.JOptionPane;
  25.  
  26. public class NewJFrame extends javax.swing.JFrame {
  27. HtmlTextInput username;
  28. HtmlPasswordInput password;
  29. HtmlTextInput captha;
  30. private WebClient webClient;
  31. HtmlPage page;
  32. private HtmlForm form;
  33. private String url;
  34.  
  35.  
  36. public NewJFrame() {
  37. initComponents();
  38. jProgressBar1.setIndeterminate(true);
  39. Thread t = new Thread(new Runnable() {
  40.  
  41. @Override
  42. public void run() {
  43. startpage();
  44. jProgressBar1.setIndeterminate(false);
  45. jProgressBar1.setValue(100);
  46. }
  47. });
  48. t.start();
  49. }
  50.  
  51. public void startpage() {
  52. try {
  53. webClient = new WebClient();
  54. url = "http://evarsity.srmuniv.ac.in/srmswi/usermanager/youLogin.jsp";
  55. System.out.println("Loading page now: " + url);
  56. page = webClient.getPage(url);
  57. webClient.waitForBackgroundJavaScript(30 * 1000); /* will wait JavaScript to execute up to 30s */
  58.  
  59. String pageAsXml = page.asXml();
  60. System.out.println(pageAsXml);
  61. form = page.getFormByName("frmStudentMain");
  62. username = form.getInputByName("txtRegNumber");
  63. password = form.getInputByName("txtPwd");
  64. captha = form.getInputByName("txtverifycode");
  65. HtmlImage img = (HtmlImage) form.getByXPath("//img[@src='/srmswi/Captcha']").get(0);
  66. ImageReader imageReader = img.getImageReader();
  67. BufferedImage bufferedImage = imageReader.read(0);
  68. jLabel1.setIcon(new ImageIcon(bufferedImage));
  69.  
  70. } catch (Exception ex) {
  71. ex.printStackTrace();
  72. }
  73. }
  74. @SuppressWarnings("unchecked")
  75. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  76. private void initComponents() {
  77.  
  78. jPanel1 = new javax.swing.JPanel();
  79. jProgressBar1 = new javax.swing.JProgressBar();
  80. uname = new javax.swing.JTextField();
  81. upass = new javax.swing.JTextField();
  82. ucap = new javax.swing.JTextField();
  83. jLabel1 = new javax.swing.JLabel();
  84. jButton1 = new javax.swing.JButton();
  85.  
  86. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  87.  
  88. jPanel1.setBackground(new java.awt.Color(0, 102, 102));
  89.  
  90. uname.setText("username");
  91.  
  92. upass.setText("password");
  93.  
  94. ucap.setText("captha");
  95.  
  96. jLabel1.setBackground(new java.awt.Color(153, 153, 153));
  97. jLabel1.setOpaque(true);
  98.  
  99. jButton1.setText("jButton1");
  100. jButton1.addActionListener(new java.awt.event.ActionListener() {
  101. public void actionPerformed(java.awt.event.ActionEvent evt) {
  102. jButton1ActionPerformed(evt);
  103. }
  104. });
  105.  
  106. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  107. jPanel1.setLayout(jPanel1Layout);
  108. jPanel1Layout.setHorizontalGroup(
  109. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  110. .addGroup(jPanel1Layout.createSequentialGroup()
  111. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  112. .addGroup(jPanel1Layout.createSequentialGroup()
  113. .addGap(26, 26, 26)
  114. .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 466, javax.swing.GroupLayout.PREFERRED_SIZE))
  115. .addGroup(jPanel1Layout.createSequentialGroup()
  116. .addGap(18, 18, 18)
  117. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  118. .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  119. .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  120. .addGap(18, 18, 18)
  121. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  122. .addComponent(ucap, javax.swing.GroupLayout.Alignment.TRAILING)
  123. .addComponent(upass, javax.swing.GroupLayout.Alignment.TRAILING)
  124. .addComponent(uname, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 259, Short.MAX_VALUE))))
  125. .addContainerGap(24, Short.MAX_VALUE))
  126. );
  127. jPanel1Layout.setVerticalGroup(
  128. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  129. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  130. .addGap(36, 36, 36)
  131. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  132. .addGroup(jPanel1Layout.createSequentialGroup()
  133. .addComponent(uname, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
  134. .addGap(30, 30, 30)
  135. .addComponent(upass, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE))
  136. .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  137. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  138. .addGroup(jPanel1Layout.createSequentialGroup()
  139. .addGap(29, 29, 29)
  140. .addComponent(ucap, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE))
  141. .addGroup(jPanel1Layout.createSequentialGroup()
  142. .addGap(18, 18, 18)
  143. .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
  144. .addGap(26, 26, 26)
  145. .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  146. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  147. );
  148.  
  149. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  150. getContentPane().setLayout(layout);
  151. layout.setHorizontalGroup(
  152. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  153. .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  154. );
  155. layout.setVerticalGroup(
  156. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  157. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  158. );
  159.  
  160. pack();
  161. }// </editor-fold>
  162.  
  163. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  164. // TODO add your handling code here:
  165. try {
  166. // TODO add your handling code here:
  167. java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF); /* comment out to turn off annoying htmlunit warnings */
  168.  
  169. //new WebClient(BrowserVersion.CHROME);
  170. HtmlForm form = page.getFormByName("frmStudentMain");
  171. username = form.getInputByName("txtRegNumber");
  172. password = form.getInputByName("txtPwd");
  173. captha = form.getInputByName("txtverifycode");
  174.  
  175. username.setValueAttribute(uname.getText());
  176. username.setValueAttribute(upass.getText());
  177. captha.setValueAttribute(url);
  178. webClient.getCookieManager().setCookiesEnabled(true);
  179. //final HtmlPage page2 = (HtmlPage) form.getInputByValue("Login").click();
  180. HtmlImage img = (HtmlImage) form.getByXPath("//img[ @onclick ='return submitData();']").get(0);
  181.  
  182. //webClient.waitForBackgroundJavaScript(1000*30);
  183. final HtmlPage page2 = (HtmlPage) img.click();
  184. webClient.waitForBackgroundJavaScript(1000*30);
  185.  
  186. // System.out.println(page2.asXml());
  187. //// JEditorPane pane=new JEditorPane();
  188. //// pane.setContentType("text/html");
  189. //// pane.setText(page2.asXml());
  190. ////
  191.  
  192. JOptionPane.showMessageDialog( null, page2.asXml(), "MYTITLE", JOptionPane.PLAIN_MESSAGE);
  193. // PrintWriter writer = new PrintWriter("C:\\Users\\Madhawa.se\\Desktop\\page.html", "UTF-8");
  194. // writer.println(page2.asXml());
  195. // writer.close();
  196.  
  197. } catch (Exception ex) {
  198. Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
  199. }
  200. }
  201.  
  202. /**
  203. * @param args the command line arguments
  204. */
  205. public static void main(String args[]) {
  206. /* Set the Nimbus look and feel */
  207. //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  208. /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  209. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  210. */
  211. try {
  212. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  213. if ("Nimbus".equals(info.getName())) {
  214. javax.swing.UIManager.setLookAndFeel(info.getClassName());
  215. break;
  216. }
  217. }
  218. } catch (ClassNotFoundException ex) {
  219. java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  220. } catch (InstantiationException ex) {
  221. java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  222. } catch (IllegalAccessException ex) {
  223. java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  224. } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  225. java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  226. }
  227. //</editor-fold>
  228.  
  229. /* Create and display the form */
  230. java.awt.EventQueue.invokeLater(new Runnable() {
  231. public void run() {
  232. new NewJFrame().setVisible(true);
  233. }
  234. });
  235. }
  236. // Variables declaration - do not modify
  237. private javax.swing.JButton jButton1;
  238. private javax.swing.JLabel jLabel1;
  239. private javax.swing.JPanel jPanel1;
  240. private javax.swing.JProgressBar jProgressBar1;
  241. private javax.swing.JTextField ucap;
  242. private javax.swing.JTextField uname;
  243. private javax.swing.JTextField upass;
  244. // End of variables declaration
  245. }
Advertisement
Add Comment
Please, Sign In to add comment