Actionscript програмиране, XSS в htmltext и ClickTag, WordPress и майстор-то
XSS в HtmlText и ClickTAG ActionScript
Имало едно време преди 10 години в предишен живот обратно, аз трябваше да се напише един прост флаш игра за ActionScript.
Целта да се създаде тестово приложение е много проста. Покажи по-основно ниво на знания в 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 бил е и ще бъде 😀
Ние даваме образование на масите! 😀
Сигурност - в основата на кодиране. На разбиране на тези прости думи от начинаещи програмисти, това отнема много време. Но е необходимо да се знае, т. За. Запознайте проекти, чиито създатели дори нямат представа за това.
Благодаря за статията!