CyberSecurity - Azərbaycanca
  • Giriş
  • Əməliyyat sistemləri
    • Linux
      • Videolar
      • Giriş
      • Mətnlər üzərində əməliyyatlar
      • İstifadəçilər və Qruplar
      • Səlahiyyət və ya İcazə
      • Proseslər
      • Paketlər
      • Qovluq quruluşu
      • Zamanlanmış tapşırıqlar
      • Servislər
      • Kernel
      • Şəbəkə əmrləri
      • Bash skript dili
      • Vim editoru
    • Windows
      • Fundamentallar
      • İstifadəçilər və Qruplar
      • PowerShell
        • Operatorlar
        • Cmdlet siyahısı
      • PowerShell Skriptləri
      • CMD
  • Penetration Test
    • Subdomain/Domain Takeover
    • IDOR
    • SQL Injection
    • Cross Site Scripting
  • Terminologiya
  • Youtube
Powered by GitBook
On this page
  1. Penetration Test

IDOR

Insecure Direct Object Reference

PreviousSubdomain/Domain TakeoverNextSQL Injection

Last updated 1 month ago

Aşağıda yerləşdirilmiş videoda IDOR-lar haqqında Azərbaycan dilində qısa məlumat ala bilərsiniz.

Digər istifadəçi məlumatlarının birbaşa bizə görünməsi application-da düzgün qurulmuş access control mexanizminin olmamasını göstərir. Əgər bir application-da access control mexanizmləri düzgün qurulmayıbsa orada OWASP siyahısından yaxşı tanıdığımız Broken Access Control tipli boşluqların çıxma ehtimalı çoxdur. Videoda gördüyümüz boşluq da bu kateqoriyaya aiddir. Bu boşluq IDOR adlanır - Insecure Direct Object Reference.

Adından göründüyü kimi boşluq nəzərdə tutulmuş məlumata heç bir səlahiyyət yoxlama mexanizmi olmadan birbaşa əlçatımlılığı təmin edir. Bu əlçatımlılıq zərərverici şəxsin bu məlumatları görməsi, dəyişdirməsi və ya silməsini təmin edə bilər.

IDOR boşluğu urldə və requestin body hissəsindəki parametrlərdə və ya sorğularda göndərilən JSON data daxilində ola bilər.

Tapılan IDOR boşluğunu report edən zaman developerlərə aşağıdakı məsləhətləri verə bilərik:

  • İstifadəçidən gələn requestləri cavablandırmazdan öncə onların bunu etməyə səlahiyyətlərinin olub olmamasını yoxlamaq lazımdır. Bunun üçün müxtəlif növ tokenləri istifadə etmək olar.

  • Deyək ki biz istifadeci İD-si və ya Tranzaksiya idsi olaraq bir data tipi seçməliyik. Belə olan halda asan təxmin oluna bilən dəyərlər əvəzinə təxmin olunması daha çətin olan guid və ya uuid kimi random dəyərlər təyin etmək nisbətən təhlükəsiz hesab olunur. Məsələn istifadəçi İD-sinin 1001 yox, uuid (8596f1d0-20eb-4666-a4b6-30d20fca62dd) olması daha yaxşı seçim olardı.

  • Əlavə olaraq qeyd etmək lazımdır ki ehtiyac olmadığı halda istifadəci ID-lərinin url parametri olaraq göndərilməsi heç də yaxşı üsul deyil. Onu bizim access tokenimiz daxilindən əldə edərək developerlər applicationu daha təhlükəsiz hala gətirə bilərlər. Bu həm də best practice sayılır.

https://www.youtube.com/watch?v=CRQtfrydtwswww.youtube.com
IDOR-lar haqqında video