Actionscript програмиране, XSS в htmltext и ClickTag, WordPress и майстор-то

XSS в HtmlText и ClickTAG ActionScript

Имало едно време преди 10 години в предишен живот обратно, аз трябваше да се напише един прост флаш игра за ActionScript.

Actionscript програмиране, XSS в htmltext и ClickTag, WordPress и майстор-то
Целта да се създаде тестово приложение е много проста. Покажи по-основно ниво на знания в ActionScript.

Задача не е твърде трудно:
Създаване на лабиринт и да се ограничи преминаването му една минута.
Разбира се, никоя от които на въпроса за защита след това не трябва да излизат. В края на публикацията, която може дори да се опита да го премине. 😀

На другия ден намерих компилиран файл на играта (на изходния код е вече в следобедните часове с огън няма да намерите) и реши да сканира му HP SwfScan. Няколко секунди по-късно е имало предупреждение от уязвими променлива, която се използва в SWF текстовото поле файл.

вектор на атака за такава променлива може да изглежда така:

Основният виновник бъг - променлива HtmlVariable, който не е бил активиран преди употреба. Променлива, която няма стойност по подразбиране може да се сравни с боклука, който може да бъде по принцип нищо. След като вече писа за него тук.

И тук не е трудно да се отгатне, че потребителят може самостоятелно да преминават направо към него стойността на засегнатия променлива, и по този начин нарушава логиката на уеб приложението.

В други случаи, се препоръчва да се използва филтър (да се сложи на наблюдателя на кофата), на потребителя, не случайно nakidal към колекцията си.

Аз не искам да навлизам в джунглата на играта, така че аз ще дам един прост пример за използване txtField.htmlText който се формира чрез натискане на бутон върху символа за обект:

на (освобождаване)
// Var HtmlVariable = "Болт";
IF (txtFieldExists == фалшиво)
това. createTextField ( "txtField" това getNextHighestDepth (), 270, 270, 160, 22 ..);
txtField. HTML = вярно;
txtFieldExists = истински;
>
txtField. htmlText = HtmlVariable;
>

В края на този пост можете да изтеглите компилиран SWF файл за тестване.

Абсолютно същият инициализиране на променлива ClickTag в рамките на метода на (освобождаване) биха могли да спасят бащата на руската демокрация уязвимост близо FlashVar (ClickTAG).

Но, за да довърши работата си в предишна статия, искам да добавя още няколко предложения за закриване на уязвимост в ClickTAG.

Затова препоръката в този случай е много проста:

Това условие ще гарантира, че потребителят е бил доставен точно там, където тя е в действителност е планирано.

И последно (за цялостното развитие) няколко вектори за getURL и flash.external.ExternalInterface.call, можете да тествате SWF файл. За начинаещи, ActionScript програмисти, мисля, че ще бъдат много полезни.

на (освобождаване)
ако (externalInterfaceVar! = неопределено)
светкавица. външно. ExternalInterface. наричаме (_root .externalInterfaceVar);
>
>

И накрая, първата ми (и интуицията ми подсказва, че най-вероятно последен) Flash игра лабиринт.

P.S.Labirint конструирана по такъв начин, че преминаването му отнема средно 50-55 секунди. За да завърши играта правилно, влезте в "червено" къща! За да се придвижвате със стрелките на клавиатурата. 😀

Интересни статии по темата:

  • Как да възстановите паролата си по електронна поща, или това, което е Атака свирепия сили?
  • Как да се провери на сайта за вируси
  • Вирус блокира достъпа до интернет
  • XSS в зареждане на XML в Flash сайтове

Отличен пост Дима. Супер всичко много лесно за разбиране и ясно. много полезно да се знае тази информация, тогава може би в интернет ще бъде по-малко от който и да е от изпражнения, макар че такова нещо като bydlakod бил е и ще бъде 😀

Ние даваме образование на масите! 😀
Сигурност - в основата на кодиране. На разбиране на тези прости думи от начинаещи програмисти, това отнема много време. Но е необходимо да се знае, т. За. Запознайте проекти, чиито създатели дори нямат представа за това.

Благодаря за статията!