Skip to content

Instantly share code, notes, and snippets.

Created September 14, 2017 15:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/07aa92da5462f109e00af63c93675986 to your computer and use it in GitHub Desktop.
Save anonymous/07aa92da5462f109e00af63c93675986 to your computer and use it in GitHub Desktop.
Sql injection cheat sheet

Sql injection cheat sheet



SQL Injection (SQLi) Cheat Sheet, Attack Examples & Protection
SQL Injection Prevention Cheat Sheet
SQL Injection Cheat Sheet & Tutorial: Vulnerabilities & How to Prevent SQL Injection Attacks

An SQL injection cheat sheet is a resource in which you can find detailed technical information about the many different variants of the SQL Injection vulnerability. This cheat sheet is of good reference to both seasoned penetration tester and also those who are just getting started in web application security. This SQL injection cheat sheet was originally published in by Ferruh Mavituna on his blog. Some of the samples in this sheet might not work in every situation because real live environments may vary depending on the usage of parenthesis, different code bases and unexpected, strange and complex SQL sentences. Samples are provided to allow you to get basic idea of a potential attack and almost every section includes a brief information about itself. Comments out rest of the query. This is very useful in every injection point, especially in SQL Server back ended applications. Get response based on a if statement. These can be quite useful to build up injections which are not using any quotes, bypass any other black listing or determine back end database. A must have function for Blind SQL Injections. SELECT CHAR 64 Union Injections With union you do SQL queries cross-table. Basically you can poison query to return records from another table. You can union results with a known password and MD5 hash of supplied password. In this case application will compare your password and your supplied MD5 hash instead of MD5 from database. MS SQL Server Used. So start with convert then union. Also, you can use insert, update statements or in functions. Insert a file content to a table. Login Credentials are required to use this function. You need to have admin access. Simple ping check configure your firewall or sniffer to identify request before launch it ,. If you have admin access then you can enable these. Fast way to extract data from Error Based SQL Injections. You have to do use Blind SQL Injections attacks to extract data. There are two kind of Blind Sql Injections. This can be an injection a logging function or similar. Not so common, though. This output taken from a real private Blind SQL Injection tool while exploiting SQL Server back ended application and enumerating table names. This requests done for first char of the first table name. SQL queries a bit more complex then requirement because of automation reasons. In we are trying to determine an ascii value of a char via binary search algorithm. This is the way to exploit Blind SQL injections by binary search algorithm. Other well-known way is reading data bit by bit. Both can be effective in different conditions. Second, be careful while using times more than seconds. Basically, we are abusing this command to make MySQL wait a bit. Be careful you will consume web servers limit so fast! If the condition is true, will response after 10 seconds. If is false, will be delayed for one second. This is common hidden layer problem. If application is using name field in an unsafe stored procedure or function, process etc. Can be very useful internal penetration tests. Шпаргалка по SQL-инъекциям создана для сводного описания технических особенностей различных типов уязвимостей SQL-injection. В статье представлены особенности проведения SQL-инъекций в MySQL , Microsoft SQL Server , ORACLE и PostgreSQL. Введение В данной статье вы можете найти подробную техническую информацию о различных видах SQL-инъекций. Она может быть полезна как опытным специалистам, так и новичкам в области ИБ. В настоящий момент памятка содержит информацию только для MySQL, Microsoft SQL Server и некоторые данные для ORACLE и PostgreSQL. Разделы содержат синтаксис, пояснения и примеры инъекций. Строчные комментарии Комментарии, как правило, полезны для игнорирования части запроса. Блочные комментарии С их помощью можно игнорировать часть запроса, заменять пробелы, обходить чёрные списки, определять версию БД. Он позволяет обнаружить версию MySQL. Такой комментарий сработает только в MySQL Примеры: Последовательность запросов Позволяет выполнить более одного запроса за раз. Это полезно в любой точке инъекции. Зелёный — поддерживается; чёрный — не поддерживается; серый — неизвестно. Условные операторы Получим ответ на запрос при выполнении условия. Это один из ключевых пунктов слепой инъекции. Также помогают точно проверить простые вещи. IF condition, true-part, false-part M: Конкатенация строк Операции над строками могут помочь обойти фильтры или определить базу данных. В противном случае MySQL не примет его как логический оператор и вернёт 0. Лучше использовать функцию CONCAT в MySQL. Строки без кавычек Есть несколько способов не использовать кавычки в запросе, например с помощью CHAR MS и CONCAT M. В MySQL есть простой способ представления строки в виде hex-кода: Преобразование строк и чисел. Функция используется для слепых инъекций. Оператор UNION С оператором UNION можно делать запросы к пересечению таблиц. В основном, вы можете отправить запрос, возвращающий значение из другой таблицы. SELECT header, txt FROM news UNION ALL SELECT name, pass FROM members Это позволит объединить результаты из таблиц news и members. Обход проверки подлинности с использованием MD5 Если приложение сначала сравнивает имя пользователя, а потом сравнивает md5-хеш пароля, то вам потребуются дополнительные приёмы для обхода проверки подлинности. Вы можете объединить результаты с известным паролем и его хешем. Продолжайте до тех пор, пока не прекратите получать ошибки. ORDER BY ORDER BY ORDER BY 3— ……………….. Продолжайте, пока не получите сообщение об ошибке. Это укажет на количество столбцов. Определение типа данных Всегда используйте UNION вместе с ALL. Чтобы избавиться от ненужной записи в таблице, используйте -1 любые не существующие значения в начале запроса если инъекция в параметре WHERE. Это важно если вы можете извлекать только одно значение за раз. Используйте NULL в UNION-инъекциях вместо попыток угадать строку, дату, число и прочее. Но будьте аккуратны при слепой инъекции, так как вы можете спутать ошибку БД и самого приложения. Некоторые языки, например ASP. NET, выдают ошибку при использовании значения NULL так как разработчики не ожидали увидеть нулевое значение в поле username Примеры: Если вы не получаете сообщение об ошибке, значит столбец является числовым. Сложная вставка S Позволяет вставить содержимое файла в таблицу. Если вы не знаете внутренний путь web-приложения, вы можете прочитать метабазу IIS только IIS 6. Создать таблицу foo строка типа varchar 2. Удалите временную таблицу и повторите для другого файла. BCP S Записывает текстовый файл. Для этого требуются учётные данные. VBS, WSH в SQL Server S Вы можете использовать VBS, WSH скрипты в SQL Server. Выполнение системных команд S Известный приём, по умолчанию функция отключена в SQL Server Вам необходимы права администратора. Специальные таблицы в SQL Server S Примеры: Несколько хранимых процедур для SQL Server S Синтаксис: MSSQL Bulk Notes Примеры: SQL-инъекция в LIMIT M запросах Пример: SELECT id, product FROM test. Обладая правами администратора, вы можете их включить. Поиск структуры БД в SQL Server S Примеры: Перемещение записей S Примеры: Поиск структуры БД в MySQL M Примеры: Поиск структуры БД в Oracle O Примеры: Слепые инъекции В качественном приложении вы не сможете увидеть сообщения об ошибках. Вы не сможете использовать оператор UNION и Error Based атаки. Вам придётся использовать слепые SQL-инъекции для извлечения данных. Существует два типа слепых инъекций. Вы не увидите никакой разницы в выходных данных. В обычных слепых инъекциях вы можете использовать операторы IF и WHERE, в полностью слепых инъекциях вам нужно использовать некоторые функции ожидания и сравнивать время отклика. Этот пример основан на реальной эксплуатации слепой инъекции на SQL Server. Исходя из двух последних запросов мы точно знаем значение первого символа в ascii — это Таким образом мы можем узнать названия таблиц и их содержимое. Другой способ — читать данные побитово. Полностью слепая инъекция Используйте данный метод только в случае действительно слепой инъекции. Будьте осторожны со временем ожидания. BENCHMARK howmanytimes, do this M Пример: Если условие истинно, отклик будет 10 секунд. В противном случае отклик будет 1 секунду. Полезные функции MySQL Синтаксис: Second Order SQL Injections Обычно, вы вставляете запрос для SQL-инъекции в поле и ожидаете, что он не отфильтруется. Использование SQL Server для извлечения NTLM-хешей Данная атака поможет получить через SQL Server пароль пользователя Windows целевого сервера, если нет доступа извне. Другие примеры инъекций SQL Server: Когда консоль верно угадывает, чего ты хочешь, но все равно хочет, чтобы ее попросили без опечаток. Главная Полезное Ссылки Контакты. SQL Injection Cheat Sheet Шпаргалка по SQL инъекциям What is an SQL Injection Cheat Sheet? About the SQL Injection Cheat Sheet This SQL injection cheat sheet was originally published in by Ferruh Mavituna on his blog. Possibly all other databases Examples; MS means: MySQL and SQL Server etc. Also you can use this to execute some code only if the server is higher than supplied version. Stacked SQL Injection Attack Samples ID: If Statements Get response based on a if statement. CONCAT str1, str2, str3, Bypassing MD5 Hash Check Example MSP Username: Error means you found the number of selected columns. Data types, UNION, etc. By default union tries to get records with distinct. To get rid of unrequired records from left table use -1 or any not exist record search in the beginning of query if injection is in WHERE. This can be critical if you are only getting one result at a time. Use NULL in UNION injections for most data type instead of trying to guess string, date, integer etc. Be careful in Blind situtaions may you can understand error is coming from DB or application itself. Because languages like ASP. BCP S Write text file. SQL Injection in LIMIT M or ORDER MSO SELECT id, product FROM test. Real and a bit Complex Blind SQL Injection Attack Sample This output taken from a real private Blind SQL Injection tool while exploiting SQL Server back ended application and enumerating table names. CPU safe way to make database wait. BENCHMARK howmanytimes, do this Real World Samples Are we root? Out of Band Channel Attacks SQL Server? Шпаргалка по SQL инъекциям Шпаргалка по SQL-инъекциям создана для сводного описания технических особенностей различных типов уязвимостей SQL-injection. CONCAT str1, str2, str3, … M: SELECT CONCAT login, password FROM members 7. SELECT 0x M В MySQL есть простой способ представления строки в виде hex-кода: SELECT CHAR 64 Переводит ASCII-код в соответствующий символ. SELECT header, txt FROM news UNION ALL SELECT name, pass FROM members Это позволит объединить результаты из таблиц news и members Выключение SQL Server S Пример: Этот материал является адаптивным переводом статьи SQL Injection Cheat Sheet. Предыдущая Кастомизация формы битрикс. Следующая Перевод WordPress сайтов с http на https в TimeWeb. Нашли ошибку на сайте? Когда консоль верно угадывает, чего ты хочешь, но все равно хочет, чтобы ее попросили без опечаток Вирус Wanna Cry WanaCry Decrypt0r Минификация html кода в 1С-Битрикс Дневник погоды в городе Домодедово Московская область с по настоящее время Стратегия развития информационного общества до года Метки 0-day Alladin Secret Disk Server NG Android Apple iPhone 5 16Gb Bash class Debian diff EAN13 Google http https javascript js Linux Mail. Ru NSA Penguin PHP Python Samsung Galaxy S4 Zoom SEO Soft Sony Xperia Z ssl timeweb VDS Алгоритмы Война Время Детоксикация Инфобезопасность Комета ЛОР ООП Очищение организма Розетта Рубль Создание сайта Сон Торпедо Фила Хоккей Яндекс арабский язык. Рубрики Bash 2 Bitrix 4 Debian 1 English study 3 Google 11 Javascript 3 Linux 3 MacOS 3 MySQL 2 Netcat 1 PHP 9 Python 2 SEO 17 SMM 1 WordPress 1 Алгоритмы 1 Баги 1 Важное 2 Война 1 День Победы 2 Заметка 1 Здоровье 2 Информационная безопасность 29 История 2 Книги 5 Лингвистика 7 Мобильные технологии 1 Наука 1 Новости 57 Платёжные системы 1 Право 1 Праздник 3 Программирование 15 Психология 1 Сервисы 3 Создание сайта 4 Спорт 1 Финансы 2 Хостинг 2 Цитаты 2 Экономика 3 Яндекс 9. Новости SecurityLab Microsoft устранила серьезную уязвимость в протоколе NTLM Создатель Ethereum предупредил о мошеннических сообщениях, рассылаемых якобы от его имени. Уязвимости SecurityLab Множественные уязвимости в Microsoft Edge Статьи SecurityLab Обход белых списков приложений при помощи BGInfo Продолжая серию публикаций по функциональной безопасности, в сегодняшней статье мы рассмотрим, как количественно оценивается функциональная безопасность на основе статистических данных о случайных отказах аппаратных средств. Основной канал SecurityLab Microsoft устранила серьезную уязвимость в протоколе NTLM Новости wordpress Всемирный день перевода WordPress Конференция WordCamp Moscow Конференция WordCamp Russia WordPress 4. Wordpress news The Month in WordPress: June WordPress 4. Microsoft Office OLE Feature Remote Code Execution Vulnerability The new version, ExTiX The Parrot Security team have announced a new update to their Debian-based, security and penetration testing distribution. The new release, Parrot Security OS 3. Matthew Miller has announced the launch of Fedora The Fedora distribution is available in three editions: Fedora 26 features a new partition manager in the Anaconda system This week in DistroWatch Weekly: New features coming to openSUSE, Tails fixes networking bug, Ubuntu Gathering system information with osqueryReleased last week:


Простейшая схема водоснабжения
Календарный план выполнения мероприятий по гражданской обороне
Мочегонные при мочекаменной болезни
История восстания спартакав древнем риме
Haier t54p тест батареи
Юбка пин ап
Списки дорам 2014
Какие компрессы делаютпри ушибах
Физические и химические методы исследования
Какие классы условий труда существуют
Скачать гта санандрес через
Ихтиофтириоз у рыб лечение
Защита прав многодетных семей
Правило после ц пишется ы или и
Как вывести запах мочи взрослого человека
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment