Pentest və SOC Cheat Sheet
  • Reconnaissance
  • Post-Explotation
    • Linux Post-Explotation
      • Linux Local Enumeration
      • Linux Privilege Escalation
      • Dumping and cracking hashes on Linux
      • Linux Persistence
    • Windows Post-Explotation
      • Windows Local Enumeration
      • Windows Privilege Escalation
      • Windows Persistence
  • Network Services Pentesting
    • 21-Pentesting FTP
    • 22-Pentesting SSH
    • 23-Pentesting Telnet
    • 53-Pentesting DNS
    • 25,465,587-Pentesting SMTP
    • 110,995-Pentesting POP
    • 139,445-Pentesting SMB
    • 3306-Pentesting MySQL
    • 3389-Pentesting RDP
    • 1433-Pentesting MSSQL-Microsoft SQL Server
    • 389,636,3268,3269-Pentesting LDAP
  • Web Pentesting
    • Broken Access Control
      • Praktiki nümunə
    • OS Command Injection
      • Praktiki nümunə
    • SQL Injection
      • Praktiki nümunə
    • Cross-Site-Scripting (XSS)
      • Praktiki nümunə
    • File Upload
      • Praktiki nümunə
    • Directory Traversal və Path Traversal
      • Praktiki nümunə
    • CSRF
    • XXE
    • Clickjacking
      • Praktiki nümunə
    • SSRF
      • Praktiki nümunə
    • JWT (Json Web Token)
      • Praktiki nümunə
    • Local&Remote File İnclusion
      • Praktiki nümunə
      • Local File inclusion ilə reverse shell almaq
    • 401&403 Bypass
    • Login Bypass
    • Open Redirect
    • Unicode Injection
    • Security Misconfiguration
    • CRLF injection
    • LDAP Injection
    • Cookies Hacking
    • Cross site WebSocket hijacking (CSWSH)
    • SSTI (Server Side Template Injection)
    • CSTI (Client Side Template Injection)
    • XSLT Server Side Injection (Extensible Stylesheet Languaje Transformations)
    • Registration & Takeover Vulnerabilities
    • Regular expression Denial of Service - ReDoS
    • Reset/Forgotten Password Bypass
    • SAML Hücumları
    • Reverse Tab Nabbing
    • Web Tool - WFuzz
    • XPATH enjeksiyonu
    • Server-Side Includes (SSI) Injection
    • Edge Side Inclusion Injection (ESII)
    • Race Condition
    • PostMessage
    • Parameter Pollution
    • Cache Poisoning and Cache Deception
    • Captcha Bypass
  • AD Pentesting
    • Domain Enumeration
      • PowerView ilə enumeration
      • AD Module ilə enumeration
      • BloodHound ilə enumeration
        • On Site BloodHound
      • Using Adalanche
        • Remote adalanche
      • Useful Enumeration Tools
    • Local Privilege Escalation
      • Useful Local Priv Esc Tools
      • UAC Bypass
    • Lateral Movement
      • Powershell Remoting
      • Mimikatz
      • Remote Desktop Protocol
      • URL File Attacks
      • Useful Tools
    • Domain Privilege Escalation
      • Kerberoast
      • ASREPRoast
      • Password Spray Attack
      • Force Set SPN
      • Abusing Shadow Copies
      • List and Decrypt Stored Credentials using Mimikatz
      • Unconstrained Delegation
      • Constrained Delegation
      • Resource Based Constrained Delegation
      • DNSAdmins Abuse
      • Abusing Active Directory-Integraded DNS (ADIDNS) poisoning
      • Abusing Backup Operators Group
      • SID History Abuse
      • Active Directory Certificate Services
    • Domain Persistence
      • Golden Ticket Attack
      • Silver Ticket Attack
      • Skeleton Key Attack
      • DSRM Abuse
      • DCsync Attack
    • Cross Forest Attacks
      • Trust Tickets
      • Abuse MSSQL Servers
      • Breaking Forest Trusts
  • SOC - Cheat Sheet
    • SOC Nədir?
    • SOC Komponentləri Nələrdir?
    • SOC Checklist
    • SIEM
      • Splunk Qurulması və Konfiqurasiyası
    • IDS/IPS
    • Firewall
    • Firewall qurulması və konfiqurasiyası
    • EDR/XDR
    • SOAR
    • Windows Commands for SOC analysts
      • GUI Programs in Windows
      • Event Viewer
      • Task Scheduler
      • Group Policy Editor
      • Device Manager
      • Task Manager
      • Registry Manager
    • Linux Commands for SOC analysts
    • LOLBAS Apps and Commands
      • Apps and Commands
Powered by GitBook
On this page
  • HTTP Parameter Pollution nədir?
  • HTTP Parametr Pollution işləyir?
  • HTTP Parametr Pollution nümunəsi
  • HTTP Parametrləri
  • GET Requests
  • POST Requests
  • PUT/PATCH Requests
  • DELETE Requests
  • HTTP Parametr Pollution Hücumlarının Azaldılması

Was this helpful?

  1. Web Pentesting

Parameter Pollution

HTTP Parameter Pollution nədir?

HTTP Parametr Pollution (HPP) hücumdan yayınma üsuludur ki, bu da təcavüzkara gizli məlumatı manipulyasiya etmək və ya əldə etmək üçün HTTP sorğusu hazırlamağa imkan verir.

Bu texnika hücum vektorunun eyni adlı parametrin çoxsaylı nümunələri arasında bölünməsinə əsaslanır. Müvafiq HTTP RFC-lərinin heç biri HTTP parametrlərinin manipulyasiyasının semantikasını müəyyən etmədiyinə görə, hər bir veb tətbiqi çatdırılma platforması onunla fərqli şəkildə məşğul ola bilər.

Bəzi mühitlər sorğu daxilində parametr adının bütün nümunələrindən götürülmüş dəyərləri birləşdirərək bu cür sorğuları emal edir. Təcavüzkar nümunə əsaslı təhlükəsizlik mexanizmlərini keçmək üçün bu davranışdan sui-istifadə edir.

HTTP Parametr Pollution işləyir?

HPP, çoxlu parametrlərin eyni adı paylaşdığı HTTP sorğularının idarə edilməsində qeyri-müəyyənlikdən istifadə edir. Təcavüzkar hər birində zərərli kodun bir hissəsini ehtiva edən təkrarlanan parametr adları ilə HTTP sorğusu göndərir. Bu sorğuların server tərəfindən işlənməsi onun konfiqurasiyası və xüsusi veb proqram çərçivəsindən asılıdır.

Bəzi serverlər zərərli kodu server tərəfində effektiv şəkildə yenidən yığaraq eyni adlı parametrlərin dəyərlərini qruplaşdırır. Digər serverlər zərərli parametr dəyərlərini zərərli parametrlərin arxasında gizlətmək üçün istifadə edilə bilən təkrarlanan parametrin yalnız birinci və ya sonuncu nümunəsindən istifadə edə bilər.

Zərərli kodu zərərsiz görünən parametrlər daxilində bölmək və gizlətmək qabiliyyəti HPP-ni hücumların həyata keçirilməsi üçün xüsusilə gizli bir texnika edir. O, məlum zərərli nümunələri müəyyən etməyə əsaslanan veb tətbiqi təhlükəsizlik divarı (WAF) və müdaxilənin aşkarlanması sistemi kimi ənənəvi təhlükəsizlik mexanizmlərini keçə bilər. HPP texnikası tətbiqin davranışını manipulyasiya edə bilər, bu da icazəsiz məlumat əldə etməyə, məlumatın açıqlanmasına və ya hətta uzaqdan kodun icrasına səbəb ola bilər.

HTTP Parametr Pollution nümunəsi

Veb tətbiqinin istifadəçiləri müəyyən bir URL-ə yönləndirmək üçün parametrdən istifadə etdiyi bir ssenarini nəzərdən keçirək. Etibarlı sorğu URL-i bu kimi görünə bilər:

http://example.com/home?redirectURL=internalPage

Burada redirectURL parametrinin istifadəçinin yönləndiriləcəyi daxili səhifənin URL-ni ehtiva etməsi gözlənilir.

Təcavüzkar parametr iki dəfə görünməklə çirklənmiş sorğu göndərməklə bunu manipulyasiya edə bilər:

http://example.com/homeredirectURL=internalPage&redirectURL=http://malicious.com

Bu halda, tətbiqin təkrar redirectURL parametri ilə işləməsi SES nəticəsində gözlənilməz nəticəyə səbəb ola bilər. Bəzi serverlər parametr dəyərlərini birləşdirərək, potensial olaraq istifadəçinin nəzərdə tutulan daxili səhifə əvəzinə zərərli xarici vebsayta yönləndirilə biləcəyi boşluq açır. Beləliklə, SES təcavüzkarın sorğunu manipulyasiya etməsinə və təhlükəsizlik mexanizmlərini yan keçməsinə imkan verir.

HTTP Parametrləri

HTTP parametrləri müştəri tərəfi məlumatlarını serverə daşıyan HTTP sorğusunun bir hissəsidir. Onlar HTTP kommunikasiyasının vacib aspektidir və müştəriyə istifadəçi daxiletmə məlumatları kimi əlavə məlumatla sorğunu fərdiləşdirməyə imkan verir.

Aşağıda bir neçə fərqli HTTP parametrləri var:

GET Requests

İstəkləri GET sorğuları verilmiş URL-dən istifadə edərək serverdən məlumat alır. GET sorğusundakı parametrlər URL-ə əlavə olunur. Onlar bərabər işarə ilə ayrılmış açar-dəyər cütləri kimi daxil edilir, ampersand isə hər cütü ayırır. Sual işarəsi bütün parametrlər sətirindən əvvəldir. Məsələn,

http://example.com?page=1 URL-də page=1 GET parametridir.

Konsepsiyanı daha yaxşı izah etmək üçün bir nümunə nəzərdən keçirək. Tutaq ki, bizim onlayn kitab mağazamız var və konkret kitabın təfərrüatlarını əldə etmək istəyirik. GET sorğusu bu kimi görünə bilər:

http://bookstore.com/books?title=ToKillAMockingbird&author=HarperLee

In this example, `http://bookstore.com/books` is the URL to which the request is made. The question mark `?` indicates the start of the parameters. Two parameters are included in this GET request: `title` and `author`. The value of `title` is `ToKillAMockingbird`, and the value of `author` is `HarperLee`. An ampersand separates these parameters `&`.

This GET request asks the server to retrieve the book “To Kill a Mockingbird” by Harper Lee.

POST Requests

POST requests send data to a server to create/update a resource. Unlike GET parameters, POST parameters are sent in the body of the HTTP request, not in the URL. They are typically used for sending large amounts of data, including files, and for data that needs to be secure, like user passwords.

A typical example of a POST request would be creating a new user in a system. If we continue with the online bookstore analogy, suppose we want to add a new user to the system with the username `BookLover101` and password `SecretPassword`.

The POST request might look like this, sent to the URL `http://bookstore.com/users`:

POST / istifadəçilər HTTP/1.1

Ev sahibi: bookstore.com

Məzmun növü: proqram/x-www-form-urlencoded

Məzmun-uzunluq: uzunluq

username=BookLover101&password=SecretPassword

Bu misalda birinci sətir, POST /users HTTP/1.1 POST sorğusunu göstərir. "Host" sorğunun göndərildiyi yerdir. Məzmun növü serverə hansı verilənlərin göndərildiyini bildirir (bu halda, forma məlumatları) və Məzmun uzunluğu əsas məlumatın nə qədər uzun olduğunu müəyyən edir.

Başlıqdan sonra boş bir sətir, sonra sorğunun əsas hissəsidir. Bədəndə POST parametrləri istifadəçi adı və parol, onların müvafiq dəyərləri BookLover101 və SecretPassword var. Bunlar GET parametrləri ilə eyni şəkildə kodlanır: bərabər işarəsi ilə ayrılmış açar-dəyər cütləri və hər bir cüt işarə ilə ayrılır. Server bu sorğunu verilmiş istifadəçi adı və şifrə ilə yeni istifadəçi yaratmaq əmri kimi şərh edəcək.

PUT/PATCH Requests

PUT və PATCH sorğuları POST sorğularına bənzəyir. Onlar həmçinin sorğunun gövdəsinə məlumat göndərirlər. Bununla belə, onlar mövcud resursları yeniləmək üçün istifadə olunur. PUT sorğuları bütün resursu təqdim edilmiş məlumatlarla əvəz edir, PATCH sorğuları isə yalnız parametrlərdə göstərilən hissələri dəyişdirir.

DELETE Requests

DELETE sorğuları xüsusi resursu silmək üçün istifadə olunur. Onlar yalnız resurs identifikatorunu parametr kimi tələb edir, adətən GET sorğularına bənzər URL-ə əlavə olunur.

HTTP Parametr Pollution Hücumlarının Azaldılması

HTTP Parametrlərinin Çirklənməsi (HPP) hücumlarının azaldılması ehtiyatlı kodlaşdırma təcrübələrini, ciddi parametrlərin yoxlanılmasını və yenilənmiş təhlükəsizlik mexanizmlərinin tətbiqini əhatə edir. Burada nəzərə alınmalı bəzi strategiyalar var:

Yalnız məlum parametrləri qəbul edin: Tətbiqinizin yalnız gözlənilən parametrləri qəbul etdiyinə əmin olun. Tanınmamış parametrlər anomaliya kimi qəbul edilməlidir, nəticədə xəta və ya sorğuya məhəl qoyulmur.

Strict Parameter Validation: Bütün daxiletmələri növ, format və diapazon üçün təsdiq edin. Parametrin ədəd olacağı gözlənilirsə, bütün qeyri-rəqəm daxiletmələri rədd edilməlidir.

Tək Parametr Nümunələri: Tətbiqinizi parametrin yalnız birinci instansiyasını qəbul etmək üçün dizayn edin. Hər hansı əlavə hallar nəzərə alınmamalıdır. Bu, təcavüzkarın SES-dən istifadə etmək üçün eyni parametrdən dəfələrlə istifadə etməsinin qarşısını ala bilər.

Giriş sanitarizasiyası: Güclü giriş sanitarlaşdırma rutini həyata keçirin. Bu, istifadəçi girişindən potensial zərərli sətirləri silməyə kömək edəcək.

Təhlükəsizlik Başlıqlarından İstifadə: Kod inyeksiya hücumları riskini azaltmaq üçün Məzmun Təhlükəsizlik Siyasəti kimi təhlükəsizlik başlıqlarından istifadə etməyi düşünün.

Təhlükəsizlik Mexanizmlərini Yeniləyin: Veb tətbiqi təhlükəsizlik duvarlarını, müdaxilənin aşkarlanması sistemlərini və digər təhlükəsizlik müdafiələrini mütəmadi olaraq yeniləyin. Yenilənmiş sistemlər hücumların yeni formalarını tanımaq və bloklamaq ehtimalı daha yüksəkdir.

Müntəzəm Kod Baxışı: Müntəzəm kodun nəzərdən keçirilməsi potensial zəiflikləri istismar edilməzdən əvvəl müəyyən etməyə və yamamağa kömək edə bilər. Imperva ilə HTTP Parametrinin Çirklənməsinin Azaldılması

Imperva Web Application Firewall (WAF) sıfıra yaxın yanlış pozitivlərlə zərərli hücumları dayandırır, qlobal SOC isə vəhşi təbiətdə aşkar edildikdən bir neçə dəqiqə sonra təşkilatınızın ən son hücumlardan qorunmasını təmin edir.

HTTP protokolunun təsdiqi qaydalarını tətbiq etməklə WAF bufer daşması, zərərli kodlaşdırma, HTTP qaçaqmalçılığı və qeyri-qanuni server əməliyyatları daxil olmaqla protokol istismarlarının qarşısını ala bilər. Imperva RFC standartlarına ciddi riayət etməyə imkan verən defolt siyasəti təmin edir, eyni zamanda xüsusi tətbiqlər üçün kiçik dəyişikliklərə icazə verir.

Imperva WAF, kənardan verilənlər bazasına qoruyan hərtərəfli Veb Tətbiq və API Qoruma (WAAP) yığınının əsas komponentidir, ona görə də aldığınız trafik yalnız istədiyiniz trafikdir. Sənayedə ən yaxşı veb-sayt mühafizəsi ilə Imperva OWASP Top 10 əhatə dairəsindən kənara çıxan analitikləri birləşdirən və üçüncü tərəf kodunun yaratdığı riskləri azaldan PCI-yə uyğun, avtomatlaşdırılmış təhlükəsizlik təmin edir.

PreviousPostMessageNextCache Poisoning and Cache Deception

Last updated 1 year ago

Was this helpful?