Авторизация  
TEXHO

Небольшая заметка по error based SQLi [2016]

В теме 1 сообщение

Дарова, ̶ д̶е̶г̶е̶н̶е̶р̶а̶т̶ы̶ почаны!

 

Если вы читаете эту статью, значит она была слита с ****, как слишком низкая по уровню. Ага. В коем-то веке, илита типа вас, может заценить, чо постят клевые пацики на приватном борде... Легальный слив, ога)

 

Общался на днях (два-три месяца назад) с одним, как он себя называет, войт-хуетом. И после недолгого разговора, когда моему собеседнику (и мне тоже) стало совершенно очевидно, кто есть хуй киддис, а кто хуй илита, он добавил меня в ЧС. Ну в общем-то совершенно обыкновенная ситуация, если бы не одно НО. Нашел я в записях у этого товарища следующую вещь:

 

QTCLwK9tTuaY1fWeO42CVQ.png

 

УШЛА ЭПОХА ПРОСТЫХ SQL-ИНЪЕКЦИЙ!!!111

 

Ничоси, заявочка... В общем, решил я проверить столь категоричное утверждение этого молодого человека.

 

И шо вы думаете? Я заметил таки такую весчь... Если мы возьмем следующий кодес:

 

Code:
<?php//NEW$link = new mysqli('localhost', 'root', '', 'someshit');$sql="SELECT * FROM users where id='".$_GET['id']."'";$result = mysqli_query($link, $sql) or print(mysqli_error($link)); //OLD$link = mysql_connect('localhost', 'root', '');mysql_select_db('someshit', $link);$sql="SELECT * FROM users where id='".$_GET['id']."'";$result = mysql_query($sql) or print(mysql_error());
И попробуем провести sql-инъекцию, то практически все будет абсолютно одинаково (что само по себе уже ставит под сомнение слова юного хеккера).

 

Но есть различия в error based инъекциях - если в параметр id мы пихнем всем знакомое

 

test.php?id=-1' OR (SELECT COUNT(*) FROM (SELECT 1 UNION SELECT 2 UNION SELECT 3)x GROUP BY CONCAT(MID(VERSION(), 1, 63), FLOOR(RAND(0)*2)))+--+
То увидим кое-что необычное:

 

xAgauV8JQqWOhKtvE726Hg.png

 

В случае с mysqli данные выводятся как в ошибке php-интерпретатора, так и в выводе ошибок от MySQL. Получается старое расширение было в чем-то даже секьюрнее нового (проверено и на PHP 7.). Те инъекции, что были раньше blind, при бездумном переписывании кода с mysql на mysqli, могут стать error based.

 

Т.е. выходит, новое расширение не только не знаменует конец "эпохи простых SQL-инъекций", но даже в чем то означает начало "эпохи еще более простых SQL-инъекций".

 

Такие дела.

 

© r00t

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация