Ushahidi 2.0.1 (range param) SQL Injection Vulnerability (post-auth)
 
Vendor: Ushahidi, Inc. 
Product web page: http://www.ushahidi.com 
Affected version: 2.0.1 (Tunis)
Summary: The Ushahidi Platform is a platform for information 
collection, visualization and interactive mapping.
Desc: Input passed via the 'range' parameter to dashboard.php is 
not properly sanitised in application/controllers/admin/dashboard.php 
before being used in SQL queries. This can be exploited to manipulate 
SQL queries by injecting arbitrary SQL code.
 
------------------------------------------------------- 
\application\controllers\admin\dashboard.php
 
Lines: 103-112: 
------------------------------------------------------- 
// Set the date range (how many days in the past from today?) 
        //    default to one year 
        $range = (isset($_GET['range'])) ? $_GET['range'] : 365; 
         
        if(isset($_GET['range']) AND $_GET['range'] == 0) 
        { 
            $range = NULL; 
        } 
         
        $this->template->content->range = $range; 
-------------------------------------------------------
 
Tested on: Tested on: Microsoft Windows XP Professional SP3 (EN) 
           Apache 2.2.14 (Win32) 
           PHP 5.3.1 
           MySQL 5.1.41
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic 
                            liquidworm gmail com
 
Advisory ID: ZSL-2011-5016 
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-5016.php
Vendor Advisory: http://dev.ushahidi.com/issues/show/2195
 
25.05.2011
 
----
PoC:
- http://192.168.16.100/index.php/admin/dashboard/?range=1[SQLi]
 
国外转载回来的。。