Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Vulnerabilidades en PHP: Unserialización con 'phar://', Diapositivas de Programación Funcional

Este documento ofrece una introducción a las vulnerabilidades de unserialización en PHP a través del manejador de flujos 'phar://'. El autor aborda temas como Stream Wrappers, Phar File Format, Phar Planting, identificación de vulnerabilidades y defensas contra ellas. Se incluyen casos reales de vulnerabilidades en Typo3 y Wordpress, así como herramientas como PHPGGC y PHARGGC.

Tipo: Diapositivas

2020/2021

Subido el 22/06/2022

Satfau
Satfau 🇪🇸

1 documento

1 / 74

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Its a PHP unserialization vulnerability Jim,
but not as we know it
Sam Thomas
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a

Vista previa parcial del texto

¡Descarga Vulnerabilidades en PHP: Unserialización con 'phar://' y más Diapositivas en PDF de Programación Funcional solo en Docsity!

“It’s a PHP unserialization vulnerability Jim,

but not as we know it”

Sam Thomas

WHOAMI

  • Director of Research at Secarma Ltd
  • Research / Application Assessments / Red Teaming

Introduction

Code reuse

ROP POP

ret2libc

Return Oriented Programming Property Oriented Programming

Introduction

  • Unserialize is called on attacker controlled input
  • Once object is unserialized from input (and when it is destroyed) certain “magic” methods are called
  • In favourable circumstances properties and methods can be chained together to cause malicious actions to occur
  • TL/DR = Unserialization is bad

https://www.xkcd.com/293/

XKCD 293 – RTFM

Stream Wrappers

file:// http:// ftp:// php:// zlib:// data:// glob:// phar://

[3]

Stream Wrappers

  • LFI
    • LFI - > From STDIO: php://input [4]
    • LFI - > Source code reading: php://filter/convert.base64-encode/resource=index.php [4]
  • File writing
    • Similar to source code reading, if we have a file write vulnerability which writes undesirable content (e.g. “<?php die()” before our controlled value) we can base64 decode it [5] file:// http:// ftp:// php:// zlib:// data:// glob:// phar:// Remote Input & Filtering

Stream Wrappers

  • Not used with normal file operations  file:// http:// ftp:// php:// zlib:// data:// glob:// phar:// Remote Input & Filtering Directory Listing
[6]

Stream Wrappers

  • Exploit vulnerabilities in native code? file:// http:// ftp:// php:// zlib:// data:// glob:// phar:// Remote Input & Filtering Directory Listing Archive
[7]
[8]
[7]