Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Hacking Code

No description
by

Edgar Hernandez

on 27 April 2011

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Hacking Code

HACKING CODE Edgar Hernández Vilchis @zedtrix www.viosek.com Profesional de Seguridad Informática Empresario Desarrollador Costos Gastos Tiempo $ Usuario Demo Comunidad ULSA Codigo SW ¿Cómo descubrir una vulnerabilidad? Caso de estudio "rooibo" Encontrare una vulnerabilidad código fuente de PHP shmop Shared Memory permite crear zonas de memoria compartida shmop_read Read data from shared memory bloblock string shmop_read ( int $shmid , int $start , int $count ) identificador de la zona de memoria Desde donde comenzar a leer cantidad de bytes a leer Memoria 5 bytes Memoria arbitraria Memoria arbitraria Memoria
Compartida Codigo de shmop_read if (start < 0 || start > shmop->size) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, “start is out of range”);
RETURN_FALSE;
}

if (start + count > shmop->size || count < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, “count is out of range”);
RETURN_FALSE;
} Dónde está el problema? long shmid, start, count; long es un entero con signo de 32 bits Arquitectura de 32bits Valor maximo 2^31 1111111111111111111111111111111 2147483647 = shmop_read($shm_id, 1, 2147483647); Ini Cant if (start < 0 || start > shmop->size) { if (start + count > shmop->size || count < 0) { 2147483647+1 = -2147483647 2147483648-1 superar los 31 bits x eso el - Por lo tanto nunca será mayor que la memoria compartida Leemos 2GB == 2^31
startaddr = shmop->addr + start;
bytes = count ? count : shmop->size – start;

return_string = emalloc(bytes+1);
memcpy(return_string, startaddr, bytes);
return_string[bytes] = 0;

RETURN_STRINGL(return_string, bytes, 0); se reservan 2GB de memoria se copian 2GB Lo más probable es que la región de memoria de PHP sea menor que 2gb Si No Se provocar una violación de segmento y PHP se muere Se recuperan los 2Gb de memoria con cualquier tipo de basura. Exploit Fake Fakebook Demo Ingresa sus datos 1 Cuando sale del sitio, se lanza un evento que captura el contenido de los campos y lo envió por medio de un AJAX Guarda
Usuario y Contraseña 2 3 Se envía el usuario y contraseña a fecebook y se loguea de forma transparente para el usuario. Fake Phone Bank DEMO El Banco me llama Capturamos los datos de la tarjeta Email Web XSS Cross-site scripting http://www.../?a=<h1>Hola Mundo</h1> Se puede inyectar, HTML, Javascript, CSS, AJAX,… CSRF Cross-site request forgery <iframe src="http://www.noticiashacker.com/upvote/idDelPost " style="width:0px;height:0px;border:0px"></iframe> +Boto Iframe, IMG, Post,... Formularios,
Entradas,... Robo de cookies Acceso sin contraseña Aprender de los errores hackeado Contraseñas Base64 texto plano md5, sha1 Conclusiones Conclusiones SQL Injection
NoSQL Injection?
Full transcript