ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Небольшой мануал по xss - уязвимостям для новичков (https://forum.antichat.xyz/showthread.php?t=8058372)

mr.borocco 03.07.2012 01:00

Я не буду вам объяснять аббревиатуры xss , историю возникновения и тд и тп.
Так-как нафиг оно вам надо?

Перейду сразу к делу.

xss - уязвимость это когда мы можем сохранить в исходном html коде сайта свой код (спец-символы ">" " и нажем на поиск (На луппу в данном случае) нам выдаст эту страницу

http://www.mn.ru/search/?query=12345%3E - Заглянем в исходный код этой страницы в опере правый клик мышки, (Исходный код) нажмем (ctrl f ) Введем в строку поиска 12345 нам выдаст 2 результата.

value="12345>" и "12345>" Видите цифры сохранились в коде, "12345" А вот ковычки разбились на "&gt". - Значит тут нету xss. Именно в этой форме.

Перейдем на этот сайт

http://www.vmdaily.ru/ ввдем в форму поиска 12345> нам выдаст

эту страничку http://www.vmdaily.ru/search.php?q=12345%3E& .
Заглянем в исходный код ииии сразу в тегах мы видим

code:

"Вечерняя Москва - Поиск по 12345> // vmdaily.ru"

Обратите внимание на "12345>" Эврика кавычка прошла значит мы можем писать сюда любой код.
быстренько пишем код

\\ Закрываем тег, alert() \\ пишем скрипт ииииии Получаем ))
Бан на сайте. Так-как он у меня после этого скрипта стал не доступен)По всей видимости там автобан стоит за сомнительные запросы) Ну ладно. Поищем другой сайт.

Вот нашел нового претендента
http://www.newsmsk.com/ Пишем в форму 12345>

Получаем эту страницу http://www.newsmsk.com/search?query=12345%3E
Смотрим исходный код. и видим заголовок в тегах

code:

NEWSmsk.com в Москве: Поиск: 12345>title

А если вот посмотрим на формы

code:


То тут у нас не проходит скобка ">" она заменятся на ">" Ну что же , это косяк разработчиков) они не профильтровали теги )

Пишем в форму поиска это \\ Закрываем тег, alert() \\ пишем скрипт
Нажимаем поиск ииии Вылетает Алерт .
http://www.newsmsk.com/search?query=...%EF%F2&x=0&y=0
Значит тут есть xss - уязвимость и можно внедрять в страницу свой код, а код может быть разный.
Вот смотрим исходник страницы при рабочем алерте .

code:

NEWSmsk.com в Москве: Поиск: \\ %C7%E0%EA%F0%FB%E2%E0%E5%EC %F2%E5%E3, alert() \\ %EF%E8%F8%E5%EC %F1%EA%F0%E8%EF%F2title

Вот видите скрипт прошел. Отлично) Ищите сайты тренируйтесь.

Это и был небольшой мануал для новичков как искать xss уязвимости)
Но это только начало есть еще много подводных камней.

Ps/ Все сайты что я показывал в примере. Нашел на первой странице запроса в гугле
"Новости Москвы" Эхх вроде такие большие сайты, а вот уязвимостей полно)

mr.borocco 05.07.2012 01:00

Вот по второму сайту xss .

http://www.newsmsk.com/search?query=...7&year_to=2012

Op4_renegat 05.07.2012 01:00

Всегда было интересно, что можно добиться от пассивной XSS кроме кражи идентификатора сессии. Раньще книгу видел интересную, там автор объяснял как можно заполучить полный код админ панели, может знает кто?

mr.borocco 05.07.2012 01:00

Можно сделать все что может javascript , так то мы размешаем код на локалке , а в часто на файлах стоят права только для локального пользователя ) так что можно обсудить) что можно сделать. Предлагайте идеи )

Op4_renegat 05.07.2012 01:00

Не силен в js, поэтому и спрашиваю.

mr.borocco 05.07.2012 01:00

Так то статья по xss понятно написана?

Op4_renegat 05.07.2012 01:00

Да я и так знал, а так статья хорошая. Минимум текста, много полезного.

Everester 09.07.2012 01:00

Хорошая статья. Давно хотел разобраться

mr.borocco 10.07.2012 01:00

Цитата:

Сообщение от Everester

Хорошая статья. Давно хотел разобраться

Скоро напишу статью по sql injection

Kuzon 11.07.2012 01:00

Автор,добавься пожалуйста greemjow90 скайп.(У меня все получилось,есть вопросы просто)

Lovehacking 11.07.2012 01:00

Отличная статья, молодец.
Но у меня вопрос:
Когда страницу обновляешь кода нет, т.е. код не остается же.

mr.borocco 11.07.2012 01:00

Цитата:

Сообщение от Lovehacking

Отличная статья, молодец.
Но у меня вопрос:
Когда страницу обновляешь кода нет, т.е. код не остается же.

Если в поиске стоит get запрос то есть например
site.com/?search=12345> - Тогда код останется по этой ссылке. если get нету
site.com/search.php тогда кода не будет
Понял? Если нет то покажи пример где у тебя код не сохраняется я тебе разжую все)

Lovehacking 11.07.2012 01:00

Дай скайп или аську

Lovehacking 11.07.2012 01:00

лучше скайп

medved1156 28.07.2012 01:00

из данной статьи я ничегошеньки не понял...печально.

mr.borocco 06.08.2012 01:00

Цитата:

Сообщение от medved1156

из данной статьи я ничегошеньки не понял...печально.

Что конкретно не понятно?

_Werewolf_ 06.08.2012 01:00

Неплохо написано, но зачем описывать то, что было описано уже раз 100?
Вот, к примеру, очень хорошая статья. Но многие почему-то думают что там чего-то не описано и пишут своё.
Хотя ладно, это не моё дело. ТС неплохо изложил, молодец.

noizZzefan 06.08.2012 01:00

Цитата:

Сообщение от mr.borocco

Я не буду вам объяснять аббревиатуры xss , историю возникновения и тд и тп.
Так-как нафиг оно вам надо?

Перейду сразу к делу.

xss - уязвимость это когда мы можем сохранить в исходном html коде сайта свой код (спец-символы ">" " и нажем на поиск (На луппу в данном случае) нам выдаст эту страницу

http://www.mn.ru/search/?query=12345%3E - Заглянем в исходный код этой страницы в опере правый клик мышки, (Исходный код) нажмем (ctrl f ) Введем в строку поиска 12345 нам выдаст 2 результата.

value="12345>" и "12345>" Видите цифры сохранились в коде, "12345" А вот ковычки разбились на "&gt". - Значит тут нету xss. Именно в этой форме.

Перейдем на этот сайт

http://www.vmdaily.ru/ ввдем в форму поиска 12345> нам выдаст

эту страничку http://www.vmdaily.ru/search.php?q=12345%3E& .
Заглянем в исходный код ииии сразу в тегах мы видим

code:

"Вечерняя Москва - Поиск по 12345> // vmdaily.ru"

Обратите внимание на "12345>" Эврика кавычка прошла значит мы можем писать сюда любой код.
быстренько пишем код

\\ Закрываем тег, alert() \\ пишем скрипт ииииии Получаем ))
Бан на сайте. Так-как он у меня после этого скрипта стал не доступен)По всей видимости там автобан стоит за сомнительные запросы) Ну ладно. Поищем другой сайт.

Вот нашел нового претендента
http://www.newsmsk.com/ Пишем в форму 12345>

Получаем эту страницу http://www.newsmsk.com/search?query=12345%3E
Смотрим исходный код. и видим заголовок в тегах

code:

NEWSmsk.com в Москве: Поиск: 12345>title

А если вот посмотрим на формы

code:


То тут у нас не проходит скобка ">" она заменятся на ">" Ну что же , это косяк разработчиков) они не профильтровали теги )

Пишем в форму поиска это \\ Закрываем тег, alert() \\ пишем скрипт
Нажимаем поиск ииии Вылетает Алерт .
http://www.newsmsk.com/search?query=...%EF%F2&x=0&y=0
Значит тут есть xss - уязвимость и можно внедрять в страницу свой код, а код может быть разный.
Вот смотрим исходник страницы при рабочем алерте .

code:

NEWSmsk.com в Москве: Поиск: \\ %C7%E0%EA%F0%FB%E2%E0%E5%EC %F2%E5%E3, alert() \\ %EF%E8%F8%E5%EC %F1%EA%F0%E8%EF%F2title

Вот видите скрипт прошел. Отлично) Ищите сайты тренируйтесь.

Это и был небольшой мануал для новичков как искать xss уязвимости)
Но это только начало есть еще много подводных камней.

Ps/ Все сайты что я показывал в примере. Нашел на первой странице запроса в гугле
"Новости Москвы" Эхх вроде такие большие сайты, а вот уязвимостей полно)

Спасибо,очень помогла статья.

mr.borocco 06.08.2012 01:00

Цитата:

Сообщение от _Werewolf_

Неплохо написано, но зачем описывать то, что было описано уже раз 100?
Вот, к примеру, очень хорошая статья. Но многие почему-то думают что там чего-то не описано и пишут своё.
Хотя ладно, это не моё дело. ТС неплохо изложил, молодец.

Там теория одна, практики нету совсем.
Вот я считаю что лучшее обучение это когда есть реальные примеры.
на реальных сайтах. Тогда люди видят что это реально работает и быстрее понимают)

_Werewolf_ 06.08.2012 01:00

Цитата:

Сообщение от mr.borocco

Там теория одна, практики нету совсем.
Вот я считаю что лучшее обучение это когда есть реальные примеры.
на реальных сайтах. Тогда люди видят что это реально работает и быстрее понимают)

Да, там есть такое упущение. Правда и инфы раз в 10 больше. Тут мало примеров, поэтому я где-то видел тему, куда люди выкладывают XSS. Может ссылка на эту тему поможет поднять... "крутость" темы?

mr.borocco 10.03.2013 01:00

Цитата:

Сообщение от _Werewolf_

Правда и инфы раз в 10 больше.

Той инфы) которая не нужна для новичков , даже на оборот вводит в заблуждение и страх перед началом обучения

medsestra123 12.03.2013 01:00

А у меня вот такая проблема,вписываю: http://nebogame.com/?state=game&ref_id=alert(document.cookie) ну а мне выдаёт:
Спойлер
uids:uids}, function(data){ var o = jQuery.parseJSON( data ); if(o.error_code){ alert("get_user_info: "+o.error_code); }else{ $("#userName").text(o[0].nick); } }); } function exitBtnVisible(value){ $('#exitBtn').css('visibility',(value ? 'visible': 'hidden')); } function openPage(url){ if(getBrowserName() == "msie"){ window.open(url); } } function exec(s){ if(getBrowserName() == "msie"){ eval(s); } } getGameNick("2460817"); function checkOnExit(){ if(flashvars.platform_type==111 && flashvars.email_activated == 'false') { if (confirm('Не подтвердив свой email или не прикрепив аккаунт к соцсети, Вы не сможете вернуться на профиль своего персонажа.')) { logOut(); return true; } else { return false; } } logOut(); return true; /* if(flashvars.platform_type==111 && flashvars.email_activated == 'false') { $.blockUI({ message: $('#confirm_exit_win'), css:{ border:null, backgroundColor:null, top:'30%', left:($(window).width() - $('#confirm_exit_win').width())/2 + 'px'} }); $('#confirm_exit_win').show(); return false; } else { logOut(); return true; } */ }

_2460817"; var showTutorial = 1; var isReged = false; $(document).ready(function() { ktApi = (KT_API_KEY.length ? new KontagentApi(KT_API_KEY) : null); switchGameBg(false); startTrackVisible(visibilityChangedHandler); loadSWF(apps[0]); }); function getInviteURL(){ var url=share_url+"?ref="+ref; return url; } function inviteFriends(){ var url = getInviteURL(); var o = {title:"Стань Хранителем Небес!",description:"Друзья! Мне нужна ваша помощь в Небесах! Вступайте в мою армию!",image:staticURL+"site/files/images/logo_100x100_vkontakte_02.jpg",url:url,ref:ref}; share(o); } //window visibility function startTrackVisible(handler){ if (MozVisibility.canBeEmulated()){ document.addEventListener("mozvisibilitychange", function () { handler(document.mozVisibilityState == 'visible'); }, false); }else if (Visibility.isSupported()){ Visibility.change(function (e, state) { handler(state == 'visible'); }); } } function visibilityChangedHandler(state){ var f = swfobject.getObjectById('flash-app'); if(f){f.visibleState(state);} } // Cross-browser implementation of element.addEventListener() function listen(evnt, elem, func) { if (elem.addEventListener){ // W3C DOM elem.addEventListener(evnt,func,false); }else if (elem.attachEvent) { // IE DOM var r = elem.attachEvent("on"+evnt, func); return r; } else {window.alert('I\'m sorry, I\'m afraid I can\'t do that.'); } } // Use: listen("event name", elem, func); function makeBugWindow(defaultTicketId){ var screenStr = swfobject.getObjectById("flash-app").getScreenShot(); var logDump = swfobject.getObjectById("flash-app").getLog(); var wW = 634; var wH = (getBrowserName() == "chrome" ? 630: 575); var w = createPopUpWindow("bug_mailer.php"+(defaultTicketI d ? "?tid="+defaultTicketId : ''), "sendBugWindow", wW, wH); //w.moveBy((document.body.clientWidth - wW) >> 1, (document.body.clientHeight - wH) >>1); if(getBrowserName()!="opera"){ listen("load",w, function(){w.setData(screenStr, logDump);}); }else{ //opera sucks var windowPingCount=0; var maxWindowPing=50; var iid = setInterval(function(){ windowPingCount++; if(windowPingCount>maxWindowPing){clearInterval(ii d)} if(w.setData){clearInterval(iid);w.setData(screenS tr, logDump);}},700); } } //********************************************* var appId='game'; var apps = ['http://s1.nebogame.com/files//bin/loaders/standaloneLoader.swf?v=5']; var playerVersion='11.1.0'; function objectToURLVars(params){ function addVar(r, name, value){ if(r.indexOf("=")==-1){ r+=""+name+"="+ value; }else{ r+="&"+name+"="+ value; } return r; } var r = ''; if(!params){return r;} for(var key in params){ r = addVar(r,key, params[key]); } return r; } //fv var flashvars = { skyLocale:"ru_RU", uid:"2460817", platform_type:"111", post_platform_type:"100", auth_hash:"65ca4d3d27cad28dbbe6065d7e3c3e5d", config_url:"http://s$i.nebogame.com/files/configs/sa.xml", api_url:"http://nebogame.com/", refererId:"", refererType:"", ref_link:"http://nebogame.com/?ref='>">_2460817", group_url:"http://vkontakte.ru/club19377311", tnm_gladiators_url:" http://vk.com/page-19377311_44069273", tnm_adepts_url:" http://vk.com/page-19377311_44069272", error_code:"0", bankPayPageURL:"http://bank.nebogame.com/pay/", bank_api:"bank.php", logkeys:"getlog", email:"", email_activated:"false", tutorial:showTutorial, oauthPlatforms:encodeURIComponent("{\"2\":true,\"1 \":true,\"4\":true,\"3\":true}"), staticIndex:"1", userInfoForExport:encodeURIComponent(""), specialImageTicketId:7, marketingParams:encodeURIComponent("\"tuid\"=>\"de 2e02d538bd5945\",\"ref\"=>\"\",\"target\"=>\"nebog ame.com/?state=game&ref_id=\\\'%3E%3C\\\'\\\'%3E%22%3E%3Cs cript%3Ealert(%22cookie:%20%22+document.cookie)%3C/script%3E\",\"ip\"=>\"64.62.201.15\"") }; function loadSWF(url){ var htmlWrap='
Небеса: уникальная игра!
Для игры необходимо установить Flash Player"

'; var atr={ data:url, width:APP_W, height:APP_H, id:"flash-app", menu: "false", scale: "default", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#FEF1B2", wmode:"window" }; var params = { allowScriptAccess: "always", bgcolor: "#FEF1B2", wmode:"window", menu: "false", id:"flash-app", flashvars:objectToURLVars(flashvars) }; if(swfobject.hasFlashPlayerVersion(playerVersion)) { var loadHandler = function (){ var c = document.getElementById(appId); if(!c){ document.getElementById("container").innerHTML = htmlWrap; } swfobject.createSWF(atr, params, appId); minimizeGame(); } }else{ loadHandler = function() { document.getElementById("container").innerHTML = htmlWrap; atr = { data:"http://s1.nebogame.com/files/expressInstall.swf", width:APP_W, height:APP_H }; swfobject.showExpressInstall(atr, {}, appId, function (){alert("express install is canceled!!!")}); } } swfobject.addDomLoadEvent(loadHandler); } function minimizeGame() { if (swfobject.ua.ie) { return;} var app = document.getElementById('appDiv'); app.style.visibility = 'hidden'; } function showGame() { if (swfobject.ua.ie) { return;} var app = document.getElementById('appDiv'); app.style.visibility = 'visible'; } function unloadSWF(id){ swfobject.removeSWF(id); } function getNextApp(){ unloadSWF(appId); loadSWF(apps.shift()); } function loadShareScript(pType){ if(window.share){ window.share = null; } var sURL="http://s1.nebogame.com/files/site/files/common/js/share/share_"+pType+".js?v=5"; $.getScript(sURL, function (data, textStatus, jqxhr){ if(textStatus == "success"){ getAPP().shareScriptLoaded(); }else{ alert("Error - shareScript Not Loaded url: " + sURL); } }); }

Это что такое и как это понять???
Некоторые говорят что нашла уязвимость!?
Помогите пожалуйста раскачать...
Я новенькая здесь прошу не ругаться и сильно не критиковать (если что пишите в личку).

mr.borocco 13.03.2013 01:00

На держи правильную ссылку.

source:


exell 13.03.2013 01:00

Отличная статья, жду продолжения

darei 13.03.2013 01:00

спс ТС


Время: 14:34