«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Часть SQL -инъекции: подробное объяснение передовых методов инъекции SQL

Часть SQL -инъекции: подробное объяснение передовых методов инъекции SQL

Опубликовано в 2025-03-12
Просматривать:926

Part SQL Injection Series: Advanced SQL Injection Techniques

Автор: Trix Cyrus

]

Waymap Pentesting Tool: нажмите здесь
] TrixSec GitHub: нажмите здесь
Trixsec Telegram: нажмите здесь

]

] Advanced SQL-инъекции Exploits-Часть 7: передовые методы и профилактика ]

]

Добро пожаловать в часть 7 нашей серии SQL -инъекций! Этот взнос углубляется в расширенные методы инъекции SQL , используемые злоумышленниками, и предоставляет действенные стратегии для их противодействия. По мере развития угроз понимание этих сложных методов имеет решающее значение для того, чтобы оставаться впереди.

]
]

] 1. Усовершенствованные методы впрыска SQL

]

] 1.1. Внеполосная инъекция SQL ]

]

инъекция внеполосной (OOB) используется, когда злоумышленник не может напрямую наблюдать за результатами их полезной нагрузки. Вместо этого они полагаются на DNS или HTTP -запросы на эксфильтрат данных.

]
    ]
  • ] , как это работает : Полезная нагрузка запускает запрос, который отправляет данные на сервер, управляемый злоумышленником. Например:
  • ]
]
  SELECT * FROM users WHERE>



The above payload exploits SQL Server's xp_dirtree to make an outbound DNS request.

  • Real-World Example:

    In 2019, attackers used OOB techniques to bypass traditional defenses and exfiltrate sensitive data from a government database.

  • Mitigation:

    • Block outbound DNS/HTTP requests from the database.
    • Use network monitoring tools to detect unusual outbound traffic.

1.2. Boolean-Based Blind SQL Injection

This method determines true or false conditions based on subtle changes in the application's behavior.

  • Example Payload:
  ' AND 1=1 -- True condition  
  ' AND 1=2 -- False condition  
]

различия в ответе указывают, является ли инъецированное условие истинным или ложным.

]
    ]
  • usage :

    ]
  • ]
  • mititiation :

    ]
      используйте параметризованные запросы или ORM Frameworks.
    • ]
    • развернуть брандмауэры веб -приложения (WAFS) с наборами правил для обнаружения слепых инъекций SQL.
    • ]
    • ]
    ]
  • ]
]
]

1.3. Основанный на времени слепой инъекции SQL ] ]

Этот метод использует задержки для вывода данных. Злоумышленник отмечает, сколько времени сервер требует, чтобы ответить.

]

]
    ]
  • пример Payload : ]
  • ]
выберите, если (1 = 1, Sleep (5), 0); - Задержка ответа на 5 секунд
  SELECT IF(1=1, SLEEP(5), 0); -- Delays response by 5 seconds  
]
  • Влияние:
    Медленные запросы могут нанести ущерб производительности сервера, что приводит к отказу в обслуживании.

    ]
  • ]
  • mititiation :

    ]
      используйте ограничение скорости для блокировки чрезмерных запросов.
    • ]
    • Мониторинг и прекращение продолжительных запросов.
    • ]
    • ]
    ]
  • ]
]
]

1.4. SQL-инъекция второго порядка ] ]

в этом методе злонамеренные полезные нагрузки хранятся в базе данных и запускаются во время последующего действия, таких как обзор администратора.

]

]
    ]
  • пример сценария : ]

    ]
      злоумышленник вставляет эту полезную нагрузку в форму:
    • ]
    • ]
    Роберт'); Drop Table пользователей; -
      SELECT IF(1=1, SLEEP(5), 0); -- Delays response by 5 seconds  
    
    ]
      во время просмотра приложение выполняет сохраненную полезную нагрузку.
    • ]
    • ]
    ]
  • ]
  • mititiation :

    ]
      избежать и дезинфицировать входные данные на каждом этапе, даже во время поиска.
    • ]
    • Используйте неизменные функции базы данных, чтобы предотвратить выполнение вредоносных сценариев.
    • ]
    • ]
    ]
  • ]
]
]

2. Реальные тематические исследования ] ]

]

тематическое исследование 1: уязвимость Magento (CVE-2019-8144) ] ]

инцидент : ]

]
    злоумышленники использовали уязвимость инъекции SQL на основе времени на платформе электронной коммерции Magento.
  • ]
  • они обошли аутентификацию и получили доступ к конфиденциальным данным клиента.
  • ]
  • ]

уроки смягчения : ]

]
    регулярно исправлять программное обеспечение для устранения известных уязвимостей.
  • ]
  • выполните тестирование безопасности на сторонних плагинах и расширениях.
  • ]
  • ]
]

тематическое исследование 2: Shopify (2020 Bug Bounty) ] ]

инцидент : ]

]
    исследователь безопасности определил уязвимость в инъекции OOB SQL в API Shopify, который может утечь конфиденциальные данные через DNS.
  • ]
  • это было поймано до эксплуатации, благодаря программе Shopify's Bug Bounty.
  • ]
  • ]

уроки смягчения : ]

]
    инвестировать в программы Bug Bounty, чтобы поощрять этическую отчетность по уязвимости.
  • ]
  • Используйте шлюзы API для обеспечения строгого проверки запросов.
  • ]
  • ]
]
]

3. Усовершенствованные защитные стратегии ] ]

]

3.1. Динамический анализ запросов ] ]

Используйте инструменты, которые контролируют запросы базы данных для необычных шаблонов или чрезмерной сложности.

]

]
    ]
  • Инструменты: ]
      SQLMAP: чтобы проверить ваши системы.
    • ]
    • Aqua Security или Imperva: для защиты времени выполнения.
    • ]
    • ]
    ]
  • ]
]

3.2. Контекстная проверка ] ]

применение правил проверки на основе контекста:

]

]
    ]
  • login pages : подтвердить учетные данные, чтобы разрешить только буквенно -цифровые значения. ]
  • ]
  • Forms : дезинфицировать входы, чтобы исключить операторы SQL, такие как Select или Union. ]
  • ]
]

3.3. Конфигурации, специфичные для базы данных ] ]

]
    включить функции, такие как
  • режим обнаружения инъекции SQL в MySQL. ]
  • Используйте фильтры SECCOMP в PostGRESQL, чтобы ограничить опасные операции.
  • ]
  • ]
]

3.4. Непрерывное тестирование на проникновение ] ]

]
    смоделировать атаки, чтобы идентифицировать уязвимости, прежде чем злоумышленники.
  • ]
  • автоматизируйте с помощью конвейеров CI/CD, используя такие инструменты, как OWASP ZAP или Burp Suite.
  • ]
  • ]
]
]

4. Практическая задача: моделирование и защита эксплуатации ] ]

]

сценарий ] сайт электронной коммерции позволяет пользователям искать продукты, используя поле ввода. Проверьте и закрепите его.

]

steps

: ] ]

введите полезную нагрузку, чтобы обнаружить уязвимость инъекции SQL:
    ]
  1. ]
  2. 'или' 1 '=' 1 ' -
]
   ' OR '1'='1' --  
, если сайт уязвим, используйте автоматизированные инструменты, такие как SQLMAP для моделирования извлечения данных.
    ]
  1. ]
защитное исправление

: ]

реализовать подготовленные утверждения:
    ]
  • ]
  • $ stmt = $ pdo-> Prepare ("select * из продуктов, где name =: name"); $ stmt-> execute (['name' => $ product_name]);
]
   ' OR '1'='1' --  
проверить ввод, используя строгий шаблон:
    ]
  • ]
  • импорт re pattern = r "^[a-za-z0-9] $" Если не re.match (pattern, user_input): поднять valueError («Неверный вход!»)
]
  import re
  pattern = r"^[a-zA-Z0-9 ] $"
  if not re.match(pattern, user_input):
      raise ValueError("Invalid input!")
]
5. Тенденции в атаках инъекций SQL

] ] ]

5.1. Облачные эксплойты

] ] облачные базы данных все чаще нацелены из-за неправильных конфигураций.

]

]

5.2. Уязвимости API

] ] с подъемом микросервисов плохо разработанные API являются точкой входа для злоумышленников.

]

]

5.3. AI-управляемые атаки

] ] Автоматизированные инструменты используют AI для создания комплексных полезных нагрузок.

]

]

]
final Monds

] ] Эта продвинутая сессия подчеркивает развивающуюся природу инъекции SQL и важность упреждающей защиты. Понимая передовые методы и внедряя надежные меры безопасности, вы можете значительно снизить риск эксплуатации.

]

~ trixsec

]

]
Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/trixsec/how-to-detect-and-defend-against-sql-incement-attacks-part-6-advanced-sql-nection-techniques-20mf?1 Если есть какое-либо нарушение, пожалуйста, свяжитесь с [email protected], чтобы делучить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3