Question légèrement peu orthodoxe ici:Requêtes HTTP et modules Apache: vecteurs d'attaque créatifs
J'essaie actuellement de casser un Apache avec une poignée de modules personnalisés. Ce qui a engendré le test, c'est qu'Apache envoie en interne les requêtes qu'il considère trop volumineuses (par exemple 1 Mo) aux modules connectés de manière appropriée, les forçant à gérer les données parasites - et le manque de manipulation dans les modules personnalisés. dans son intégralité pour aller en flammes. Aïe, aïe, aïe.
Ce problème particulier a été heureusement résolu, mais la question s'est posée de savoir s'il y avait ou non d'autres vulnérabilités similaires.
Actuellement, j'ai un outil à ma disposition qui me permet d'envoyer une requête HTTP brute au serveur (ou plutôt, des données brutes via une connexion TCP établie qui pourrait être interprétée comme une requête HTTP si elle suivait la forme d'un , par exemple "GET ...") et j'essaie de trouver d'autres idées. (Attaques au niveau TCP comme Slowloris et Nkiller2 sont pas mon objectif pour le moment.)
Est-ce que quelqu'un a quelques bonnes idées comment confondre les modules personnalisés du serveur au point de serveur auto-immolation?
- Broken UTF-8? (Bien que je doute qu'Apache se soucie de l'encodage - j'imagine qu'il ne fait que jongler avec les octets bruts.)
- Des choses qui sont à peine trop longues, suivies d'un 0 octet, suivies d'ordures.
- et ainsi de suite
Je ne me considère pas comme un testeur très bon (je fais cela par la nécessité et le manque de main-d'œuvre, malheureusement je ne même pas avoir une compréhension plus fondamentale de Apache qui internals m'aiderait), c'est pourquoi j'espère une réponse perspicace ou deux ou trois. Peut-être que certains d'entre vous ont fait des tests similaires pour vos propres projets?
(Si stackoverflow n'est pas le bon endroit pour cette question, je présente mes excuses. Je ne sais pas quel autre endroit pour le mettre.)
Merci pour votre réponse! Cela semble * excellemment * utile. En ce qui concerne vos deux derniers points: Nous cherchons à obtenir quelqu'un qui peut revoir le code, mais hélas, c'est un mois, jusqu'à présent, et sans chance. Vous penseriez trouver un Auditer C Code serait plus facile que cela. :) Et le pentesting sera fait, juste un cran plus tard; Le développement/test est un peu cascade dans ce domaine, donc le développement essaye de pousser quelques tests avant que les choses ne soient testées. – pinkgothic
re la cascade/pentest, vous devriez probablement être en mesure de mettre en place un serveur de dev, même juste pour exécuter un pentest/fuzzing initial limité. Peut-être que cela fait un peu double emploi, mais j'ai trouvé qu'il valait souvent la peine de le faire le plus tôt possible - à moins qu'il y ait de la politique autour de la propriété et de toute autre chose. bien pour repousser le pentest jusqu'à après de toute façon. – AviD
Figuré J'accepterais votre réponse, car il s'agit plus d'une * réponse * que celle de The Rook (j'aimerais qu'il y ait un moyen de partager une prime). :) (PS je vous contacterais via linkedin (à tout le moins pour désencombrer les commentaires stackoverflow) mais je n'utilise pas ce site et apparemment je dois payer pour le faire, ce qui semble excessif pour un site je, bien, don pas utiliser.) – pinkgothic