Kraken
  • πŸ™ΠŸΡ€ΠΈΠ²Π΅Ρ‚!
    • πŸ‘‹Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ!
  • βœοΈΠšΡ€ΡƒΠΏΠΈΡ†Ρ‹ Π·Π½Π°Π½ΠΈΠΉ
    • πŸŒšΠžΠ±Ρ‰ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ
      • Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Kali Linux
      • Как ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Kali Linux
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ CVE
      • ΠžΠ±Π·ΠΎΡ€ популярных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ
      • МодСль OSI
      • КакиС Π΅ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ TCP/IP
      • HSTS
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² Π˜Π‘
      • Π‘ΠΊΡ€ΠΈΠΏΡ‚ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… SSL-сСртификата
      • Π¨ΠΈΡ„Ρ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° Kali Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenSSL
      • Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ WPA2
      • О ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ FTP
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ CVSS
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ источника (SOP)
      • О Cross-Origin Resource Sharing (CORS)
      • О Content Security Policy (CSP)
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Bash
      • Π’Π΅Π±-сокСты
      • MITRE ATT&CK
      • Начало Π² OSINT
      • ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ REST
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ API
      • Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ бСзопасности срСды iOS ΠΈ Android
      • CSS Π² Π˜Π‘
    • πŸŽͺΠšΠ°Ρ€ΡŒΠ΅Ρ€Π°
      • КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€ΠΎΠ»ΠΈ Ρƒ пСнтСстСров ΠΈ Π² Ρ‡Π΅ΠΌ ΠΈΡ… смысл
      • КакиС Π΅ΡΡ‚ΡŒ Π²ΠΈΠ΄Ρ‹ пСнтСста
      • Π§Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² пСнтСст
      • КакиС Π΅ΡΡ‚ΡŒ области Π·Π½Π°Π½ΠΈΠΉ Π² Π²Π΅Π±-пСнтСстС
      • Π“Π»Π°Π²Π½Ρ‹Π΅ ошибки Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² Π˜Π‘
    • πŸ˜°Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΠΈ
      • Об Π°Ρ‚Π°ΠΊΠ΅ Pastejaking
      • Об уязвимости KRACK
      • Об уязвимости Regex DoS
      • Об Π°Ρ‚Π°ΠΊΠ΅ MITM
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ дня
      • Атака Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» STP
      • Π—Π°Ρ‰ΠΈΡ‚Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° STP
      • Clickjacking
      • Π‘Π°Π·Π° ΠΏΡ€ΠΈ Π°Ρ‚Π°ΠΊΠ΅ Π½Π° Wi-Fi
      • Атаки ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ
      • DNS Ρ€Π΅Π±Π°ΠΉΠ½Π΄ΠΈΠ½Π³
    • βš™οΈΠ˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • Π›ΡƒΡ‡ΡˆΠΈΠ΅ сканСры ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΈ инструмСнты ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ²
      • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ OWASP ZAP ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ прилоТСния?
      • О Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ WiFi Exploitation Framework (WEF)
      • WeBaCoo β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ доступ ΠΊ Π²Π·Π»ΠΎΠΌΠ°Π½Π½ΠΎΠΌΡƒ Π²Π΅Π±-сСрвСру
      • Socialscan β€” провСряСм использованиС элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈ ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² соцсСтях
      • ΠžΠ±Π·ΠΎΡ€ инструмСнтов Red Team
      • 11 инструмСнтов для сканирования уязвимостСй
      • ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° инструмСнтов для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Ρ‚Π°ΠΊ Π½Π° JWT
      • О Bulk_Extractor
      • О Unicornscan
      • О Maryam
      • О Picocrypt, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ Π΄Π»ΡΒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…
      • АнализируСм Ρ‚Ρ€Π°Ρ„ΠΈΠΊ с ZUI (Zed User Interface)
      • Об инструмСнтС SkipFish
      • Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ увСдомлСния Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΎ Π²Ρ…ΠΎΠ΄Π΅ ΠΏΠΎ SSH
      • О сканСрС OpenSCAP
      • О Censys β€” инструмСнтС для поиска уязвимых ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
      • О Scanless β€” инструмСнтС для Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ сканирования ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ²
      • О SearchSploit β€” инструмСнтС для поиска эксплойтов
      • Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ
      • О Maltego
      • УстанавливаСм ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Snyk CLI Π² Windows
      • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Docker-ΠΎΠ±Ρ€Π°Π·ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Trivy
      • Об инструмСнтС SpiderFoot
      • Π‘ΠΊΠ°Π½ΠΈΡ€ΡƒΠ΅ΠΌ сСти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов Bash
      • О Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Volatility Π½Π° Windows
      • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Ρ‚ΠΈΠΏ WAF с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ WafW00f
      • Об инструмСнтС ReNgine
      • О Foremost β€” инструмСнтС для восстановлСния Π΄Π°Π½Π½Ρ‹Ρ…
      • Chisel β€” инструмСнт для проброса ΠΏΠΎΡ€Ρ‚ΠΎΠ²
      • O Yersinia
      • Об Acunetix
      • O Netcat
      • O Samba
      • O John the Ripper
      • О Common User Passwords Profiler (CUPP)
      • О RainbowCrack
      • Shodan
      • MobSF
      • Netsparker
      • Fortify
      • Veracode
      • Rapid7 InsightVM
      • Aircrack-ng
  • πŸ› οΈΠ˜ΠΠ‘Π’Π Π£ΠœΠ•ΠΠ’Π«
    • βŒ¨οΈΠ‘Π΅ΡΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹Π΅ Π°Ρ‚Π°ΠΊΠΈ
      • Aircrack-Ng
    • πŸ”‘ΠΡ‚Π°ΠΊΠΈ Π½Π° ΠΏΠ°Ρ€ΠΎΠ»ΠΈ
      • Crunch
      • John
      • CUPP
      • Hashcat
      • Hydra
    • πŸ‘οΈΠ‘Π±ΠΎΡ€ Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ
      • Masscan
      • Dnsenum
      • Parsero
      • Nmap
  • πŸ‘¨β€πŸ’»ΠŸΠ΅Π½Ρ‚Π΅ΡΡ‚
    • ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ
    • πŸ–₯️Аппаратный/ЀизичСский доступ
      • ЀизичСскиС Π°Ρ‚Π°ΠΊΠΈ
      • ПобСг ΠΈΠ· КИОБКа
  • πŸ‘ΎMITRE
    • πŸ—ΊοΈΠ’Π°ΠΊΡ‚ΠΈΠΊΠΈ
      • πŸ’ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ
        • Π Π°Π·Π²Π΅Π΄ΠΊΠ°
      • πŸ“±ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства
      • 🏭ICS
    • πŸ’€CTI
      • β˜ οΈΠ“Ρ€ΡƒΠΏΠΏΡ‹
        • admin@338
        • Ajax Security Team
        • ALLANITE
        • Andariel
  • πŸ“ŸΠ‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅
    • πŸ‘¨β€πŸ”¬CLIENT SIDE
      • Cross-Site Scripting [XSS]
      • Cross-Site Request Forgery [CSRF]
      • Clickjacking
      • Open Redirects
    • πŸ–₯️SERVER SIDE
      • SQL Injections [SQLi]
      • XML External Entity Injection [XXE]
      • OS Command Injection [Command Execution]
      • File Upload
      • Server-Side Request Forgery [SSRF]
      • Host Header Injection
      • АутСнтификация
      • Directory Traversal
      • Template Injection [SSTI]
    • API
  • 🐝OWASP
    • Cross Site Scripting (XSS)
Powered by GitBook
On this page
  • 1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅:
  • 2. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ уязвимый ΠΊΠΎΠ΄:
  • 3. БмягчСниС послСдствий:
  • 3.1. Π‘Π΅Π»Ρ‹Π΅ списки Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² HTTP-запросов:
  • 3.2. ΠœΠ΅ΠΆΡΠ΅Ρ‚Π΅Π²Ρ‹Π΅ экраны сСтСвого уровня:
  • 4. Π’Ρ‹Π²ΠΎΠ΄Ρ‹:
  1. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅
  2. SERVER SIDE

Server-Side Request Forgery [SSRF]

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅:

ПоддСлка запросов Π½Π° сторонС сСрвСра (Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ SSRF) - это ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Π΅Π±-бСзопасности, которая позволяСт Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ HTTP-запросы ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ Π΄ΠΎΠΌΠ΅Π½Ρƒ ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°.

ΠŸΡ€ΠΈ стандартной SSRF-Π°Ρ‚Π°ΠΊΠ΅ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСрвСр ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ сСрвисами Π² инфраструктурС ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСрвСр ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ внСшним систСмам, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.

УспСшная Π°Ρ‚Π°ΠΊΠ° SSRF часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСсанкционированным дСйствиям ΠΈΠ»ΠΈ доступу ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π² самом уязвимом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… систСмах, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ SSRF ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

2. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ уязвимый ΠΊΠΎΠ΄:

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ сущСствуСт ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ SSRF. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ рСсурс, располоТСнный ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ $url, Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ санации ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвСром, поддСлывая запрос ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ URL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ‚.

<?php

    /**
    * Check if the 'url' GET variable is set
    *
    * Example request:
    *     http://localhost/?url=http://bobi.io/yakuhito.gif
    */
    if (isset($_GET['url'])){
        $url = $_GET['url'];
        
        /**
        * Send the request to the given
        * $url.
        */
        $image = fopen($url, 'rb');
        
        /**
        * Set the correct response headers.
        */
        header("Content-Type: image/png");
        
        /**
        * Return the content of the image.
        */
        fpassthru($image);
    }
...

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ для выполнСния исходящих запросов с вашСго сСрвСра, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, использованиС сторонних API (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ, созданиС ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Ρ‚.Π΄.), ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΠΉΡ‚ΠΈ способы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ SSRF.

3. БмягчСниС послСдствий:

3.1. Π‘Π΅Π»Ρ‹Π΅ списки Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² HTTP-запросов:

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ являСтся созданиС Π±Π΅Π»ΠΎΠ³ΠΎ списка Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ЗНАЕВЕ, Ρ‡Ρ‚ΠΎ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ.

<?php
    # https://stackoverflow.com/questions/37069635/whitelisting-urls-in-php
    $whitelistDomains = [
        'safedomain.io',
        'anothersafe.com'
    ];
    
    function checkUrl($link, $whitelistDomains)
    {
    
        $urlData = parse_url($link);
    
        $domain = isset($urlData['host'])? $urlData['host'] : $link;
    
        if (in_array($domain,$whitelistDomains)){
            return true;
        }
        else{
            return false;
        }   
    
    }
    /**
    * Check if the 'url' GET variable is set
    *
    * Example request:
    *     http://localhost/?url=http://bobi.io/yakuhito.gif
    */
    if (isset($_GET['url'])){
        $url = $_GET['url'];
        
        /**
        * Validate the given url's domain
        */
        if(!checkUrl($url, $whitelistDomains)) {
            return;
        }
        /**
        * Send the request to the given
        * $url.
        */
        $image = fopen($url, 'rb');
        
        /**
        * Set the correct response headers.
        */
        header("Content-Type: image/png");
        
        /**
        * Return the content of the image.
        */
        fpassthru($image);
    }
...

Π­Ρ‚ΠΎΠ³ΠΎ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, Π²Ρ‹, скорСС всСго, ΡƒΠΆΠ΅ ЗНАЕВЕ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² API. ΠŸΡ€ΠΈ этом Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ для использования SDK (ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния) для этого API ΠΈΠ»ΠΈ просто Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ для этих Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² API Π² самом ΠΊΠΎΠ΄Π΅, Π° Π½Π΅ Π±Ρ€Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° url.

3.2. ΠœΠ΅ΠΆΡΠ΅Ρ‚Π΅Π²Ρ‹Π΅ экраны сСтСвого уровня:

ЦСль Π·Π°Ρ‰ΠΈΡ‚Ρ‹ сСтСвого уровня - Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ VulnerableApplication выполняло Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Для этого прилоТСния Π±ΡƒΠ΄ΡƒΡ‚ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ доступ ΠΊ сСти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΌΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Для опрСдСлСния Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² здСсь Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ брандмауэра, ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство, Ρ‚Π°ΠΊ ΠΈ прСдусмотрСнноС Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ схСмС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Firewall ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ограничСния доступа прилоТСния ΠΈ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, для ограничСния воздСйствия прилоТСния, уязвимого ΠΊ SSRF:

Помимо этого Ρ‚ΠΈΠΏΠ° брандмауэра, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сСтСй.

4. Π’Ρ‹Π²ΠΎΠ΄Ρ‹:

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Π΅Π±-сСрвСры Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ HTTP-запросы, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для выполнСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для использования API ΠΈ Ρ‚. Π΄. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· этого, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ слСдуСт строго ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π±Π΅Π»Ρ‹ΠΉ список Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²/сайтов, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅; это Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ обСспСчСно Π½Π° сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ брандмауэров.

Last updated 1 year ago

πŸ“Ÿ
πŸ–₯️