SQLI курс

Discussion in 'Песочница' started by TrueCryptoMan, 17 May 2023.

  1. TrueCryptoMan

    TrueCryptoMan New Member

    Joined:
    15 May 2023
    Messages:
    12
    Likes Received:
    2
    Reputations:
    1
    Приветствую , дорогие читатели , я являюсь автором курса "SQL INJECTION от новичка до профессионала".У меня есть бесплатные статьи , но если вы хотите заниматься со мной в дискорде индивидуально , то почему нет.У меня есть проекты (php машины уязвимые для различных техника time based,blind,error,xpath и др, телеграмм канал с полезными нагрузками и обходами waf)
    Готов поделиться с вами некоторыми статьями.WAF для новичков - https://www.sendspace.com/file/tjbtgu (pdf file)
    Приветствую на моем шестом уроке по SQL INJECTION:lefthand::righthand:
    Это один из самых интересных и важных уроков , т.к тут мы будем уже проверять все полученные знания на практике.В предыдущем уроке я рассказывал , как делать актуальные дорки , чтобы получить список линков , так вот , благодаря этому я и нашел уязвимый польский сайт.К слову с польскими сайтами я работаю в первый раз , никогда они меня не интересовали:)
    Я не один раз говорил , что самая актуальная техника - это BLIND и TIME BASED.Поэтому мы и будем с ней работать на данном ресурсе (я не выбирал , просто такая уязвимость встретилась на 3-х сайтах подряд)
    Для тех , кто не знает , что такое BLIND SQL INJECTION - это когда сайт реагирует по-разному на TRY условие и на FALSE.Соответственно мы будем спрашивать у СУБД , есть ли в названии базы первая буква a,b,c и т.д , потом для таблиц , колонок и содержимого.Это очень долго , поэтому нужно использовать SQLMAP , но он не всегда поможет:dogfacepalm:
    Первое , что нужно сделать - это подобрать обрамление , как это делать я уже рассказывал.У меня в данном случае "
    Поэтому делаем два запроса один TRUE , а другой FALSE
    "AND 1=1 AND "ABC"="ABC" -- - (TRUE) "AND 1=2 AND "ABC"="ABC" -- - (FALSE)
    Теперь вводим первый , а затем второй и смотрим разницу.
    True выводит вот такое содержимое:
    [​IMG]
    False
    [​IMG]
    Просто белая страничка , отлично:roflanebalo:
    Теперь знаем тоже самое , но с помощью burp suite , Т.К нам придется работать именно с ним и нужно видеть разницы по длине.
    Включаем перехватчик:
    [​IMG]
    Отправляем в Repeater
    [​IMG]
    если вы просто перехватите страничку и введете "AND 1=1 AND "ABC"="ABC" -- - , то будет вот такая фиговина:
    [​IMG]
    Вы спросите почему?Мы же сделали все правильно...Да , запрос корректный , но вы не закодировали полезную нагрузку в URL.
    [​IMG]
    выделяем полезную нагрузку и Жмем CTRL + U.И отправляем запрос
    [​IMG]
    Прекрасно , True ОПРЕДЕЛИЛО.Теперь тоже самое , но с FALSE
    [​IMG]
    Ладно с самым простым разобрались , теперь отправляем запрос в intruder
    [​IMG]
    Выделяем место куда мы будем подставлять полезную нагрузку и жмем ADD $
    [​IMG]
    Кодировать самостоятельно ничего не нужно
    [​IMG]
    просто вот тут галочку поставьте и всё.Жмем start
    [​IMG]
    Пустота имеет длину 1115.Фиксируем это:interesting:
    Теперь погнали составлять словарик для проверки символов:finger_up:
    0 1 2 3 4 5 6 7 8 9 q w e r t y u i o p a s d f g h j k l z x c v b n m _
    "and (select 1 from dual where database() like 'a%') -- -
    "and (select 1 from dual where database() like 'b%') -- -
    Слишком долго руками генерировать 37 вариантов для каждой буквы , поэтому давайте для начала определим кол-во символов в названии базы данных.
    _ подчеркивание означает любой символ.
    [​IMG]
    У меня получилось , что название бд 18 символов:fallout_cool:
    Пздц)Устанем подбирать...Ладно погнали.Запускаем наш словарик
    [​IMG]
    Первый символ d
    чутка меняем наш пэйлоад перед буквой , которую мы выделяем добавляем _ (любой символ) то есть любой символ и перебор буквы - это мы перебираем второй символ.И так далее
    Второй символ b
    [​IMG]
    Третий символ 3
    [​IMG]
    Четвертый символ _
    [​IMG]
    Пятый символ d
    [​IMG]
    Я не буду захламлять статью и поэтому после подбора символов полное название бд:db3_doladowania_pl
    Теперь модифицируем запрос и получаем название таблиц:
    awaria
    увеличиваем limit и получаем вторую таблицу
    carts_data

    Всё в пи***у , я устал.Попробуем передать работу sqlmapy:thinking:
    После долгих манипуляций получилось sqlmapy найти скулю.Пришлось запускать через -u и с --level=5 --risk=3.Думаете все хорошо , но нет!
    [​IMG]
    Он сбрутил неправильное название базы данных и из-за этого оказалось 0 таблиц.Я подставил свое название и того 73 таблицы
    [​IMG]
    Если вам понравились статья , то отписывайте в комментариях.Делать ли продолжение?:eek:k_love:

    Если вас интересуют индивидуальные занятия со мной , то пишите мне в лс на форуме античат.Договоримся.Занятия проходят в дискорде в среднем 2-3 часа за урок.Работаем с бд Mysql , вас ждёт много интересного контента.Есть репутация также на других форумах и статьи , если нужно могу их скинуть бесплатно тоже:)Спасибо за внимание
     
    174region174 and grifan like this.