ArticleSetup Article Script 1.00 - SQL Injection Vulnerability



######################################################################################## 


#______________________________________________________________________________________ 

# Exploit Title  : Article Script SQL Injection Vulnerability 

# Exploit Author : Linux Zone Research Team 

# Vendor Homepage: http://articlesetup.com/ 

# Google Dork    : inurl:/article.php?id= intext:Powered By Article Marketing 

# Software Link  : http://www.ArticleSetup.com/downloads/ArticleSetup-Latest.zip 

# Date           : 15-December-2015 

# Version        : (Version 1.00) 

# CVE            : NONE 

# Tested On      : Linux - Chrome 

# Category       : Web Application 

# MY HOME        : http://linux-zone.org/Forums - research@linux-zone.org 

#______________________________________________________________________________________ 

####################################################################################### 



# localHost/article.php?id=SQL 

#______________________________________________________________________________________ 

## Vulnerability Code 

<?php 

include('config.php'); 



//Create site settings variables 

$sitequery 'select * from settings;'

$siteresult mysql_query($sitequery,$connection) or die(mysql_error()); 

$siteinfo mysql_fetch_array($siteresult); 

$siteurl $siteinfo['url']; 



$article $_GET['id']; 



if (!
is_numeric($article)) { 

header('Location: '.$siteurl); 





else 



{   



$sitequery 'select * from settings;'

$siteresult mysql_query($sitequery,$connection) or die(mysql_error()); 



//Create site settings variables 

$siteinfo mysql_fetch_array($siteresult); 

$sitetitle $siteinfo['title']; 

$siteurl $siteinfo['url']; 

$sitecomments $siteinfo['comments']; 

$commentmod $siteinfo['commentmod']; 



$query "select * from articles where status=0 and id = ".$article



$articleresults mysql_query($query,$connection) or die(mysql_error()); 

$num_results mysql_num_rows($articleresults); 

$articleinfo mysql_fetch_array($articleresults); 



if (!
$num_results) { 

header('Location: '.$siteurl); 





//Get article info 

$id $articleinfo['id']; 

$authorid $articleinfo['authorid']; 

$date strtotime($articleinfo['date']); 

$artdate date('m/d/y'$date); 

$categoryid $articleinfo['categoryid']; 

$title stripslashes($articleinfo['title']); 

$body stripslashes($articleinfo['body']); 

$resource $articleinfo['resource']; 





//Meta Info 

$cathead 0

$metatitle $title." - "

include(
'header.php'); 

include(
'sidebar.php'); 





if (
$seourls == 1) { $scrubtitle generate_seo_link($title); } 





// Setup the article template 

$articletemp = new Template("templates/".$template."/article.tpl"); 



// get author info 

$authorquery "select * from authors where id=".$authorid

$authorresult mysql_query($authorquery,$connection) or die(mysql_error()); 

$authorinfo mysql_fetch_array($authorresult); 

$authorname $authorinfo['displayname']; 

$authorbio $authorinfo['bio']; 

$gravatar $authorinfo['gravatar']; 

if (
$seourls == 1) { $scrubauthor generate_seo_link($authorname); } 



// get category info 

$catquery "select * from categories where id=".$categoryid

$catresult mysql_query($catquery,$connection) or die(mysql_error()); 

$catinfo mysql_fetch_array($catresult); 

$categoryname $catinfo['name']; 

$catparent $catinfo['parentid']; 

if (
$seourls == 1) { $scrubcatname generate_seo_link($categoryname); } 



// if the category doesn't have a parent 

if ($catparent == NULL) { 

if (
$seourls == 1) { // With SEO URLS 

$displaycat "<a href=\"".$siteurl."/category/".$categoryid."/" 

.$scrubcatname."/\"><b>".$categoryname."</b></a>"

} else { 

$displaycat "<a href=\"".$siteurl."/category.php?id=".$categoryid 

."\"><b>".$categoryname."</b></a>"





// if the category DOES have a parent 

} else { 

$query "select * from categories where id=".$catparent

$result mysql_query($query,$connection) or die(mysql_error()); 

$info mysql_fetch_array($result); 

$parentname $info['name']; 

if (
$seourls == 1) { $scrubparent generate_seo_link($parentname); } 



if (
$seourls == 1) { // With SEO URLS 

$displaycat "<a href=\"".$siteurl."/category/".$catparent."/" 

.$scrubparent."/\"><b>".$parentname."</b></a> > 

<a href=\""
.$siteurl."/category/".$categoryid."/" 

.$scrubcatname."/\"><b>".$categoryname."</b></a>"

} else { 

$displaycat "<a href=\"".$siteurl."/category.php?id=".$catparent 

."\"><b>".$parentname."</b></a> > 

<a href=\""
.$siteurl."/category.php?id=".$categoryid 

."\"><b>".$categoryname."</b></a>"









// Add a view to this article 

$query "select * from articleviews where articleid = ".$article

$results mysql_query($query,$connection) or die(mysql_error()); 

$viewinfo mysql_fetch_array($results); 

if (
$viewinfo == NULL) { 

$sql "INSERT INTO articleviews VALUES (".$article.", 1)"

$query mysql_query($sql); 

} else { 

$totalviews $viewinfo['views']; 

$totalviews++; 



$sql "UPDATE articleviews SET views=".$totalviews." WHERE `articleid`=".$article.""

$query mysql_query($sql); 





if (
$seourls == 1) { // With SEO URLS 

$authorlink "<a href=\"".$siteurl."/profile/".$authorid."/".$scrubauthor."/\"><b>".$authorname."</b></a>"

} else { 

$authorlink "<a href=\"".$siteurl."/profile.php?a=".$authorid."\"><b>".$authorname."</b></a>"





// Setup all template variables for display 

$articletemp->set("authorname"$authorname); 

$articletemp->set("authorlink"$authorlink); 

$articletemp->set("date"$artdate); 

$articletemp->set("displaycat"$displaycat); 

$articletemp->set("views"$totalviews); 

$articletemp->set("title"$title); 

$articletemp->set("body"$body); 

$articletemp->set("gravatar"$gravatar); 

$articletemp->set("resource"$resource); 



// For the adcode 

$query "select * from adboxes where id=1;"

$result mysql_query($query,$connection) or die(mysql_error()); 

$info mysql_fetch_assoc($result); 

$articletemp->set("250adcode"stripslashes($info['adcode'])); 





// Outputs the homepage template! 



echo $articletemp->output(); 



//Displays the comments -- if admin has them enabled 



if($sitecomments == 0) { 

echo 
"<br/><h2>Comments</h2>"



require_once 
'comments/classes/Comments.class.php'



/* Article ID which shows the comments */ 

$post_id $article



/* Level of hierarchy comments. Infinit if declared NULL */ 

$level NULL



/* Number of Supercomments (level 0) to display per page */ 

$supercomments_per_page 10000



/* Moderate comments? */ 

if ($commentmod == 0) { 

$moderation true

} else { 

$moderation false





# Setup db config array # 

$db_config = array("db_name" => $db_name

"db_user" => $dbusername

"db_pass" => $dbpassword

"db_host" => $server ); 



# Create Object of class comments 

$comments = new Comments($post_id$level$supercomments_per_page$moderation$db_config); 



# Display comments # 

echo $comments->getComments(); 





include(
'rightsidebar.php'); 

include(
'obinclude.php'); 







?> 



####################################### 



# Hassan Shakeri - Mohammad Habili 



# Twitter : @ShakeriHassan - Fb.com/General.BlackHat 

##########################################################