comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Tool] Is Online v2.0 (By 2Fac3R)

  • 10 Respuestas
  • 2999 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 238
  • Actividad:
    1.67%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« en: Febrero 07, 2013, 09:13:32 pm »
Buenas, acabo de mejorar el código que tenía de este pequeño script en php, sirve para verificar si un servidor está online. Tiene diseño kaker xD

Código: PHP
  1. <!DOCTYPE html>
  2. <title> Is online? v2.0 By 2Fac3R</title>
  3. <style>
  4.         body,html{
  5.                 background-color:black;
  6.                 color:green;
  7.         }
  8.         #ok{
  9.                 font-weight:bold;
  10.         }
  11.         #bad{
  12.                 font-weight:bold;
  13.                 color:red;
  14.         }
  15. </style>
  16. <center>
  17.         <pre>
  18. .___         ________         .__  .__            _________
  19. |   | ______ \_____  \   ____ |  | |__| ____   ___\_____   \
  20. |   |/  ___/  /   |   \ /    \|  | |  |/    \_/ __ \ /   __/
  21. |   |\___ \  /    |    \   |  \  |_|  |   |  \  ___/|   |  
  22. |___/____  > \_______  /___|  /____/__|___|  /\___  >___|  
  23.          \/          \/     \/             \/     \/<___>  
  24.         </pre>
  25.  
  26. <?php
  27. /*
  28.                 ¿Is online? 2.0 By 2Fac3R
  29.         Verificar si un servidor esta online
  30.                                                                                          */
  31. $page = htmlentities($_POST['page'], ENT_QUOTES ,'utf-8');
  32. $send = $_POST['send'];
  33.  
  34. function verificar($url){
  35.         if(filter_var($url,FILTER_VALIDATE_URL) or filter_var($url,FILTER_VALIDATE_IP)){
  36.                 echo fopen($url,'r') ? "$url <div id='ok'>Online</div>" : "$url <div id='bad'>Offline</div>";
  37.         }else{
  38.                 echo '<script>alert("URL/IP no valida!");window.location=""</script>';
  39.         }
  40. }
  41.  
  42. if(!empty($page)){
  43.         verificar($page);
  44. }else{
  45.         if(isset($send)){
  46.                 ?>
  47.                 <script>
  48.                 alert("Debes ingresar una URL!");
  49.                 window.location=""</script>
  50.                 <noscript>
  51.                 <?die("Debes ingresar una URL! <a href=''><b> Regresar! </b> </a>")?>
  52.                 </noscript><?
  53.         }
  54. ?>
  55. <form action="" method="POST">
  56.         URL: <input type="text" name="page" value="http://">
  57.         <input type="submit" name="send" value="Comprobar!">
  58. </form> <br> <i>By 2Fac3R</i> <br> <br>
  59.  
  60. <?}?>
  61.  <br><b>Gr33tz to:</b> <br> <br>
  62.    
  63.    xt3mp, arcangel_nigth, ANTRAX, 11Sep, Kr34t0r, GAMARRA, SkippyCreammy, v1c0_h4ck <br>
  64.    w4rning, Snifer, arthusu, Kodeinfect, [Q]3rV[0], WilyXem, m3x1c0h4ck, etc, etc, etc ... <br> <br>
  65.    <a href="http://www.underc0de.org"><b>Underc0de.Org</b></a>
  66.    </center>
  67.  

Espero les sirva de algo :P
Zalu2
« Última modificación: Marzo 22, 2014, 01:55:14 pm por Expermicid »
Escuela de Hackers & Programación.
http://ihackndev.blogspot.com/

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« Respuesta #1 en: Abril 18, 2013, 02:54:37 pm »
Hola, está super buena tu herramienta y bastante útil pero tiene un defecto y es que valida urls no externas y genera un path disclosure.

Por ejemplo si vamos a:
http://php.net/manual/en/filter.filters.validate.php

Dice:
Citar
Validates value as URL (according to » http://www.faqs.org/rfcs/rfc2396), optionally with required components. Beware a valid URL may not specify the HTTP protocol http:// so further validation may be required to determine the URL uses an expected protocol, e.g. ssh:// or mailto:. Note that the function will only find ASCII URLs to be valid; internationalized domain names (containing non-ASCII characters) will fail.

Por lo tanto quiere decir que tu script validará tambien las urls de tipo ssh:// y mailto:, que pasa si le damos urls falsas pero válidas?
Citar
mailto:x@x.x

Citar
Warning: fopen(mailto:x@x.x): failed to open stream: No such file or directory in test.php on line x
mailto:x@x.x
Offline

Eso podría desvelar la url del script y es un tema un tanto peligroso porque es un dato muy valioso al momento de realizar un ataque.

Tambien sería bueno que manejara sesiones por ip en una pequeña base de datos para prevenir el uso abusivo del sistema y lanzar ataques de ddos con esto. Por ejemplo digamos que tu script está siendo usado en 7 sitios webs distintos, entonces haces un robot que haga cientos de peticiones a esos 7 servidores y que apunten a un mismo host para darle de baja el servicio WEB.

Son detalles cosmeticos pero igual para uso personal está bien :)

Saludos.

Conectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 238
  • Actividad:
    1.67%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #2 en: Abril 18, 2013, 06:27:21 pm »
Muy buena info me das brot...

En teoría está hecho para uso propio...

La verdad es que no se me ocurre cómo arreglar el asunto del FPD, pensé en quitar los tipos de errores [error_reporting(0)] o quebrarme la cabeza con expresiones regulares para evitar direcciones de tipo ssh:// y mailto:...

¿Qué me recomiendas?

Zalu2
Escuela de Hackers & Programación.
http://ihackndev.blogspot.com/

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« Respuesta #3 en: Abril 19, 2013, 09:56:24 am »
Lista blanca:

Código: PHP
  1. <?php
  2. /*
  3.                         ¿Is online? 2.0 By 2Fac3R
  4.         Verificar si un servidor esta online
  5. */
  6. ?>
  7. <!DOCTYPE html>
  8. <html>
  9.         <head>
  10.                 <title> Is online? v2.0 By 2Fac3R</title>
  11.                 <style type="text/css">
  12.                         body,html{ background-color: #000000; color: #00FF00; }
  13.                         #ok{ font-weight: bold; }
  14.                         #bad{ font-weight: bold; color: #FF0000; }
  15.                         ._contenido{ text-align: center; }
  16.                         a{ color: #FFFFFF; }
  17.                 </style>
  18.         </head>
  19.         <body>
  20.                 <div class="_contenido">
  21.                         <pre>
  22. .___         ________         .__  .__            _________
  23. |   | ______ \_____  \   ____ |  | |__| ____   ___\_____   \
  24. |   |/  ___/  /   |   \ /    \|  | |  |/    \_/ __ \ /   __/
  25. |   |\___ \  /    |    \   |  \  |_|  |   |  \  ___/|   |  
  26. |___/____  > \_______  /___|  /____/__|___|  /\___  >___|  
  27.          \/          \/     \/             \/     \/<___>  
  28.                         </pre>
  29.                         <?php
  30.                         if(isset($_POST['page'])){
  31.                                 if(
  32.                                         (substr(strtolower((string)$_POST['page']), 0, 7) === 'http://') or
  33.                                         (substr(strtolower((string)$_POST['page']), 0, 8) === 'https://') or
  34.                                         (substr(strtolower((string)$_POST['page']), 0, 6) === 'ftp://') or
  35.                                         (substr(strtolower((string)$_POST['page']), 0, 6) === 'ssh://')
  36.                                 ){
  37.                                         if(fopen((string)$_POST['page'], 'r'))
  38.                                                 echo htmlspecialchars((string)$_POST['page'], ENT_QUOTES, 'ISO-8859-1').' <div id="ok">Online</div>';
  39.                                         else
  40.                                                 echo htmlspecialchars((string)$_POST['page'], ENT_QUOTES, 'ISO-8859-1').' <div id="bad">Offline</div>';
  41.                                 }else
  42.                                         echo 'URL no v&aacute;lida.';
  43.                         }
  44.                         ?>
  45.                         <p>
  46.                                 <form action="?" method="post">
  47.                                         URL: <input type="text" name="page" placeholder="http://example.com/" />
  48.                                         <input type="submit" value="Comprobar!">
  49.                                 </form>
  50.                         </p>
  51.                         <p><i>By 2Fac3R</i></p>
  52.                         <br />
  53.                         <p><b>Gr33tz to:</b></p>
  54.                         <p>
  55.                                 xt3mp, arcangel_nigth, ANTRAX, 11Sep, Kr34t0r, GAMARRA, SkippyCreammy, v1c0_h4ck, <br />
  56.                                 w4rning, Snifer, arthusu, Kodeinfect, [Q]3rV[0], WilyXem, m3x1c0h4ck, etc, etc, etc ...
  57.                         </p>
  58.                         <br />
  59.                         <p>
  60.                                 <a href="http://www.underc0de.org"><b>Underc0de.Org</b></a>
  61.                         </p>
  62.                 </div>
  63.         </body>
  64. </html>

Saludos.

Conectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 238
  • Actividad:
    1.67%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #4 en: Abril 19, 2013, 11:37:11 am »
Muy bueno brot, el problema es que esa no es una buena forma de validar, ya que si agregara algo como "http://@" me tiraría un error y aparece de nuevo el FPD.

PD: Gracias por la corrección del diseño ;D jeje

Zalu2
Escuela de Hackers & Programación.
http://ihackndev.blogspot.com/

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« Respuesta #5 en: Abril 19, 2013, 12:34:38 pm »
Nop, si pruebas:

Código: PHP
  1. <?php
  2. if(fopen('http://x:x@www.google.cl/', 'r'))
  3.         echo 1;
  4. else
  5.         echo -1;

Retnará "1"

Lo que si da problemas es al momento de buscar un host inexistente, ahi da un error como este:

Código: PHP
  1. <?php
  2. if(fopen('http://ss.ss', 'r'))
  3.         echo 1;
  4. else
  5.         echo -1;

Citar
Warning: fopen(): php_network_getaddresses: getaddrinfo failed: Host desconocido. in .../c.php on line 2

Warning: fopen(http://ss.ss): failed to open stream: php_network_getaddresses: getaddrinfo failed: Host desconocido. in .../c.php on line 2
-1

En ese caso fopen() debería llevar un @ o un error_reporting(0):

Código: PHP
  1. <?php
  2. if(@fopen('http://ss.ss', 'r'))
  3.         echo 1;
  4. else
  5.         echo -1;

Retorna "-1"

Conectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 238
  • Actividad:
    1.67%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #6 en: Abril 19, 2013, 03:41:50 pm »
Entonces para evitarnos el FPD no hay de otra que no mostrar errores...

Código: PHP
  1. <!DOCTYPE html>
  2. <meta charset="UTF-8" />
  3. <title> Is online? 2.1 By 2Fac3R</title>
  4. <style type="text/css">
  5.         body,html{
  6.                 background-color: #000000;
  7.                 color: #00FF00;
  8.         }
  9.         #ok{
  10.                 font-weight:bold;
  11.         }
  12.         #bad{
  13.                 font-weight:bold;
  14.                 color:#FF0000;
  15.         }
  16.         ._contenido{
  17.                 text-align:center;
  18.         }
  19.         a{
  20.                 color: #FFFFFF;
  21.         }
  22. </style>
  23. <div class="_contenido">
  24.         <pre>
  25. .___         ________         .__  .__            _________
  26. |   | ______ \_____  \   ____ |  | |__| ____   ___\_____   \
  27. |   |/  ___/  /   |   \ /    \|  | |  |/    \_/ __ \ /   __/
  28. |   |\___ \  /    |    \   |  \  |_|  |   |  \  ___/|   |  
  29. |___/____  > \_______  /___|  /____/__|___|  /\___  >___|  
  30.          \/          \/     \/             \/     \/<___>  
  31.         </pre>
  32.  
  33. <?php
  34. /*
  35.                 ¿Is online? 2.1 By 2Fac3R
  36.         Verificar si un servidor esta online
  37.                                                                                          */
  38. $page = htmlentities($_POST['page'], ENT_QUOTES ,'UTF-8');
  39. $send = $_POST['submit'];
  40. define(ERROR,'<script>alert("URL no válida!");window.location=""</script>');
  41.  
  42. function validar($page){
  43.         if(
  44.                 (substr(strtolower((string)$page), 0, 7) === 'http://') or
  45.         (substr(strtolower((string)$page), 0, 8) === 'https://') or
  46.         (substr(strtolower((string)$page), 0, 6) === 'ftp://')
  47.         ){
  48.         verificar($page);
  49.         }else{
  50.         echo ERROR;
  51.         }
  52. }
  53.  
  54. function verificar($url){
  55.        
  56.         if(filter_var($url,FILTER_VALIDATE_URL)){
  57.                 echo @fopen($url,'r') ? "$url <div id='ok'>Online</div>" : "$url <div id='bad'>Offline</div>";
  58.         }else{
  59.                 echo ERROR;
  60.         }
  61. }
  62.  
  63. if(!empty($page)){
  64.         validar($page);
  65. }else{
  66.         if(isset($send)){
  67.                 // Si en el campo de texto no se ingreso nada...
  68.                 ?>
  69.                 <script>
  70.                 alert("Debes ingresar una URL!");
  71.                 window.location=""</script>
  72.                 <noscript>
  73.                 <?die("Debes ingresar una url! <a href=''><b> Regresar! </b> </a>")?>
  74.                 </noscript><?
  75.         }
  76. }
  77. ?>
  78. <form action="" method="POST">
  79.         URL: <input type="text" name="page" placeholder="http://example.com">
  80.         <input type="submit" name="submit" value="Comprobar!">
  81. </form> <br> <i>By 2Fac3R</i> <br> <br>
  82.  
  83.  <br><b>Gr33tz to:</b> <br> <br>
  84.    
  85.    xt3mp, arcangel_nigth, ANTRAX, 11Sep, Kr34t0r, GAMARRA, SkippyCreammy, v1c0_h4ck <br>
  86.    w4rning, Snifer, arthusu, Kodeinfect, [Q]3rV[0], WilyXem, m3x1c0h4ck, WHK, etc, etc, etc ... <br> <br>
  87.    <a href="http://www.underc0de.org"><b>Underc0de.Org</b></a>
  88.    </div>
  89.  

Dime qué opinas....
Zalu2
Escuela de Hackers & Programación.
http://ihackndev.blogspot.com/

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« Respuesta #7 en: Abril 19, 2013, 04:38:48 pm »
Que también tiene Path Disclosure xD

Código: [Seleccionar]
$page = htmlentities($_POST['page'], ENT_QUOTES ,'UTF-8');
cuando le pasas $_POST['page'] que se supone que es un valor nulo porque no se ha enviado ninguna petición post te va a mostrar un error de php porque htmlspecialchars no devuelve un false, simplemente muestra un error re rutina de php.

A demás también debería mostrar un warning en algunos servidores con php configurado para mostrar warnings ya que $_POST['page'] no está definido tampoco, al tratar de acceder a un array inválido también da errores :p

Conectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 238
  • Actividad:
    1.67%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #8 en: Abril 19, 2013, 05:37:09 pm »
Será porque me duele la cabeza y que llevo ya un buen rato programando que no entendí ni papa xDDDDD.

Uso el valor por defecto en el php.ini: E_ALL & ~E_NOTICE

No le paso el valor hasta que se envia el formulario, por lo tanto no es nulo.

O no te entendí o ya no sé ni lo que digo xD...
Zalu2
Escuela de Hackers & Programación.
http://ihackndev.blogspot.com/

Conectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 238
  • Actividad:
    1.67%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #9 en: Abril 21, 2013, 10:00:33 pm »
Acabo de darme cuenta que he estado acostumbrado a una forma "incorrecta" (o diferente) de programar, y la verdad es que he aprendido algo hoy jeje  ;D

Código: PHP
  1. <!DOCTYPE html>
  2. <meta charset="UTF-8" />
  3. <title> Is online? 2.1 By 2Fac3R</title>
  4. <style type="text/css">
  5.         body,html{
  6.                 background-color: #000000;
  7.                 color: #00FF00;
  8.         }
  9.         #ok{
  10.                 font-weight:bold;
  11.         }
  12.         #bad{
  13.                 font-weight:bold;
  14.                 color:#FF0000;
  15.         }
  16.         ._contenido{
  17.                 text-align:center;
  18.         }
  19.         a{
  20.                 color: #FFFFFF;
  21.         }
  22. </style>
  23. <div class="_contenido">
  24.         <pre>
  25. .___         ________         .__  .__            _________
  26. |   | ______ \_____  \   ____ |  | |__| ____   ___\_____   \
  27. |   |/  ___/  /   |   \ /    \|  | |  |/    \_/ __ \ /   __/
  28. |   |\___ \  /    |    \   |  \  |_|  |   |  \  ___/|   |  
  29. |___/____  > \_______  /___|  /____/__|___|  /\___  >___|  
  30.          \/          \/     \/             \/     \/<___>  
  31.         </pre>
  32.  
  33. <?php
  34. /*
  35.                 ¿Is online? 2.1 By 2Fac3R
  36.         Verificar si un servidor esta online
  37.                                                                                          */
  38.                                                  
  39. define('MAX',67); // Maximo numero de caracteres permitidos en un dominio
  40. function validar($page){
  41.        
  42.         if(
  43.        
  44.         (strlen($page) <= MAX) and (
  45.                 (substr(strtolower((string)$page), 0, 7) === 'http://') or
  46.         (substr(strtolower((string)$page), 0, 8) === 'https://') or
  47.         (substr(strtolower((string)$page), 0, 6) === 'ftp://')
  48.         )){
  49.         verificar($page);
  50.         }else{
  51.         echo 'Url no válida!';
  52.         }
  53. }
  54.  
  55. function verificar($url){
  56.         if(filter_var($url,FILTER_VALIDATE_URL)){
  57.                 echo @fopen($url,'r') ? "$url <div id='ok'>Online</div>" : "$url <div id='bad'>Offline</div>";
  58.         }else{
  59.                 echo 'Ha ocurrido un error!';
  60.         }
  61. }
  62.  
  63.  
  64. if(!empty($_POST['page'])){
  65.         validar($_POST['page']);
  66. }
  67. ?>
  68. <form action="" method="POST">
  69.         URL: <input type="text" name="page" placeholder="http://example.com">
  70.         <input type="submit" value="Comprobar!">
  71. </form>
  72.  
  73. <br> <i>By 2Fac3R</i> <br> <br>
  74.  
  75.  <br><b>Gr33tz to:</b> <br> <br>
  76.    
  77.    xt3mp, arcangel_nigth, ANTRAX, 11Sep, Kr34t0r, GAMARRA, SkippyCreammy, v1c0_h4ck <br>
  78.    w4rning, Snifer, arthusu, Kodeinfect, [Q]3rV[0], WilyXem, m3x1c0h4ck, WHK, etc, etc, etc ... <br> <br>
  79.    <a href="http://www.underc0de.org"><b>Underc0de.Org</b></a>
  80.    </div>
  81.  
  82.  

¿Qué opinas?

Zalu2
Escuela de Hackers & Programación.
http://ihackndev.blogspot.com/

Desconectado D4rkC0d3r

  • *
  • Underc0der
  • Mensajes: 202
  • Actividad:
    0%
  • Reputación 0
  • \xeb\x16\x5e\x31\xd2\
    • Ver Perfil
    • Ethical Hacking, Malware Analysis, Disinfection Techniques and more...
« Respuesta #10 en: Abril 22, 2013, 04:04:40 am »
Buen aporte de todos, aprendiendo a fullll programación con PHP!!  ;D

D4rkC0d3r

 

¿Te gustó el post? COMPARTILO!



(Video2Brain) Desarrollo avanzado de tienda online con PHP

Iniciado por graphixx

Respuestas: 0
Vistas: 1486
Último mensaje Julio 28, 2015, 04:26:35 am
por graphixx
Mi sitio está online? + Notificaciones por Whatsapp

Iniciado por fermino

Respuestas: 3
Vistas: 2395
Último mensaje Octubre 06, 2014, 03:07:11 am
por alexander1712
(Video2Brain) Desarrollo de tienda online con PHP

Iniciado por graphixx

Respuestas: 0
Vistas: 1276
Último mensaje Agosto 03, 2015, 01:01:55 am
por graphixx
Curso PHP online + Ejercicios

Iniciado por Sanko

Respuestas: 2
Vistas: 1996
Último mensaje Junio 28, 2012, 10:03:12 pm
por blood_rec
Admin Panel Finder [By 2Fac3R]

Iniciado por 2Fac3R

Respuestas: 5
Vistas: 2635
Último mensaje Enero 25, 2013, 07:18:35 pm
por alexander1712