Tema destacado: [Overclocking] Récords de overclock del foro
Autor
|
Tema: Pedido de Hackeo (Leído 1,600 veces)
|
Pavotron
Desconectado
Mensajes: 5
|
Hola a todos. Antes que nada quiero decirles que a pesar de ser ''nuevo'' por aca siempre he visitado este foro y siempre me a sido de mucha ayuda. Quiero contarles que soy un participante de un proyecto GNU/GPL, un juego tipo ogame que ya tiene algunos años, pero siempre tenemos problemas de seguridad; hace poco estoy probando un nuevo sistema de seguridad y espero que uds puedan ayudarme a romperlo. La pagina es http://hackmexg.byethost33.com/. Espero me puedan ayudar con este tema ya que es un proyecto libre y de uso publico  Saludos. pd.: Espero les guste la imagen de bienvenida dentro del juego 
|
|
|
|
|
En línea
|
|
|
|
tragantras
Desconectado
Mensajes: 466
|
cuando dices tipo ogame te refiers a OGAME?, no? xD
|
|
|
|
|
En línea
|
|
|
|
Dznp
Desconectado
Mensajes: 119
|
Me gusto la imagen principal del juego, le da un toque profesional  Ahora si, sobre el juego... ¿Vos lo codeaste? sería más fácil para mi (y para muchos) encontrar bugs viendo el codigo antes que ir testeando toda la web. Si nos das los archivos podríamos hacer algo. Suerte 
|
|
|
|
|
En línea
|
|
|
|
cgvwzq
Desconectado
Mensajes: 57
Agente P.
|
Para empezar esta lleno de CSRFs... Meto una imagen en mi alianza como sigue: [img] http://hackmexg.byethost33.com/game.php?page=logout[/img] Y al visitarla cerrará la sesión, si se pueden poner imagenes en mensajes ya se lía parda. Y las opciones de construir edificios, destruirlos, etc, también les pasa lo mismo. Para el resto de opciones que usan parametros vía POST, simplemente tengo que crear un script en una página externa y hacer que la visiten los usuarios para que hagan lo que uno quiera. Edito: Si modificamos la url de la carpeta de estilos y ponemos una dirección remota, se podrían monitorear las peticiones que realice el usuario. Es un ataque más elaborado, pero factible. Se puede inutilizar una cuenta modificando algunos campos con valores incorrectos, por ejemplo los campos de ordenación en el panel de opciones. XSS: Y ya con esto se puede hacer cualquier cosa... Hay que ponerlo en el code de la alianza. [img][font= onerror=foo() tr=][/font][/img]
|
|
|
|
« Última modificación: 22 Agosto 2010, 22:18 por cgvwzq »
|
En línea
|
Some stuff:- www.a] parsed as ]www.a]
- Bypass elhacker's img filter with ALT attribute!
- ¿Para cuándo SQLi I y II? WZ
|
|
|
Pavotron
Desconectado
Mensajes: 5
|
me a sido imposible reproducir esto [img]http://r.i.elhacker.net/cache?url=http://hackmexg.byethost33.com/game.php?page=logout[/img] dependerá del navegador...? esto si [img]http://r.i.elhacker.net/cache?url=http://[font= onerror=foo() tr=][/font][/img] como lo fixeo... esto como lo lograste? Se puede inutilizar una cuenta modificando algunos campos con valores incorrectos, por ejemplo los campos de ordenación en el panel de opciones. Muchas gracias por la mano 
|
|
|
|
« Última modificación: 22 Agosto 2010, 22:42 por Pavotron »
|
En línea
|
|
|
|
cgvwzq
Desconectado
Mensajes: 57
Agente P.
|
En el primer caso, hay que quitar la parte del caché de elhacker.net, se pone automáticamente en este foro. En el ejemplo se destruye la sesión y por lo tante el usuario queda desconectado, pero puede extenderse a otras peticiones.
Para solucionar lo del parser del bbcode, lo mejor será que cojas algún módulo de una aplicación segura y lo implementes en tu juego.
Lo de inutilizar la cuenta, fue poniendo en las Opciones el valor -1 al parametro "Ordenar planetas por:". Si juntamos el ataque uno y este se podría inutilizar la cuenta del usuario. Ell problema esta en que comprueba la validez de algunos datos una vez modificados, y se debería hacer antes de modificarlos.
|
|
|
|
|
En línea
|
Some stuff:- www.a] parsed as ]www.a]
- Bypass elhacker's img filter with ALT attribute!
- ¿Para cuándo SQLi I y II? WZ
|
|
|
|
TRICKY
|
Para empezar esta lleno de CSRFs... Meto una imagen en mi alianza como sigue: Código:  Hmmm.. eso mas que CSRF es un Open Redirect  Saludos.
|
|
|
|
|
En línea
|
"La envidia es una declaración de inferioridad" Napoleón.
|
|
|
Pavotron
Desconectado
Mensajes: 5
|
ya solucione los problemas que encontraste cgvwzq , muchas gracias por tu ayuda  Abran otros agujeros mas...? 
|
|
|
|
|
En línea
|
|
|
|
cgvwzq
Desconectado
Mensajes: 57
Agente P.
|
@Pavatron, de nada... Probablemente irán saliendo más agujeros... No lo he comprobado, pero ¿hay algún frame buster? Así te evitas problemas de clickjacking. @averno, para mí eso es un CSRF, en ningún momento hay ninguna redirección. ^^ Saludos!
|
|
|
|
|
En línea
|
Some stuff:- www.a] parsed as ]www.a]
- Bypass elhacker's img filter with ALT attribute!
- ¿Para cuándo SQLi I y II? WZ
|
|
|
tragantras
Desconectado
Mensajes: 466
|
deberías poner un tiempo máximo para que la sesión expire, la deje logueada ayer por la noche, me despierto, me meto y aun sigue válida la cuenta xD por si alguien se deja la sesión en algun cyber abierta o algo así, deberías hacer eso! http://www.desarrolloweb.com/articulos/1991.phpPor cierto, el CSRF del logout aún sigue funcionando
|
|
|
|
« Última modificación: 23 Agosto 2010, 10:51 por tragantras »
|
En línea
|
|
|
|
cgvwzq
Desconectado
Mensajes: 57
Agente P.
|
Eso no es una solución:
[img]favicon.ico?[font= onload=alert(/pwn3d/.source) style=display:none tr=][/font][/img]
|
|
|
|
|
En línea
|
Some stuff:- www.a] parsed as ]www.a]
- Bypass elhacker's img filter with ALT attribute!
- ¿Para cuándo SQLi I y II? WZ
|
|
|
Pavotron
Desconectado
Mensajes: 5
|
Disculpame, creo que ahora ya esta, lo sanee de esta manera; sera suficiente o es muy chapuza?  private function imagefix($img) { if(substr($img, 0, 7) != 'http://' or (substr($img, -4, 4) != '.png' and substr($img, -4, 4) != '.jpg')) { //$img = $img . './images/'; $img = 'Ingrese solo formatos "Jpg" ó "Png"'; } return '<img src="' . $img . '" alt="' . $img . '" title="' . $img . '" />'; }
|
|
|
|
|
En línea
|
|
|
|
cgvwzq
Desconectado
Mensajes: 57
Agente P.
|
[img]http://hackmexg.byethost33.com/favicon.ico?[font= onload=alert(1) style=display:none tr=][/font].jpg[/img]
De todas formas el problema no es solo de la imagen:
[url=/][font= onmouseover=alert(1) tr=]A[/font][/url]
Tienes que cambiar el sistema. O haces algo bién con expresiones regulares o coge el que usa SMF, por ejemplo. Te vas a ahorrar muchos dolores de cabeza...
|
|
|
|
« Última modificación: 23 Agosto 2010, 17:01 por cgvwzq »
|
En línea
|
Some stuff:- www.a] parsed as ]www.a]
- Bypass elhacker's img filter with ALT attribute!
- ¿Para cuándo SQLi I y II? WZ
|
|
|
Pavotron
Desconectado
Mensajes: 5
|
al final luego de parchar todo el bbcode decidi cambiar por esto... tendrá alguna vulnerabilidad???  function BBCode($string) { $string = trim($string);
// BBCode [code] if (!function_exists('escape')) { function escape($s) { global $string; $string = strip_tags($string); $code = $s[1]; $code = htmlspecialchars($code); $code = str_replace("[", "[", $code); $code = str_replace("]", "]", $code); return '<pre><code>'.$code.'</code></pre>'; } } $string = preg_replace_callback('/\[code\](.*?)\[\/code\]/ms', "escape", $string);
// Smileys to find... $in = array( ':)', ':D', ':o', ':p', ':(', ';)' ); // And replace them by... $out = array( '<img alt=":)" src="'.EMOTICONS_DIR.'emoticon-happy.png" />', '<img alt=":D" src="'.EMOTICONS_DIR.'emoticon-smile.png" />', '<img alt=":o" src="'.EMOTICONS_DIR.'emoticon-surprised.png" />', '<img alt=":p" src="'.EMOTICONS_DIR.'emoticon-tongue.png" />', '<img alt=":(" src="'.EMOTICONS_DIR.'emoticon-unhappy.png" />', '<img alt=";)" src="'.EMOTICONS_DIR.'emoticon-wink.png" />' ); $string = str_replace($in, $out, $string); // BBCode to find... $in = array( '/\[b\](.*?)\[\/b\]/ms', '/\[i\](.*?)\[\/i\]/ms', '/\[u\](.*?)\[\/u\]/ms', '/\[img\](.*?)\[\/img\]/ms', '/\[email\](.*?)\[\/email\]/ms', '/\[url\="?(.*?)"?\](.*?)\[\/url\]/ms', '/\[size\="?(.*?)"?\](.*?)\[\/size\]/ms', '/\[color\="?(.*?)"?\](.*?)\[\/color\]/ms', '/\[quote](.*?)\[\/quote\]/ms', '/\[list\=(.*?)\](.*?)\[\/list\]/ms', '/\[list\](.*?)\[\/list\]/ms', '/\[font=(.*?)\](.*?)\[\/font\]/ms', '/\[\*\]\s?(.*?)\n/ms' ); // And replace them by... $out = array( '<strong>\1</strong>', '<em>\1</em>', '<u>\1</u>', '<img src="\1" alt="\1" />', '<a href="mailto:\1">\1</a>', '<a href="\1">\2</a>', '<span style="font-size:\1%">\2</span>', '<span style="color:\1">\2</span>', '<blockquote>\1</blockquote>', '<ol start="\1">\2</ol>', '<ul>\1</ul>', '<span style="font-family:\1">\2</span>', '<li>\1</li>' ); $string = preg_replace($in, $out, $string); // paragraphs $string = str_replace("\r", "", $string); $string = "<p>".preg_replace("/(\n){2,}/", "</p><p>", $string)."</p>"; $string = nl2br($string); // clean some tags to remain strict // not very elegant, but it works. No time to do better ;) if (!function_exists('removeBr')) { function removeBr($s) { return str_replace("<br />", "", $s[0]); } } $string = preg_replace_callback('/<pre>(.*?)<\/pre>/ms', "removeBr", $string); $string = preg_replace('/<p><pre>(.*?)<\/pre><\/p>/ms', "<pre>\\1</pre>", $string); $string = preg_replace_callback('/<ul>(.*?)<\/ul>/ms', "removeBr", $string); $string = preg_replace('/<p><ul>(.*?)<\/ul><\/p>/ms', "<ul>\\1</ul>", $string); return $string; } [/code]
|
|
|
|
|
En línea
|
|
|
|
|
|