Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

Eloy

I'm just a guy who likes Python and security. I'm part of the Hackliza group.


Twitter

https://defcon.social/@zer1t0

Any other link (e.g. GitHub)

https://github.com/zer1t0


Session

10-05
12:05
35min
Introducción as inxeccións de código en Python
Guzman, Eloy

No mundo actual, cada vez existen máis problemas de seguridade que afectan á información e aos sistemas que a xestionan e, como cabe esperar, Python non está libre deste tipo de problemas. Os atacantes buscan vulnerabilidades que poidan explotar para o seu beneficio e os defensores investigan como defendernos destas ameazas.

Esta charla centrarase sobre as vulnerabilidades de inxección de código, as cales consisten en introducir código nunha aplicación na que, posteriormente, será executado ou interpretado. Este tipo de ataques prodúcense debido a unha falta de validación nos datos que se poden introducir nunha aplicación.

Primeiro explicarase como os atacantes inxectan código Python malicioso nunha sandbox na que a priori non se poden escribir ficheiros no sistema operativo.

Despois, falarase sobre como se explotan as vulnerabilidades de inxección de plantillas utilizando de exemplo unha aplicación web desenvolvida con flask.

Finalmente, describirase como aproveitar unha configuración feita en yaml e un programa que a le con PyYAML para mostrar o contido dalgún ficheiro confidencial.

Polo camiño explicaranse varios detalles do funcionamento interno de Python como a estrutura das builtins ou a árbore sintáctica abstracta. Tamén se mostrará como se foron tratando de resolver estes problemas de seguridade e como os atacantes conseguían evadir as diferentes defensas que se foron plantexando.

Core
Orballo