elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 ... 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 [411] 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 ... 456
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.

Citar
/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

Citar
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
Citar
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.

Citar
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
Citar
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
Citar
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  :P
4105  Seguridad Informática / Nivel Web / Re: Inyeccion Sql Filtro en: 16 Enero 2009, 08:48 am
intenta sacarlo sin comillas para ver si realmente es necesario;
http://www.web.com/noticia.php?id=1 and 1=1
Si no te funciona y obligadamente necesitas escapar con esa comilla no puedes hacer nada por los slashses que agrega el php.
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  :P.

Ahi te dejo un poco el avance de tu función, yo me voy a dormir porque ya me dieron las 3.36am  :-\

Código
  1. <?php
  2.  
  3. if(!$datos = $_GET['datos']){
  4. $datos = '{{D11, D12, D13}, D2, D3}fuck %&$<>();meequiboqueaaahhh!!!GGrr';
  5. }
  6. echo metodo_hacktor($datos);
  7. echo '<br><br>';
  8. //echo metodo_hacktor($datos, 'D1');
  9.  
  10. function metodo_hacktor($datos, $id_D = false){
  11. /* Eliminamos el primer y último carácter asumiendo
  12.  que son llaves de apertura y cierre y eliminamos los espacios en blanco,
  13.  además permitimos solo los carácteres utiliozados para evitar
  14.  mostrar errores al procesar el contenido. */
  15. $datos = preg_replace('|[^D0-9,{}]|i', '', $datos);
  16. $datos[0] = ' ';
  17. $datos[strlen($datos) - 1] = ' ';
  18. $datos = str_replace(' ', '', $datos);
  19. if(strlen(preg_replace('|[^{}]|i', '', $datos)) % 2 == 0){
  20. /*
  21.   if(!$datos = explode(',', $datos)){
  22.    return 'No hay datos para procesar.';
  23.   }
  24.    */
  25.  // $buffer = explode('{', $datos);
  26.  
  27.  
  28. }else{
  29.  return 'Error de sintaxis, faltan o sobran llaves.';
  30. }
  31.  
  32. /*
  33.  if($id_D){
  34.  
  35.  }
  36.  */
  37. }
  38. /*
  39. Pos
  40. 0     D1 -> D11 - D12 - D13
  41. 1     D2 -> D2
  42. 2     D3 -> D3
  43.  
  44. y con D1
  45. D1:
  46.  
  47. Pos
  48. 0     D11 -> D11
  49. 1     D12 -> D12
  50. 2     D13 -> D13
  51. */
  52. ?>
4107  Seguridad Informática / Nivel Web / Múltiples fallas en MKPortal 1.2.1 y versiones anteriores en: 16 Enero 2009, 06:47 am
Hasta hace poco Milw0rm ha publicado una falla del sistema MKPortal, conocido por su funcionamiento como brigde entre portal y foro en especial SMF e IPBoard.

El documento se encuentra acá:
http://milw0rm.com/exploits/7796

Mañana me instalaré este sistema para ver que podemos hacer y tratar de entender estas fallas y aprender a usarlas y parcharlas, prevenirlas y protegerse ante ataques.
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 (==)
Código
  1. function seo_verifica_permisos($id, $tipo){
  2. global $user_info, $db_prefix;
  3. if(!$id = (int)$id){
  4. return false;
  5. }
  6. if($user_info['is_admin'] == '1'){
  7. return true; // Si es administrador entonces tiene permisos por defecto.
  8. }
  9. if($tipo == 'board'){ // Procesa Board
  10. if($request = @db_query("
  11. SELECT memberGroups
  12. FROM {$db_prefix}boards
  13. WHERE ID_BOARD = {$id}
  14. LIMIT 1", __FILE__, __LINE__)){
  15. if($row = @mysql_fetch_assoc($request)){
  16. mysql_free_result($request);
  17. }
  18. }
  19. if(!$permisos = @explode(',', $row['memberGroups'])){
  20. if(!$permisos = (int)$row['memberGroups']){ // Hay permiso solo para un tipo de usuario
  21. return false; // No hay permisos preestablecidos
  22. }
  23. }
  24. foreach($permisos as $valor){
  25. if($valor == $user_info['groups'][0]){
  26. return true; // Tiene permisos
  27. }
  28. }
  29. return false; // No tiene permisos
  30. }elseif($tipo == 'topic'){
  31. if($request = @db_query("
  32. SELECT ID_BOARD
  33. FROM {$db_prefix}topics
  34. WHERE ID_TOPIC = {$id} LIMIT 1", __FILE__, __LINE__)){
  35. if($row = @mysql_fetch_assoc($request)){
  36. mysql_free_result($request);
  37. }
  38. }
  39. if(seo_verifica_permisos((int)$row['ID_BOARD'], 'board')){
  40. return true; // Tiene permisos
  41. }else{
  42. return false; // No tiene permisos
  43. }
  44. }else{
  45. return false; // No hay tipos para procesar
  46. }
  47. }

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.
4110  Programación / PHP / Re: Proyecto PHP*LIBS creado por los usuarios de ElHacker.Net en: 13 Enero 2009, 14:53 pm
Está raro ya que se supone en php no es necesario declarar una variable o constante antes de utilizarla a menos que estes usando una versión muy antigua de php, de todas fromas tienes razón y tendré que adaptarme a las versiones también. Lo modificaré.
Páginas: 1 ... 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 [411] 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 ... 456
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines