|
4101
|
Seguridad Informática / Nivel Web / Re: [Duda Phpmyadmin] Donde estan los dichosos Tokens ??
|
en: 18 Enero 2009, 17:26 pm
|
Lo que sucede es que para que un usuario de Phpmyadmin ejecute una inyección de comandos arbitrario en contra de su voluntad necesitas hacerlo mediante un CSRF y eso se evita mediante ese token que es un hash de seguridad que se asigna aleatoriamente y va cambiando cada vesque cambias de página. Ahora eso de la inyección puede servirte en el caso de que tengas acceso a ese phpmyadmin, el token lo puedes sacar viendo el código fuente del frame que está al costado derecho o copiando algún link de ese frame y lo pegas en un texto, verás que aparece el token, luego escribes tu sql inyección y le ingresas ese token pero como te digo , remotamente sin acceso no podrás a menos que encuentres alguna variable vulnerable que no pida ese token. Haz la prueba y entra en un phpmyadmin propio y copia el link de un botón, luego lo pegas en tu explorador y le borras el token.. podrás ver que no realiza lo que pides en ese link porque el token es inválido. Espero que te pueda servir esta información. /server_databases.php?pos=0&dbstats=0&sort_by="]) OR exec('cp $(pwd)"/config.inc.php" config.txt'); //&sort_order=desc&token=[valid token] Lo copiaste de una web con htmlencode, el link real es server_databases.php?pos=0&dbstats=0&sort_by=[acá pones tu inyección de comandos]&sort_order=desc&token=[acá va el token de seguridad]
Inyección : "]) OR exec('cp $(pwd)"/config.inc.php" config.txt'); Lo mas probable es que eso fue procesado por un eval() y por eso te permite escapar con "]) ahora si esto es así significa que la prueba de ejemplo que diste está mal hecha ya que debolverá un error en la sintaxis, para eso aparte de cerrar la cadena hay que volver a abrirla para que la ejecución siga su curso normal. "]); OR exec('cp $(pwd)"/config.inc.php" config.txt'); OR printf($x["
|
|
|
4102
|
Programación / PHP / Re: Proyecto PHP*LIBS creado por los usuarios de ElHacker.Net
|
en: 17 Enero 2009, 09:15 am
|
Hi whk. bueeen proyecto te felicito, pero tenia una duda.. porque no en vez de hacer muxas funciones, es hacer una gran clase (POO). seria muxo mas estructurado. tambien se podrian mezclar funciones (extends).
Tambien otra sugerencia, es hacer 1 solo archivo, seria mas portable. Eso queda a libertad de cada desarrollador ya que por ejemplo supongamos que quiero crear una captcha y necesitaré una imagen, talves un .js y otro php que funcione como miniblog en una sola hoja, ya con eso tenemos dos sistemas diferentes de un mismo usuario y por eso no puedo crear todo en una sola clase ya que cada uno debe tener la livertad en su propio espacio sin invadir la de los demás. Talves sea una buena recomendación para los codeadores pero eso ya deopende de cada uno ya que es uno solo el motor y el resto se comparte entre usuarios. Puse todo en un solo directorio y que pueda hacerse funcionar desde un solo include para que puedas llevar ese drectorio en un zip a donde quieras, hacerle el include y ya. Si alguien necesita solo algunas funciones de ingamc podrá borrar el directorio de whk sin causar problemas en el sistema. tambien estaria bueno que los nombres de todas las funciones empiecen igual, asi cuando usas un ide es mucho mas facil codear Buena idea pero imaginate: phplibs_username_nombrefuncion()veo que se ve un poco largo pero es válido, intentaré todo lo posible de incorporarlo.
|
|
|
4103
|
Seguridad Informática / Nivel Web / Re: Problemas Shell c99 y wamp.
|
en: 17 Enero 2009, 05:02 am
|
No para, soy new, pero no pa tanto jaja, lo subi como php. La shell es la que puso WHK en otro post, esta encode con base 64 creo que era o algo asi.. El wamp por defecto no viene con el módulo gzip activado, en el menú de abajo debes activarselo y reiniciar el servidor.
|
|
|
4104
|
Seguridad Informática / Nivel Web / Re: Falla en el mod Seo4SMF para SMF
|
en: 17 Enero 2009, 02:37 am
|
WHK, si sabes que se puede hacer todo ese codigo de permisos en una query a SQL? consumes menos recursos.. ve el parche que puse en el foro de lo de privado-privado Si me acordé y eso fue lo primero que hize en el parche pero después me arrepentí porque el tuyo solo indica si el foro es público entonces se muestra y si es privado no se muestra pero.. que pasa si yo tengo permisos para ver foros privados y accedo? se verá privado/privado y la idea en esa función que hice fue que cada usuario pueda ver los temas que le permiten ver, si tu puedes ver solo 2 foros privados de 3 en total solo podrás ver esos dos, esa es la idea.. ajustarse un poco a las reglas de smf ahora que alex lo quiera así para evitar el copy paste de links es otra cosa
|
|
|
4106
|
Programación / PHP / Re: Una pregunta
|
en: 16 Enero 2009, 07:36 am
|
Si te entiendo pero me cuesta un poco hacerlo ya que hay muchas variantes que anteponerse, por ejemplo si {{D11, D12, D13}, {{D11, D12, D13}, D2, {{D11, D12, D13}, D2, D3}}, D3}habría que comenzar a hacer explode a todas las llaves de apertura y comenzar desde la última para asegurarnos de que vamos desde el nivel mas alto hasta el inferior e ir uniendo los resultados con las llaves restantes para comenzar a crear el array auqnue eso me complicó un poco . Ahi te dejo un poco el avance de tu función, yo me voy a dormir porque ya me dieron las 3.36am <?php if(!$datos = $_GET['datos']){ $datos = '{{D11, D12, D13}, D2, D3}fuck %&$<>();meequiboqueaaahhh!!!GGrr'; } echo metodo_hacktor($datos); echo '<br><br>'; //echo metodo_hacktor($datos, 'D1'); function metodo_hacktor($datos, $id_D = false){ /* Eliminamos el primer y último carácter asumiendo que son llaves de apertura y cierre y eliminamos los espacios en blanco, además permitimos solo los carácteres utiliozados para evitar mostrar errores al procesar el contenido. */ $datos[0] = ' '; $datos[strlen($datos) - 1] = ' '; /* if(!$datos = explode(',', $datos)){ return 'No hay datos para procesar.'; } */ // $buffer = explode('{', $datos); }else{ return 'Error de sintaxis, faltan o sobran llaves.'; } /* if($id_D){ } */ } /* Pos 0 D1 -> D11 - D12 - D13 1 D2 -> D2 2 D3 -> D3 y con D1 D1: Pos 0 D11 -> D11 1 D12 -> D12 2 D13 -> D13 */ ?>
|
|
|
4108
|
Seguridad Informática / Nivel Web / Parche para Seo4SMF 0.2.2.9 para SMF
|
en: 16 Enero 2009, 05:42 am
|
Acá una función que hize para verificar el acceso a la visualización de títulos de temas o boards (==) function seo_verifica_permisos($id, $tipo){ global $user_info, $db_prefix; if(!$id = (int)$id){ return false; } if($user_info['is_admin'] == '1'){ return true; // Si es administrador entonces tiene permisos por defecto. } if($tipo == 'board'){ // Procesa Board if($request = @db_query(" SELECT memberGroups FROM {$db_prefix}boards WHERE ID_BOARD = {$id} LIMIT 1", __FILE__, __LINE__)){ } } if(!$permisos = @explode(',', $row['memberGroups'])){ if(!$permisos = (int)$row['memberGroups']){ // Hay permiso solo para un tipo de usuario return false; // No hay permisos preestablecidos } } foreach($permisos as $valor){ if($valor == $user_info['groups'][0]){ return true; // Tiene permisos } } return false; // No tiene permisos }elseif($tipo == 'topic'){ if($request = @db_query(" SELECT ID_BOARD FROM {$db_prefix}topics WHERE ID_TOPIC = {$id} LIMIT 1", __FILE__, __LINE__)){ } } if(seo_verifica_permisos((int)$row['ID_BOARD'], 'board')){ return true; // Tiene permisos }else{ return false; // No tiene permisos } }else{ return false; // No hay tipos para procesar } }
Entre muchisimos cambios para evitar una multitud de fallas que no habia contemplado pero por el camino fuí viendo y parchando al mismo tiempo, en algunos casos algunas funciones retornan y otros no ya que en algunos casos es necesario mostrar retornos válidos y en otros casos no, no hize un texto para describir todos los cambios o hubiese quedado mas grande que el mismo script. Este parche parcha todas las fallas antes mencionadas y mas. Si alguien utiliza este mod modificado por mano propia tendrá que volver a crear esos cambios. Este parche consta de 3 archivos solamente: - Themes/{$THEME}/Seo4SMFAdmin.template.php
- Sources/Seo4SMFAdmin.php
- seo4smf-redirect.php
Los archivos a reemplazar están acá, en la primera linea de cada archivo está la localización.
Dudas, sugerencias, propuesas, reclamos, demandas?¿?¿? Si quieres ver específicamente los cambios puedes utilizar el comando diff en linux o busquen el programa windiff de windows.
|
|
|
4109
|
Seguridad Informática / Nivel Web / Re: Pregunta ¿MD5?
|
en: 16 Enero 2009, 02:22 am
|
En muchos casos cuando alguien logra obtener un hash como password de alguna cuenta piensan que es necesario descifrarla crackeandola y no es así.
dark_soul, si logras obtener el hash del Administrador mas su número de seguridad (pass asault) que se utiliza para reforzar la contraseña entonces no es necesario crackearla para hacer uso de ella, simplemente averigua como joomla fabrica las cookies a partir del hash, por ejemplo puede que la cookie sea user:md5(pass) y con eso te la agregas a tus cookies en tu explorador y tendrás acceso a la administración.
Ahora creo que joomla te da un tiempo limite para que las cookies expiren pero no se si eso se refleja en la base de datos, buscaré un poco sobre eso y te cuento.
Por ejemplo en smf si obtienes el id de user mas su hash y su asault entonces puedes fabricar su cookie e ingresar haciendo creer al sistema que entraste por las buenas.
|
|
|
|
|
|
|