Cross Site Scripting aka XSS:           Начало                           QAClub #21                         1 марта 2012  ...
Agenda•   Безопасность и Web•   JavaScript и HTML•   XSS – что это такое и с чем его едят?•   XSS: тогда и сейчас•   Делае...
Безопасность и Web• Пользовательские  данные• Вирусы и трояны• Атаки на сайты                     QAClub #21   3 из 20
JavaScript и HTML•   Как работает браузер?•   Что из себя представляет HTML?•   DOM модель•   JavaScript•   Cookies       ...
XSS – что это такое и с чем его едят?• Буквально: «межсайтовый скриптинг»• По факту: XSS injection – инъекция  сторонних с...
XSS: тогда и сейчас• 1990-е: фан и печеньки  – Прикалываться над пользователями  – Воровать админские cookies на форумах• ...
Делаем первые шаги       QAClub #21    7 из 20
Задача• Внедрить скрипт на сайт:  <script>alert(‘hello QAClub’)</script>                      QAClub #21           8 из 20
Способы решения• Заставить пользователя перейти по ссылке• Ввести скрипт на в поле ввода• Прячем скрипт• Отключение клиент...
Заставить пользователя перейти по              ссылке• Вариант A:  <a href=“mysite.com” onclick=“<script>alert(hello  QACl...
Ввести скрипт на в поле ввода• Простой алгоритм:  – Находим поле ввода (input)  – Вводим в него hello <script>alert(hello ...
Прячем скрипт• Самый простой способ – HTML(URL)  encode/decode  – &lt;script&gt;alert('hello    QAClub')&lt;/script&gt;  –...
Отключение клиентской валидации• Дебаггер JavaScript в браузере• Отправка POST/GET запросов мимо  браузера                ...
Advanced level• Ломать – не строить, или не валидный  HTML• Баги браузеров                   QAClub #21            14 из 20
Как это было у них?• Twitter, сентябрь 2011 – неправильная  обработка атрибутов тега <img>• Facebook, апрель 2011 – неправ...
Поиск XSS на сайте• Статический анализ кода• Автоматизация поиска на сайте:  – Использование Web GUI  – Использование POST...
Пару слов о защите• Не доверять пользовательским данным• Модули для веб-серверов для фильтрации  запросов• IPS/IDS        ...
Что дальше?• Advanced способы• Думаем, думаем, думаем• Автоматизация рутины                  QAClub #21   18 из 20
Список используемой литаратуры   http://blog.e0ne.info/?tag=/xss                QAClub #21           19 из 20
СпасибоE-mail: e0ne@e0ne.info      Skype: e0ne-userTwitter: @e0ne              Blog: http://blog.e0ne.info/               ...
Upcoming SlideShare
Loading in …5
×

Cross Site Scripting aka XSS: Начало

2,601 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,601
On SlideShare
0
From Embeds
0
Number of Embeds
1,260
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Test notes
  • http://www.opinionatedgeek.com/dotnet/tools/htmlencode/encode.aspxhttp://www.opinionatedgeek.com/dotnet/tools/urlencode/Encode.aspx
  • Twitter – вставка скриптов, Facebook – вставка скриптов, iframe,google
  • intrusion detection systemIntrusion detection and prevention systems
  • «всем спасибо, все свободны» (с) 
  • Cross Site Scripting aka XSS: Начало

    1. 1. Cross Site Scripting aka XSS: Начало QAClub #21 1 марта 2012 Колодяжный Иван 1 из 20
    2. 2. Agenda• Безопасность и Web• JavaScript и HTML• XSS – что это такое и с чем его едят?• XSS: тогда и сейчас• Делаем первые шаги• Как это было у них?• Поиск XSS на сайте• Что дальше?• Пару слов о защите QAClub #21 2 из 20
    3. 3. Безопасность и Web• Пользовательские данные• Вирусы и трояны• Атаки на сайты QAClub #21 3 из 20
    4. 4. JavaScript и HTML• Как работает браузер?• Что из себя представляет HTML?• DOM модель• JavaScript• Cookies QAClub #21 4 из 20
    5. 5. XSS – что это такое и с чем его едят?• Буквально: «межсайтовый скриптинг»• По факту: XSS injection – инъекция сторонних скриптов на атакуемый сайт QAClub #21 5 из 20
    6. 6. XSS: тогда и сейчас• 1990-е: фан и печеньки – Прикалываться над пользователями – Воровать админские cookies на форумах• 2000-е: карты, деньги, два ствола – Все так же воруем аккаунты – Показываем баннеры и рекламу – Атакуем «чужие» сайты QAClub #21 6 из 20
    7. 7. Делаем первые шаги QAClub #21 7 из 20
    8. 8. Задача• Внедрить скрипт на сайт: <script>alert(‘hello QAClub’)</script> QAClub #21 8 из 20
    9. 9. Способы решения• Заставить пользователя перейти по ссылке• Ввести скрипт на в поле ввода• Прячем скрипт• Отключение клиентской валидации• Ломать – не строить, или не валидный HTML• Баги браузеров QAClub #21 9 из 20
    10. 10. Заставить пользователя перейти по ссылке• Вариант A: <a href=“mysite.com” onclick=“<script>alert(hello QAClub)</script>”>misite.com</a>• Вариант B: <a href=“javacript:alert(hello QAClub)”>misite.com</a> QAClub #21 10 из 20
    11. 11. Ввести скрипт на в поле ввода• Простой алгоритм: – Находим поле ввода (input) – Вводим в него hello <script>alert(hello QAClub)</script> QAClub – Смотрим что получилось QAClub #21 11 из 20
    12. 12. Прячем скрипт• Самый простой способ – HTML(URL) encode/decode – &lt;script&gt;alert('hello QAClub')&lt;/script&gt; – %3cscript%3ealert(%27hello+QAClub%27)%3c%2fscri pt%3e – См. Предыдущий способ• Advanced level: – Unicode encode – etc QAClub #21 12 из 20
    13. 13. Отключение клиентской валидации• Дебаггер JavaScript в браузере• Отправка POST/GET запросов мимо браузера QAClub #21 13 из 20
    14. 14. Advanced level• Ломать – не строить, или не валидный HTML• Баги браузеров QAClub #21 14 из 20
    15. 15. Как это было у них?• Twitter, сентябрь 2011 – неправильная обработка атрибутов тега <img>• Facebook, апрель 2011 – неправильная обработка атрибутов тега <a>• Google – Analytics, support forum, Reader QAClub #21 15 из 20
    16. 16. Поиск XSS на сайте• Статический анализ кода• Автоматизация поиска на сайте: – Использование Web GUI – Использование POST и GET запросов QAClub #21 16 из 20
    17. 17. Пару слов о защите• Не доверять пользовательским данным• Модули для веб-серверов для фильтрации запросов• IPS/IDS QAClub #21 17 из 20
    18. 18. Что дальше?• Advanced способы• Думаем, думаем, думаем• Автоматизация рутины QAClub #21 18 из 20
    19. 19. Список используемой литаратуры http://blog.e0ne.info/?tag=/xss QAClub #21 19 из 20
    20. 20. СпасибоE-mail: e0ne@e0ne.info Skype: e0ne-userTwitter: @e0ne Blog: http://blog.e0ne.info/ QAClub #21 19 из 19

    ×