Después de algunas investigaciones, no he encontrado ningún documento que describa el método para hacerlo (ni siquiera uno poco confiable). Parece que SSP (StackSmashing Protection)/Propolice¿Hay alguna forma de eludir SSP (StackSmashing Protection)/Propolice?
Respuesta
Estoy más familiarizado con la protección de la pila GS de Microsoft, pero los dos enfoques seem similar.
La siguiente entrada del blog de Microsoft muestra un ejemplo en el que un atacante aún puede tomar el control, incluso cuando Galletas PILA están en uso (el primer ejemplo debe ser aplicable a sistemas no basados en Windows):
este blog post habla acerca de algunas de las próximas mejoras para apilar protección:
Si una aplicación tiene una matriz/tampón en la pila, y utiliza los valores de índice de llamantes controlado sin comprobar los límites, entonces una persona que llama será capaz de acceder a posiciones de memoria arbitrarias, y la pila de protección no ser capaz de prevenirlo o detectarlo.
Ese es un ataque válido, siento que es tarde. – rook
Canary es una muy buena medida de seguridad para proteger contra algunos desbordamientos de búfer. Con los años, varias implementaciones de Canarias se han roto y luego se han vuelto más seguras. Lo que es importante es que incluso a pesar de los desbordamientos de búfer de protección avanzada de memoria aún se están explotando en Vista, Windows 7 y Fedora 11 ...
Una cosa muy importante para mencionar es que Canary solo protege el marco de llamada de la función (que incluye poderoso EIP!). Un desbordamiento de búfer puede ocurrir en otro segmento de la memoria, como el Heap, y un canario no tendría ningún efecto. Además, una aplicación puede ser pirateada utilizando un desbordamiento de búfer sin tener que sobrescribir un EIP. Controlar el EIP es un método sencillo y directo para convertir un desbordamiento de búfer en un exploit asesino y es por eso que es el método más común de explotación.
Estos métodos de explotación, así como otros, se analizan con gran detalle en Exploiting Software: How to break code.
- 1. ¿Alguna forma de eludir la excepción "Los cuadros de diálogo deben ser iniciados por el usuario"?
- 2. MOSS SSP Problema: inicios de sesión fallidos en la base de datos del SSP eliminado
- 3. ¿Hay alguna forma de currying en C?
- 4. ¿Hay alguna forma de 'resaltar' el código?
- 5. ¿Hay alguna forma de vincular Keyboard.FocusedElement?
- 6. ¿Hay alguna forma mejor de escribir esto?
- 7. ¿Hay alguna forma de sobrecargar + = en python?
- 8. ¿Hay alguna forma de multirreproducir un SqlDataReader?
- 9. ¿Hay alguna forma de cancelar TabControl.Items.CurrentChanging?
- 10. ¿Hay alguna forma de sincronizar archivos gif?
- 11. ¿Hay alguna forma de pasar el iPhone?
- 12. ¿Ant ofrece una forma de eludir la dependencia?
- 13. ¿Hay alguna forma de reducir el malloc/libre de ostringstream?
- 14. ¿Hay alguna forma de automatizar las pruebas de Windows Forms?
- 15. ¿Hay alguna forma de agregar un número par de dígitos?
- 16. ¿Hay alguna forma de determinar la cantidad ideal de hilos?
- 17. ¿Hay alguna forma sensata de descomprimir la mónada de estado?
- 18. ¿Hay alguna forma de tener hangouts fuera de google +?
- 19. ¿Hay alguna forma de comentar un gran fragmento de código?
- 20. ¿Hay alguna forma de detectar un software de registro clave?
- 21. ¿Hay alguna forma de obtener la dirección de un registro?
- 22. ¿Hay alguna forma de simplificar esta declaración de caso?
- 23. ¿Hay alguna forma de obtener XML de elemento por atributo?
- 24. ¿Hay alguna forma de diferenciar archivos de C++?
- 25. ¿Hay alguna forma de obtener una dirección de referencia?
- 26. ¿Hay alguna forma de compartir objetos entre páginas de php?
- 27. ¿Hay alguna forma de filtrar un rastreo de SQL Profiler?
- 28. ¿Hay alguna forma de exportar el esquema de PostgreSQL condensado?
- 29. ¿Hay alguna forma de usar operadores implícitos C# de F #?
- 30. ¿Hay alguna forma de ignorar el error de 'Declaración inalcanzable'?
¿Esto es para hackear o para su propio software? Incluso para su propio software, no puedo pensar en una buena razón para hacer esto (¿rendimiento quizás?). – Zifre
Tal vez esté tratando de evaluar esta tecnología para usarla en su propio producto y se pregunta si hay algún problema conocido con ella. –
Te estás perdiendo la última mitad de tu última oración. –