МистБлэкХэт: обучающие лекции по BruteXSS
Преподаватель: gh0stkey (https://www.zhihu.com/people/gh0stkey/answers)
Редактор: Летающий дракон (https://github.com/)
Соглашение: CC BY-NC-SA 4.0 (http://creativecommons.org/licenses/by-nc-sa/4.0/)
BruteXSS — это мощный и быстрый инструмент для обнаружения межсайтовых скриптов, который можно использовать для брутфорса параметров. BruteXSS загружает различные полезные нагрузки из указанного словаря слов и использует указанные полезные нагрузки для сканирования на наличие уязвимостей XSS в параметрах. Благодаря мощному механизму сканирования, BruteXSS обеспечивает высокую точность при выполнении задач и редко выдаёт ложные срабатывания. BruteXSS поддерживает запросы POST и GET и адаптирован к современным веб-приложениям.
Сначала установите Python 2.7.
Необходимы две библиотеки: Colorama и Mechanize. Однако я заметил, что эти библиотеки уже включены в исходный код, поэтому обычно нет необходимости устанавливать их вручную. Если установка не удалась, выполните следующие команды для ручной установки:
pip install colorama
pip install Mechanize
Затем загрузите все файлы с https://github.com/shawarkhanethicalhacker/BruteXSS/zipball/master и распакуйте их.
Также необходим список слов. В оригинальном файле wordlist.txt всего 20 выражений, которые подходят только для базового сканирования XSS.
В файле https://github.com/ym2011/penetration/blob/master/BruteXSS/wordlist-small.txt содержится 100 выражений, подходящих для более полного сканирования XSS.
Файл https://github.com/ym2011/penetration/blob/master/BruteXSS/wordlist-medium.txt содержит 200 выражений и подходит для сканирования XSS, обходящего WAF.
Наконец, файл https://github.com/ym2011/penetration/blob/master/BruteXSS/wordlist-huge.txt содержит 5000 выражений для наиболее полного и эффективного сканирования XSS, включая обход WAF.
Чтобы имитировать тестируемую страницу, нам также необходимо развернуть страницу:
\\XSS反射演示
<form action="" method="get">
<input type="text" name="xss"/>
<input type="submit" value="test"/>
</form>
<?php
$xss = @$_GET['xss'];
if($xss!==null){
echo $xss;
}
Предположим, мы можем получить доступ к нему через localhost/xss.php.
Сначала перейдите в каталог после распаковки:
python brutexss.py
Это приведёт вас к интерфейсу командной строки:
____ _ __ ______ ____
| __ ) _ __ _ _| |_ ___ \ \/ / ___/ ___|
| _ \| '__| | | | __/ _ \ \ /\___ \___ \
| |_) | | | |_| | || __/ / \ ___) |__) |
|____/|_| \__,_|\__\___| /_/\_\____/____/
User:Gh0stkey
注意:使用错误的有效载荷的定义
字典可能给你积极性质
更好地使用字典
提供积极的结果。
[?] 选择方法: [G]GET 或者 [P]Post (G/P):
Далее он задаст вам несколько вопросов о конфигурации. При выборе метода введите G, укажите URL как http://localhost/xss.php?xss, обязательно раскрыв параметр, затем введите местоположение словаря как wordlist.txt, и вы можете попробовать другие словари.
[?] 选择方法: [G]GET 或者 [P]Post (G/P): G
[?] 输入 URL:
[?] > http://localhost/xss.php?xss=
[+] 检测 localhost 是可用的...
[+] localhost is available! Good!
[?] 输入字典的位置 (按Enter键使用默认 wordlist.txt)
[?] > wordlist.txt
После этого программа отобразит результаты, указывая на уязвимость XSS на этой странице.
[+] 从指定字典加载载荷.....
[+] 25 攻击载荷加载...
[+] Bruteforce开始:
[+] 测试 'xss' 参数...
[+] 0 / 25 攻击载荷注入...
[!] Xss漏洞发现
[!] 参数: xss
[!] Payload: </script>"><script>prompt(1)</script>
[+] Bruteforce完成。
[+] 1 参数是 容坠セ鞯? xss.
[+] 扫描结果 localhost:
+----+------------+----------------+
| Id | Parameters | Status |
+----+------------+----------------+
| 0 | xss | Vulnerable |
+----+------------+----------------+
[?] [E]结束进程\[A]程序初始化
Затем он попросит вас выбрать, завершить процесс означает выйти, инициализировать означает перезапустить. Введите E, если вам больше не нужно сканировать.
Если это сканирование POST, введите http://localhost/xss.php для URL и xss= для данных.
Поскольку некоторые типы XSS, такие как хранимые XSS, трудно автоматизировать, этот инструмент всё ещё имеет ограниченную область применения, и обнаружение некоторых уязвимостей может быть затруднено.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )