Foro de elhacker.net

Foros Generales => Sugerencias y dudas sobre el Foro => Mensaje iniciado por: 1mpuls0 en 17 Julio 2013, 17:26 pm



Título: Con quién reportar "error" del foro?
Publicado por: 1mpuls0 en 17 Julio 2013, 17:26 pm
Hola.

Hay un problema en el foro al realizar una acción y esto produce un error.
No quise abrir un tema y colocar el problema como tal, pero tampoco sé con quién reportarlo  :P

Es directamente a el-brujo?.

Saludos.


Título: Re: Con quién reportar "error" del foro?
Publicado por: _Slash_ en 17 Julio 2013, 18:26 pm
En este mismo post lo puedes hacer.


Título: Re: Con quién reportar "error" del foro?
Publicado por: simorg en 17 Julio 2013, 18:27 pm
Podrias ser más explicito, pero bueno, reporta lo que quieras a el-brujo directamente.



salu2.


Título: Re: Con quién reportar "error" del foro?
Publicado por: 1mpuls0 en 18 Julio 2013, 08:02 am
Podrias ser más explicito, pero bueno, reporta lo que quieras a el-brujo directamente.



salu2.

Ese es el problema que no quiero ser más explicito xD no vayan a sufrir un ataque o algo, la verdad no sé mucho de eso pero igual si se puede evitar.

Gracias.


Título: Re: Con quién reportar "error" del foro?
Publicado por: z3nth10n en 22 Julio 2013, 16:19 pm
Hombre la verdad es que no estaría mal una sección de reportes del bugs del foro o algo así... :P


Título: Re: Con quién reportar "error" del foro?
Publicado por: 1mpuls0 en 22 Julio 2013, 18:29 pm
Ya envíe un mensaje a el-brujo

pero no da señales de vida y  no es la primera vez  :¬¬

Bueno aquí lo dejo.

Al ingresar en "Mostrar nuevas respuestas a tus mensajes."
y pulsar en "Marcar TODOS los mensajes como leídos"

muestra lo siguiente.


Citar
Forbidden

You don't have permission to access /markasread.html;sa=unreadreplies;topics=394824-394883-206133-384372-386177-386563-385028-384201-378805-321305-251380-357727-348794-232536-345006-331195-325701-331504-331587-330363-330972-165522-327044-326132-316402-318708-317893-315859-316100-314885-312908-312711-311429-310566-310966-310518-308551-304917-309326-309094-308790-306479-306027-305268-303988;sesc=b3b11cfa4cc60aaba7f9080fa132fd91 on this server.

Apache Server at foro.elhacker.net Port 80


Es por la cantidad de mensajes y de una u otra forma lo solucioné xD
Pero el error seguirá para los usuarios que no hayan ingresado a "Mostrar nuevas respuestas a tus mensajes"->"Marcar TODOS los mensajes como leídos" y tenga una gran cantidad de mensajes sin leer.

Saludos.


Título: Re: Con quién reportar "error" del foro?
Publicado por: z3nth10n en 22 Julio 2013, 18:34 pm
A mi si me deja xD


Título: Re: Con quién reportar "error" del foro?
Publicado por: 1mpuls0 en 22 Julio 2013, 18:41 pm
... y tenga una gran cantidad de mensajes sin leer.

Tenia al rededor de 6 páginas sin leer. (nunca había mirado esa opción lol)
Incluso creo que con 1 sola página (completa) se llega a tener ese problema.

Quise colocar todas porque ya eran temas muy viejos, no tenia caso tenerlas ahí.

Obviamente con pocos temas no pasa ese error.


Título: Re: Con quién reportar "error" del foro?
Publicado por: _Slash_ en 23 Julio 2013, 01:38 am
Efectivamente, el error también me sale al querer hacer lo que comentas Darhius.


Título: Re: Con quién reportar "error" del foro?
Publicado por: OmarHack en 23 Julio 2013, 01:53 am
Por tu manera de comunicar el bug yo me esperaba una vulnerabilidad. xDDD
Puede que salte por seguridad (configuración por defecto de smf), o puede que sea un error de cookies.
De tratarse de un error no parece grave "a simple vista".


Título: Re: Con quién reportar "error" del foro?
Publicado por: Novlucker en 23 Julio 2013, 01:55 am
el-brujo no aparece, pero hace un tiempo aparecía ese error por dos temas:
  • http://foro.elhacker.net/sugerencias_y_dudas_sobre_el_foro/limpieza_de_la_tabla_mensajes_leidos_no_leidos-t250674.0.html
  • Un posible falso positivo del mod_security

Por otra parte, nunca es bueno revelar el sesc :P
http://wiki.simplemachines.org/smf/Understanding_SMF_Security

Saludos


Título: Re: Con quién reportar "error" del foro?
Publicado por: Shout en 23 Julio 2013, 10:30 am
Efectivamente, es un falso positivo de mod_security
Al ingresar tanta información en la URL (\d-*) mod_security cree que estás metiendo una inyección o estás intentando explotar un LFI.

Aunque... la verdad es que mod_security no sirve para más que para evitar las herramientas automáticas más básicas y a los "hackers" con menos experiencia.


Título: Re: Con quién reportar "error" del foro?
Publicado por: 1mpuls0 en 23 Julio 2013, 16:24 pm
Por tu manera de comunicar el bug yo me esperaba una vulnerabilidad. xDDD
Puede que salte por seguridad (configuración por defecto de smf), o puede que sea un error de cookies.
De tratarse de un error no parece grave "a simple vista".

Sí es que no sabía como expresarlo xD
Por eso puse "error" y además cuando se me pidió que fuera más explicito no sabía si comunicarlo aquí o por mp, porque desconozco un poco el tema de seguridad web.


Título: Re: Con quién reportar "error" del foro?
Publicado por: 1mpuls0 en 23 Julio 2013, 16:29 pm
el-brujo no aparece, pero hace un tiempo aparecía ese error por dos temas:
  • http://foro.elhacker.net/sugerencias_y_dudas_sobre_el_foro/limpieza_de_la_tabla_mensajes_leidos_no_leidos-t250674.0.html
  • Un posible falso positivo del mod_security

Por otra parte, nunca es bueno revelar el sesc :P
http://wiki.simplemachines.org/smf/Understanding_SMF_Security

Saludos

Efectivamente, es un falso positivo de mod_security
Al ingresar tanta información en la URL (\d-*) mod_security cree que estás metiendo una inyección o estás intentando explotar un LFI.

Aunque... la verdad es que mod_security no sirve para más que para evitar las herramientas automáticas más básicas y a los "hackers" con menos experiencia.

Se aprenden cosas nuevas todos los días  ::)

Gracias por la explicación.

Saludos.


Título: Re: Con quién reportar "error" del foro?
Publicado por: el-brujo en 27 Julio 2013, 22:56 pm
no es un falso positivo del mod_security como pensaba.


Citar
(36)File name too long: access to /markasread.html;sa=unreadreplies;topics=

Es un error del apache "File name too long"

Lógicamente no es un fichero el markasread, es una regla del mod_rewrite

La url debería tener menos de 255 carácteres para que no salga error.

Según leo es una limitación del sistema de ficheros.

Si alguien sabe arreglarlo le daré una golosina  ;-)


Título: Re: Con quién reportar "error" del foro?
Publicado por: jdc en 28 Julio 2013, 09:26 am
Aún continúa también un error en la versión wap2 u.u tira 404 después de responder un mensaje así como lo estoy haciendo ahora xD

*******
EDITADO
*******

:¬¬

(http://i.imgur.com/G1sCwmS.png)

Otra golosina para el que arregle este? :xD


Título: Re: Con quién reportar "error" del foro?
Publicado por: z3nth10n en 28 Julio 2013, 12:45 pm
@jdc, si no es mucho preguntar, para que sirve el Wap2? ;)


Título: Re: Con quién reportar "error" del foro?
Publicado por: raul338 en 28 Julio 2013, 19:39 pm
jdc usa tapatalk y listo :xD


Título: Re: Con quién reportar "error" del foro?
Publicado por: jdc en 28 Julio 2013, 20:32 pm
wap2 es la versión para celulares de smf.

No me gusta tapatalk, prefiero esta versión ñ_ñ


Título: Re: Con quién reportar "error" del foro?
Publicado por: el-brujo en 30 Julio 2013, 19:51 pm
jdc creo que debes ser el único que usa wap2 para postear en el foro xD

Estadísticas de uso de Tapatalk en el foro:

(http://imageshack.us/a/img854/4987/eixj.gif)


Título: Re: Con quién reportar "error" del foro?
Publicado por: raul338 en 31 Julio 2013, 01:18 am
Hay versiones y versiones de Tapatalk, yo uso la 2, la 4 / HD no me gusta  :-\


Título: Re: Con quién reportar "error" del foro?
Publicado por: #!drvy en 31 Julio 2013, 04:04 am
Si alguien sabe arreglarlo le daré una golosina  ;-)

(http://www.memegenerador.info/media/created/veinb2.jpg)

en Sources/Subs-Boards.php aproximadamente en la linea 233 y despues de:
Código
  1. elseif (isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'unreadreplies')
  2. {

Añadir:
Código
  1. if($_REQUEST['topics']==='all'&&!empty($_SESSION['smf_topics_to_mark'])){$topics=$_SESSION['smf_topics_to_mark'];}
  2. else {$topics=$_REQUEST['topics'];}


Luego en Themes/ (todos los que contengan) Recent.template.php despues de:
Código
  1. if (isset($context['topics_to_mark']) && !empty($settings['show_mark_read']))

Añadir:
Código
  1. @session_start(); $_SESSION['smf_topics_to_mark']=$context['topics_to_mark'];

Y reemplazar cualquier $context['topics_to_mark']; por all menos el de la linea que se acaba de añadir.

Saludos


Título: Re: Con quién reportar "error" del foro?
Publicado por: jdc en 31 Julio 2013, 04:16 am
Mmm, puede ser xD oye si hago un diseño elástico existe la posibilidad de que se agregue? Podríamos usar Foundation, sería un tema normal con versión mobil, nada intrusivo.


Título: Re: Con quién reportar "error" del foro?
Publicado por: WHK en 17 Marzo 2014, 13:28 pm
Ehhhhhh.... aun tengo casi 57543758756 páginas de post sin leer y quiero marcarlos como leidos, gracias.

(http://www.desmotivar.com/img/desmotivaciones/137621_por-favor-.jpg)


Título: Re: Con quién reportar "error" del foro?
Publicado por: el-brujo en 19 Marzo 2014, 19:43 pm
Acabo de poner el parche de #!drvy, a ver si se soluciona.


Título: Re: Con quién reportar "error" del foro?
Publicado por: WHK en 21 Marzo 2014, 13:13 pm
Nop no funciona, me sigue saliendo el 403

No creo que sea el apache porque mi request no sobrepasa los 420 carácteres incluyendo el dominio y el protocolo, se supone que el valor por defecto permitido de apache es de 8190:

http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestline

Citar
LimitRequestLine Directive
Description:   Limit the size of the HTTP request line that will be accepted from the client
Syntax:   LimitRequestLine bytes
Default:   LimitRequestLine 8190
Context:   server config, virtual host
Status:   Core
Module:   core

This directive sets the number of bytes that will be allowed on the HTTP request-line.

The LimitRequestLine directive allows the server administrator to set the limit on the allowed size of a client's HTTP request-line. Since the request-line consists of the HTTP method, URI, and protocol version, the LimitRequestLine directive places a restriction on the length of a request-URI allowed for a request on the server. A server needs this value to be large enough to hold any of its resource names, including any information that might be passed in the query part of a GET request.

This directive gives the server administrator greater control over abnormal client request behavior, which may be useful for avoiding some forms of denial-of-service attacks.

For example:

LimitRequestLine 4094
Under normal conditions, the value should not be changed from the default. Also, you can't set this higher than 8190 without modifying the source and rebuilding.
Warning

When name-based virtual hosting is used, the value for this directive is taken from the default (first-listed) virtual host for the NameVirtualHost the connection was mapped to.

Yo pienso que debe ser alguna regla de algún mod, podrías replicar el servidor del foro en una imagen en tu pc para que pruebes deshabilitando todos los mods extras que no vienen por defecto y verás como se soluciona.

Has revisado el .htaccess por si las dudas?


Título: Re: Con quién reportar "error" del foro?
Publicado por: #!drvy en 21 Marzo 2014, 13:17 pm
De todos modos el parche no parece estar bien aplicado. En teoría debería sustituir

Código:
https://foro.elhacker.net/markasread.html;sa=unreadreplies;topics=123-456-789-123-456-789;sesc=xxxxxx

por

Código:
https://foro.elhacker.net/markasread.html;sa=unreadreplies;topics=all;sesc=xxxxxx

PD: Y accediendo a la url tal cual tampoco funciona por lo cual me da a pensar que el fix entero no funciona xD

Saludos


Título: Re: Con quién reportar "error" del foro?
Publicado por: WHK en 21 Marzo 2014, 13:25 pm
Acabo de ver que ese no era el problema xD ya me di cuenta que la petición de un "archivo" con un nombre muy largo falla y por lo que estuve leyendo este error se viene desde el 2008 hasta hoy:
https://issues.apache.org/bugzilla/show_bug.cgi?id=45187

Al parecer lo que habría que hacer en ese caso es reemplazar el enlace dle botón "marcar leidos" para que se ejecute sin permalinks y modificar el mod de seo para prevenir que redireccione al permalink cuando venga desde ese botón.

Porqué a SMF se le ocurrió poner puntos y comas como separadores? eso está generando muchos problemas con los estandares.


Título: Re: Con quién reportar "error" del foro?
Publicado por: WHK en 4 Julio 2014, 18:16 pm
Bueno, depsués de ver que aun no hay solución me di unos 15 minutos para crear un pequeño script que automatiza el marcar como leido a todo xD

Que hay que hacer?:

1. Tener Firefox
2. Instalar el complemento GreasyMonkey ( https://addons.mozilla.org/es/firefox/addon/greasemonkey/ )
3. Crear un nuevo user-script
4. Pegar mi código:

Código
  1. // ==UserScript==
  2. // @name        Elhacker.net - Mark all as read
  3. // @namespace   elh-maar
  4. // @description Habilita el botón para marcar todos los temas como leidos en la sección de temas no leidos.
  5. // @include     http://foro.elhacker.net/unreadreplies.html
  6. // @require     http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
  7. // @version     1
  8. // @grant       none
  9. // ==/UserScript==
  10.  
  11. $(document).ready(function(){
  12.  
  13.    /* Existe el botón para marcar como leidos? */
  14.    if($('img[alt="Marcar TODOS los mensajes como leídos"]').length){
  15.  
  16.        /* Establece el evento del botón */
  17.        $('img[alt="Marcar TODOS los mensajes como leídos"]')
  18.           .closest('a')
  19.           .click(function(evento){
  20.  
  21.               /* Previene la redirección con problemas */
  22.               evento.preventDefault();
  23.  
  24.               try{
  25.                   /* Crea la ventana de informaciones */
  26.                   $('<div />')
  27.                      .css({
  28.                          position          : 'fixed',
  29.                          width             : '400px',
  30.                          height            : '59px',
  31.                          top               : '50%',
  32.                          left              : '50%',
  33.                          marginLeft        : '-200px',
  34.                          marginTop         : '-50px',
  35.                          backgroundColor   : '#FFFFFF',
  36.                          color             : '#333333',
  37.                          fontFamily        : 'Arial',
  38.                          fontSize          : '17px',
  39.                          border            : '1px solid #666666',
  40.                          borderRadius      : '5px',
  41.                          boxShadow         : '9px 12px 10px -10px #000000',
  42.                          textAlign         : 'center',
  43.                          paddingTop        : '41px'
  44.                      })
  45.                      .addClass('ehn_maar_mensaje')
  46.                      .text('Preparando ...')
  47.                      .appendTo($('body'));
  48.  
  49.                   /* Parsea los datos convirtiendolos en objetos */
  50.                   data = {
  51.                       'accionUrl' : $(this).attr('href').split('topics=')[0] + 'topics=',
  52.                       'sesc'      : ';sesc=' + $(this).attr('href').split(';sesc=')[1],
  53.                       'ids'       : $(this).attr('href').split('-'),
  54.                       'totalIds'  : 0
  55.                   };
  56.  
  57.                   /* Limpia los ids */
  58.                   if(data.ids){
  59.                      for(_llave in data.ids){
  60.  
  61.                          /* Remueve la basura del costado izquierdo del id */
  62.                          if(data.ids[_llave].indexOf('=') > -1)
  63.                              data.ids[_llave] = data.ids[_llave].split('=')[1];
  64.  
  65.                          /* Remueve la basura del costado derecho del id */
  66.                          if(data.ids[_llave].indexOf(';') > -1)
  67.                              data.ids[_llave] = data.ids[_llave].split(';')[1];
  68.                      }
  69.  
  70.                       data.totalIds = data.ids.length;
  71.  
  72.                       /* Envía los ids al servidor de 5 en 5 */
  73.                       for(var loop1 = 1; loop1 <= data.totalIds; loop1 = loop1 + 5){
  74.  
  75.                           /* Hay ids? */
  76.                           if(data.ids.length){
  77.  
  78.                               /* candidatos de ids a enviar */
  79.                               idsEnviar = new Array();
  80.  
  81.                               for(var loop2 = 1; loop2 <= 5; loop2++)
  82.  
  83.                                   /* Aun hay ids? */
  84.                                   if(data.ids.length)
  85.  
  86.                                       /* Completa el stack */
  87.                                       idsEnviar.push(data.ids.pop());
  88.  
  89.                                   else /* No hay mas ids */
  90.                                       break;
  91.  
  92.                               /* Hay ids candidatos a enviar? */
  93.                               if(idsEnviar.length){
  94.  
  95.                                   $('.ehn_maar_mensaje').text('Marcando del ' + loop1 + ' al ' + (loop1 + (idsEnviar.length - 1)) + ', de ' + data.totalIds + ' ...');
  96.  
  97.                                  /* Envía la solicitud al servidor */
  98.                                  $.ajax({
  99.                                       url      : data.accionUrl + idsEnviar.join('-') + data.sesc,
  100.                                       type : 'get',
  101.                                       cache : false,
  102.                                       async    : false
  103.                                   });
  104.                               }
  105.  
  106.                           }else{
  107.                               /* No hay mas ids */
  108.                               break;
  109.                           }
  110.                       }
  111.  
  112.                       $('.ehn_maar_mensaje').text('Finalizado! Redireccionando ...');
  113.                       document.location.reload();
  114.  
  115.                   }else{
  116.                       /* No hay ids */
  117.                       alert('No hay mensajes para marcar como leido');
  118.                   }
  119.  
  120.               }catch(e){
  121.                   /* Problema con el código? */
  122.                   alert('Error: ' + e.message);
  123.               }
  124.           });
  125.    }
  126. });

Después cierran todas las ventanas del greasymonkey y lo dejan activado.

Ahora cada ves que entren a la sección de temas no leidos ( http://foro.elhacker.net/unreadreplies.html ) y le den click al botón de marcar como leidos a todos aparecerá un recuadro que dice "marcando x de 45 ..." y lo que hace es lo siguiente:

Como el problema del servidor es procesar las urls largas tomé todos los ids que van por url y los agrupé y hago que se envíen de 5 en 5 y listo :D , cuando termina dice "Redireccionando ..." y verás que tus temas no leidos desaparecieron:

(http://i.elhacker.net/i?i=1UxbK3LZeQ3sYMEDsRTuXmVo)

(http://i.elhacker.net/i?i=TCBmDVhz_cs6UQS6aPVHPGVo)

Saludos.


Título: Re: Con quién reportar "error" del foro?
Publicado por: AlbertoBSD en 4 Julio 2014, 22:16 pm
Barbaro WHK, el otro dia tarde algo de tiempo marcando todo como leído, después de tener algunos años sin ver lo que hay en el foro ufff