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. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ прямого Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ОБ:
  • 3.2. Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ ОБ:
  • 3.3. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:
  • 3.4. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹:
  • 4. Π’Ρ‹Π²ΠΎΠ΄Ρ‹:
  1. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅
  2. SERVER SIDE

OS Command Injection [Command Execution]

Last updated 1 year ago

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

Π˜Π½ΡŠΠ΅ΠΊΡ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ОБ (Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ shell-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡ) - это ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π²Π΅Π±-бСзопасности, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ОБ) Π½Π° сСрвСрС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ всС Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅.

Атаки с Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π² основном ΠΈΠ·-Π·Π° нСдостаточной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π²ΠΎΠ΄Π°.

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

import os
import sys

file = sys.argv[1]

text = os.system("cat " +  file)

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

Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ страницы, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ довольно схоТа, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, с ΠΊΠ°ΠΊΠΈΠΌ уязвимым Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ.

3.1. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ прямого Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ОБ:

Основной Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ Π² случаС ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ОБ являСтся использованиС встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠΌΠΈ нСльзя ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для выполнСния ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ врСдоносной Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ os.system("mkdir " + dir_name), ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ - os.mkdir(dir_name)

3.2. Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ ОБ:

Экранируя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ капсулируСм Π΅Π³ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ бСзопасный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ os.system. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ экранированиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°, рСкомСндуСтся ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ использования ΠΊΠΎΠΌΠ°Π½Π΄ ОБ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экранирования ΠΊΠΎΠΌΠ°Π½Π΄ ОБ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² PHP-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ escapeshellarg. Π—Π΄Π΅ΡΡŒ функция добавляСт ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ строки ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ/эскСйп всСх ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ строку нСпосрСдствСнно Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ shell ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ СдинствСнный бСзопасный Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

<?php

    system('ls '.escapeshellarg($dir));

?>

3.3. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

Если Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ os Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ΅Π½ (хотя это ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Ρ‚Π°ΠΊ), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹Ρ… уровня. Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ SQLi, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ свою ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

  1. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ: Если Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ структурированныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ автоматичСски ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Ρ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²ΠΎΠ΄Π°: ЗначСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стСпСни ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ для фактичСской ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

  • Π§Ρ‚ΠΎ касаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ Π½Π° соотвСтствиС списку Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

  • Π§Ρ‚ΠΎ касаСтся Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для этих ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ†ΠΈΠΉ: 1. ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²ΠΎΠ΄Π° списка: Π“Π΄Π΅ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. 2. Бписок Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: Π—Π΄Π΅ΡΡŒ задаСтся список бСзопасных, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… символов ΠΈ максимальная Π΄Π»ΠΈΠ½Π° строки. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ мСтасимволы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

& |  ; $ > < ` \ !

ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ рСгулярного выраТСния. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ допускаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчныС Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ Π½Π΅ содСрТит мСтасимволов. Π”Π»ΠΈΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° 3-10 символами: ^[a-z0-9]{3,10}$

Π’ ΠΈΠ΄Π΅Π°Π»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ API/Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для своСго языка. НапримСр (Python): ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ os.system() для Π²Ρ‹Π΄Π°Ρ‡ΠΈ mail ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Python.

Если Ρ‚Π°ΠΊΠΎΠ³ΠΎ API Π½Π΅ сущСствуСт, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ врСдоносных символов. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Π΅ символы, Ρ‡Π΅ΠΌ Π½Π΅Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Π΅.

3.4. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹:

Помимо основных срСдств Π·Π°Ρ‰ΠΈΡ‚Ρ‹, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π²ΠΎΠ΄Π°, рСкомСндуСтся Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹:

  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ привилСгиями, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для выполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡.

  • По возмоТности создавайтС ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ привилСгиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для выполнСния ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

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

ИзбСганиС прямого Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ОБ - это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄. Как ΡƒΠΆΠ΅ стало стандартом, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Π΅Π³ΠΎ экранировании, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅.

πŸ“Ÿ
πŸ–₯️
SQL Injections [SQLi]
XML External Entity Injection [XXE]
Π˜Π½ΡŠΠ΅ΠΊΡ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² дСйствии.