Уважаемые пользователи форума, убедительно просим вас переходить в телеграмм продавца, исключительно по предоставленной ссылке. Проверяйте продавца, отправив сообщение на электронную почту, чтобы убедиться в том, что вы общаетесь действительно с ним.

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

Тема в разделе "Хакинг. Программирование", создана пользователем TEXHO, 18 янв 2018.

  1. TEXHO

    TEXHO Member

    Сообщения:
    141
    Симпатии:
    0
    Дарова, дегенераты почаны!

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

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

    [​IMG]

    УШЛА ЭПОХА ПРОСТЫХ 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)))+--+
    То увидим кое-что необычное:

    [​IMG]

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

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

    Такие дела.

    © r00t

Поделиться этой страницей